예제 #1
0
        public static bool Guardar(Ventas ventas)
        {
            bool     paso = false;
            Contexto db   = new Contexto();

            try
            {
                RepositorioBase <Clientes> cl = new RepositorioBase <Clientes>();

                if (db.Ventas.Add(ventas) != null)
                {
                    string estado = "Vendido";
                    foreach (var item in ventas.Detalle)
                    {
                        db.Vehiculos.Find(item.VehiculoId).Estado = estado;
                    }
                    var cliente = cl.Buscar(ventas.ClienteId);
                    db.Usuarios.Find(ventas.UsuarioId).TotalVentas += ventas.Total;
                    ventas.CalcularMonto();
                    paso = db.SaveChanges() > 0;
                }
            }
            catch (Exception)
            {
                throw;
            }

            finally
            { db.Dispose(); }
            return(paso);
        }
예제 #2
0
        public static bool Modificar(Ventas ventas)
        {
            bool     paso = false;
            Contexto db   = new Contexto();
            Contexto dbb  = new Contexto();

            var anterior = Buscar(ventas.VentaId);
            RepositorioBase <Usuarios> repositorioBase = new RepositorioBase <Usuarios>();

            try
            {
                foreach (var item in anterior.Detalle.ToList())
                {
                    if (!ventas.Detalle.Exists(A => A.VentasDetalleID == item.VentasDetalleID))
                    {
                        ventas.Total         += item.Precio;
                        dbb.Entry(item).State = EntityState.Deleted;
                    }
                    paso = dbb.SaveChanges() > 0;
                }
                foreach (var item in ventas.Detalle)
                {
                    if (item.VentasDetalleID == 0)
                    {
                        ventas.Total        -= item.Precio;
                        db.Entry(item).State = EntityState.Added;
                    }
                    else
                    {
                        db.Entry(item).State = EntityState.Modified;
                    }
                }
                Ventas  v          = new Ventas();
                decimal modificado = ventas.Total - anterior.Total;
                var     Usuario    = repositorioBase.Buscar(ventas.UsuarioId);
                Usuario.TotalVentas += modificado;
                repositorioBase.Modificar(Usuario);

                ventas.CalcularMonto();
                db.Entry(ventas).State = EntityState.Modified;
                paso = db.SaveChanges() > 0;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            { db.Dispose();
              dbb.Dispose(); }
            return(paso);
        }