public static void CostoMantenimiento(double total, string nombre)
 {
     foreach (var item in VehiculosBLL.GetList(x => x.Descripcion == nombre))
     {
         item.TotalMantenimiento += total;
         VehiculosBLL.Modificar(item);
     }
 }
        public static void ModificarBien(Mantenimiento mantenimiento, Mantenimiento MantenimientosAnteriores)
        {
            Contexto contexto            = new Contexto();
            var      Vehiculo            = contexto.Vehiculos.Find(mantenimiento.VehiculoId);
            var      VehiculosAnteriores = contexto.Vehiculos.Find(MantenimientosAnteriores.VehiculoId);

            if (VehiculosAnteriores.VehiculoId != Vehiculo.VehiculoId)
            {
                Vehiculo.TotalMantenimiento            += mantenimiento.Total;
                VehiculosAnteriores.TotalMantenimiento -= MantenimientosAnteriores.Total;
                VehiculosBLL.Modificar(Vehiculo);
                VehiculosBLL.Modificar(VehiculosAnteriores);
            }
        }
        public static bool Modificar(Mantenimiento mantenimiento)
        {
            bool     paso     = false;
            Contexto contexto = new Contexto();

            try
            {
                var MantetAnt = MantenimientoBLL.Buscar(mantenimiento.MantenimientoId);

                ModificarBien(mantenimiento, MantetAnt);

                foreach (var item in MantetAnt.Detalle)
                {
                    contexto.Articulos.Find(item.ArticuloId).Inventario += item.Cantidad;

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

                foreach (var item in mantenimiento.Detalle)
                {
                    contexto.Articulos.Find(item.ArticuloId).Inventario -= item.Cantidad;
                    var estado = item.Id > 0 ? EntityState.Modified : EntityState.Added;
                    contexto.Entry(item).State = estado;
                }

                Mantenimiento MantetAnterior = MantenimientoBLL.Buscar(mantenimiento.MantenimientoId);
                double        modificado     = mantenimiento.Total - MantetAnterior.Total;

                var vehiculo = contexto.Vehiculos.Find(mantenimiento.VehiculoId);
                vehiculo.TotalMantenimiento += modificado;
                VehiculosBLL.Modificar(vehiculo);

                contexto.Entry(mantenimiento).State = EntityState.Modified;
                if (contexto.SaveChanges() > 0)
                {
                    paso = true;
                }
                contexto.Dispose();
            }
            catch (Exception)
            {
                throw;
            }
            return(paso);
        }