Esempio n. 1
0
        public static bool GetList(Expression <Func <Factura, bool> > criterio, bool relaciones)
        {
            using (var db = new Repositorio <Factura>())
            {
                if ((facturaReturnedList = db.GetList(criterio)) != null)
                {
                    if (relaciones)
                    {
                        foreach (var factura in facturaReturnedList)
                        {
                            ClientesBLL.Buscar(x => x.ClienteId == factura.ClienteId, false);
                            FormasDePagosBLL.Buscar(x => x.FormaDePagoId == factura.FormaDePagoId);
                            factura.FormaDePago = FormasDePagosBLL.formaDePagoReturned;
                            factura.Cliente     = ClientesBLL.clienteReturned;
                            factura.Productos.Count();
                            facturaReturned.Pagos.Count();

                            foreach (var producto in factura.Productos)
                            {
                                int id = producto.ProductoId;
                                ProductosBLL.Buscar(x => x.ProductoId == id, true);
                                producto.Producto = ProductosBLL.productoReturned;
                            }
                        }
                    }
                    return(true);
                }
                return(false);
            }
        }
Esempio n. 2
0
        public static void Modificar(Clientes cliente)
        {
            var db = new Parcial2Db();

            db.Entry(cliente).State = EntityState.Modified;
            db.SaveChanges();
            Lista = ClientesBLL.GetLista();
            Lista = GetLista();
        }
        public static bool Modificar(Facturas Factura)
        {
            bool     paso     = false;
            Contexto contexto = new Contexto();



            try
            {
                var factura = FacturasBLL.Buscar(Factura.FacturaId);


                if (factura != null)
                {
                    foreach (var item in factura.Detalle)
                    {
                        contexto.Ropa.Find(item.RopaId).Inventario += item.Cantidad;



                        if (!Factura.Detalle.ToList().Exists(v => v.Id == item.Id))
                        {
                            item.Ropas = null;
                            contexto.Entry(item).State = EntityState.Deleted;
                        }
                    }


                    foreach (var item in Factura.Detalle)
                    {
                        contexto.Ropa.Find(item.RopaId).Inventario -= item.Cantidad;



                        var estado = item.Id > 0 ? EntityState.Modified : EntityState.Added;
                        contexto.Entry(item).State = estado;
                    }



                    Facturas Anterior = FacturasBLL.Buscar(Factura.FacturaId);


                    //identificar la diferencia ya sea restada o sumada
                    decimal diferencia;

                    diferencia = Factura.Devuelta - Anterior.Devuelta;

                    //aplicar diferencia al inventario
                    Clientes Cliente = ClientesBLL.Buscar(Factura.ClienteId);
                    Cliente.Devuelta += diferencia;
                    ClientesBLL.Modificar(Cliente);



                    contexto.Entry(Factura).State = EntityState.Modified;
                }



                if (contexto.SaveChanges() > 0)
                {
                    paso = true;
                }
                contexto.Dispose();
            }
            catch (Exception) { throw; }
            return(paso);
        }