public void Guardar() { try { using (var ctx = new MardomContext()) { if (this.Id > 0) { ctx.Entry(this).State = EntityState.Modified; } else { ctx.Entry(this).State = EntityState.Added; } ctx.SaveChanges(); } } catch { throw; } }
public void Guardar() { var cantidadDB = 0; var cantidadArticulo = 0; var cantidad = 0; var cantidadTotal = 0; var capacidad = 0; try { using (var ctx = new MardomContext()) { cantidadDB = ctx.Database.SqlQuery <int>("select sum(Cantidad) from Almacen_Articulo where AlmacenId = @id group by AlmacenId", new SqlParameter("id", this.AlmacenId)).FirstOrDefault(); cantidadArticulo = ctx.Database.SqlQuery <int>("SELECT Cantidad FROM Almacen_Articulo WHERE ArticuloId = @id AND AlmacenId = @id2", new SqlParameter("id", this.ArticuloId), new SqlParameter("id2", this.AlmacenId)).FirstOrDefault(); cantidad = this.Cantidad; cantidadTotal = cantidad + cantidadDB; this.Cantidad = cantidadArticulo + cantidad; capacidad = ctx.Almacen.Where(x => x.Id == this.AlmacenId).SingleOrDefault().Capacidad; if (cantidadTotal > capacidad) { throw new MiExcepcion("La cantidad ingresada (" + cantidad + ") excede a la capcidad (" + capacidad + ") del almacen ya que en el mismo" + " hay (" + cantidadDB + ") articulos, o el articulo ya esta asignado en este almacen"); } else { ctx.Entry(this).State = EntityState.Added; ctx.SaveChanges(); } } } catch { throw; } }