public void Eliminar() { var contar = 0; try { using (var ctx = new MardomContext()) { contar = ctx.Database.SqlQuery <int>("SELECT COUNT(ArticuloId) FROM Almacen_Articulo WHERE ArticuloId = @id", new SqlParameter("id", this.Id)).FirstOrDefault(); if (contar <= 0) { ctx.Database.ExecuteSqlCommand("DELETE FROM Marca_Articulo WHERE ArticuloId = @id", new SqlParameter("id", this.Id)); ctx.Database.ExecuteSqlCommand("DELETE FROM Proveedor_Articulo WHERE ArticuloId = @id", new SqlParameter("id", this.Id)); ctx.SaveChanges(); ctx.Entry(this).State = EntityState.Deleted; ctx.SaveChanges(); } else { throw new MiExcepcion("Este articulo no es posible eliminarlo porque se ha sido registrado en algun(os) almacen(es)"); } } } catch { throw; } }
public void Eliminar() { var contar = 0; try { using (var ctx = new MardomContext()) { contar = ctx.Database.SqlQuery <int>("SELECT COUNT(MarcaId) FROM Articulo WHERE MarcaId = @id", new SqlParameter("id", this.Id)).FirstOrDefault(); if (contar <= 0) { ctx.Entry(this).State = EntityState.Deleted; ctx.SaveChanges(); } else { throw new MiExcepcion("Esta Marca no es posible eliminarla porque hay articulos con ella"); } } } catch { throw; } }
public void Entrar() { var cantidadDB = 0; var cantidadArticulo = 0; var cantidad = 0; var cantidadTotal = 0; var capacidad = 0; try { using (var ctx = new MardomContext()) { //cantidadDB = ctx.Almacen_Articulo.Where(x => x.ArticuloId == this.ArticuloId && x.AlmacenId == this.AlmacenId).SingleOrDefault().Cantidad; 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 soportada por este almacen es " + capacidad + " articulos y este cuenta con " + cantidadDB + " articulos debe ingresar una cantidad menor" + cantidad); } else { ctx.Entry(this).State = EntityState.Modified; ctx.SaveChanges(); ctx.Database.ExecuteSqlCommand("INSERT INTO Movimientos VALUES(@articuloId, @almacenId, @cantidad, @tipoMovimiento, @fecha)", new SqlParameter("articuloId", this.ArticuloId), new SqlParameter("almacenId", this.AlmacenId), new SqlParameter("cantidad", cantidad), new SqlParameter("tipoMovimiento", 1), new SqlParameter("fecha", DateTime.Now)); } } } catch { throw; } }
public void Guardar() { try { using (var ctx = new MardomContext()) { if (this.Id > 0) { ctx.Entry(this).State = EntityState.Modified; ctx.Database.ExecuteSqlCommand("DELETE FROM Marca_Articulo WHERE ArticuloId = @id", new SqlParameter("id", this.Id)); ctx.Database.ExecuteSqlCommand("INSERT INTO Marca_Articulo VALUES(@articuloId, @marcaId)", new SqlParameter("articuloId", this.Id), new SqlParameter("marcaId", this.MarcaId)); ctx.Database.ExecuteSqlCommand("DELETE FROM Proveedor_Articulo WHERE ArticuloId = @id", new SqlParameter("id", this.Id)); ctx.Database.ExecuteSqlCommand("INSERT INTO Proveedor_Articulo VALUES(@articuloId, @ProveedorId)", new SqlParameter("articuloId", this.Id), new SqlParameter("ProveedorId", this.ProveedorId)); } else { ctx.Entry(this).State = EntityState.Added; ctx.SaveChanges(); ctx.Database.ExecuteSqlCommand("INSERT INTO Marca_Articulo VALUES(@articuloId, @marcaId)", new SqlParameter("articuloId", this.Id), new SqlParameter("marcaId", this.MarcaId)); ctx.Database.ExecuteSqlCommand("INSERT INTO Proveedor_Articulo VALUES(@articuloId, @ProveedorId)", new SqlParameter("articuloId", this.Id), new SqlParameter("ProveedorId", this.ProveedorId)); } 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; } }
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; } }