none
sumar linq productos precio por cantidad RRS feed

  • Pregunta

  • hola buenas tardes programadores tengo una aplicacion en c# entity framework sql 2014 tengo un formulario pedidos  resulta que necesito devolver un producto comanda_detalle 

    lo pretendo es hacer me calcule precio * cantidad para que me de el importe = montoTotal

    var coma = repository.FindEntity<Comanda>(x => x.IdComanda == comanda.IdComanda, "Comanda_Detalles");
                    var totalventas = repository.FindEntitySet<Comanda_Detalle>(x => x.IdComanda == comanda.IdComanda).Sum(x => x.Precio * x.Cantidad);
                    if (coma != null)
                    {
    
                        coma.MontoTotal = totalventas;
                        repository.Update<Comanda>(coma);
                    }


    Comanda
    
    SELECT [IdComanda]
          ,[Fecha]
          ,[MontoTotal]
          ,[IdMesa]
    
      FROM [dbo].[Comandas]
    comanda_detalle
    
    SELECT [IdDetalle]
          ,[IdComanda]
          ,[IdProducto]
          ,[NombreProducto]
          ,[Precio]
          ,[Cantidad]
    from Comanda_Detalle

    codigo devolucion completo

     public bool DevolverItem(Comanda comanda, Comanda_Detalle detalle)
            {
                DAL.IUnitOfWork repository = new Modelo.RepositoryUoW();
                bool Result = false;
                try
                {
                   
                    var comandas = repository.FindEntity<PRODUCTO>(x => x.IdProducto == detalle.IdProducto);
                    if (comandas != null)
                    {
                        if (comandas.CalcularStock)
                        {
                            comandas.Stock = comandas.Stock + detalle.Cantidad;
                            repository.Update<PRODUCTO>(comandas);
                        }
    
                       
                        var devolucion = new Devolucion();
                      
                        devolucion.Cantidad = detalle.Cantidad;
                        devolucion.Fecha = comanda.Fecha;
                        devolucion.IdComanda = detalle.IdComanda;
                        devolucion.IdDetalle = detalle.IdDetalle;
                        devolucion.IdMesa = comanda.IdMesa;
                                        
                        devolucion.IdProducto = detalle.IdProducto;
                
                                         devolucion.NombreProducto = 
                        devolucion.Precio = detalle.Precio; 
                       
                        repository.Create<Devolucion>(devolucion);
                    }
                    // codigo no calcula 
                    var coma = repository.FindEntity<Comanda>(x => x.IdComanda == comanda.IdComanda, "Comanda_Detalles");
                    var totalventas = repository.FindEntitySet<Comanda_Detalle>(x => x.IdComanda == comanda.IdComanda).Sum(x => x.Precio * x.Cantidad);
                    if (coma != null)
                    {
    
                        coma.MontoTotal = totalventas;
                        repository.Update<Comanda>(coma);
                    }
    
    
                    repository.Delete<Comanda_Detalle>(detalle);
                    repository.Save();
                    Result = true;
                    return Result;
                   
    
                }
                catch (Exception ex)
                {
    
                    throw new Exception(ex.Message);
                }
            }
    

    sábado, 1 de junio de 2019 21:42

Respuestas