//Agrega mas cantidad de stock. public ActionResult SumaStock(DtoStock stock) { string NombreUsu = Session["NombreDeUsuario"].ToString(); HStock.getInstace().SumStock(stock, NombreUsu); return(RedirectToAction("AddStock")); }
public static Stock MapToEntity(DtoStock dto) { Stock entity = new Stock(); entity.Ubicacion = dto.Ubicacion; entity.Cantidad = dto.Cantidad; entity.Motivo = dto.Motivo; entity.nombreUsuEmpleado = dto.nombreUsuEmpleado; entity.idProducto = dto.idProducto; return(entity); }
public static DtoStock MapToDto(Stock entity) { DtoStock dto = new DtoStock(); dto.Ubicacion = entity.Ubicacion; dto.Cantidad = entity.Cantidad; dto.Motivo = entity.Motivo; dto.nombreUsuEmpleado = entity.nombreUsuEmpleado; dto.idProducto = entity.idProducto; return(dto); }
public void DeleteStock(DtoStock dto) { double cantidadBaja = (double)dto.Cantidad; double cantResto = 0; Stock stock = new Stock(); int idEmpl; using (AliyavaEntities context = new AliyavaEntities()) { bool existeProducto = context.Stock.Include("Producto").Any(a => a.Producto.codigo_barras == dto.codigoBarras); if (existeProducto) { stock = context.Stock.FirstOrDefault(f => f.Producto.codigo_barras == dto.codigoBarras); stock.Cantidad = (-stock.Cantidad); cantResto = (double)(cantidadBaja - (stock.Cantidad)); stock.Cantidad = cantResto; HistoricoStock hisStock = new HistoricoStock(); hisStock.Cantidad = (double)stock.Cantidad; hisStock.Ubicacion = stock.Ubicacion; hisStock.Motivo = dto.Motivo; hisStock.CantidadAddOBaja = cantidadBaja; idEmpl = context.Empleado.FirstOrDefault(f => f.NombreUsuario == stock.nombreUsuEmpleado).idEmpleado; hisStock.idEmpleado = idEmpl; context.HistoricoStock.Add(hisStock); context.SaveChanges(); if (stock.Cantidad == 0) { context.Stock.Remove(stock); context.SaveChanges(); } else { context.SaveChanges(); } } else { //Mensaje de error sobre "No existe el producto a dar de baja" } } }
public List <DtoStock> getAllStock() { List <DtoStock> colDtoStock = new List <DtoStock>(); using (AliyavaEntities context = new AliyavaEntities()) { List <Stock> colStock = context.Stock.Select(s => s).ToList(); foreach (Stock s in colStock) { DtoStock dto = MStock.MapToDto(s); colDtoStock.Add(dto); } } return(colDtoStock); }
//public void AltaStock(DtoStock dto) //{ // using (AliyavaEntities context = new AliyavaEntities()) // { // using (TransactionScope scope = new TransactionScope()) // { // try // { // Stock nuevoStock = new Stock(); // nuevoStock.idProducto = dto.idProducto; // nuevoStock.Ubicacion = dto.Ubicacion; // nuevoStock.Motivo = dto.Motivo; // nuevoStock.Cantidad = dto.Cantidad; // context.Stock.Add(nuevoStock); // context.SaveChanges(); // scope.Complete(); // } // catch (Exception ex) // { // scope.Dispose(); // } // } // } //} public void SumarStock(DtoStock dto, string NombreUsu) { double cantidadAlta = (double)dto.Cantidad; double cantResto = 0; Stock stock = new Stock(); int idEmpl; using (AliyavaEntities context = new AliyavaEntities()) { bool existeProducto = context.Stock.Include("Producto").Any(a => a.Producto.codigo_barras == dto.codigoBarras); if (existeProducto) { stock = context.Stock.FirstOrDefault(f => f.Producto.codigo_barras == dto.codigoBarras); if (cantidadAlta > 0) { //stock = MStock.MapToEntity(dto); cantResto = (double)(cantidadAlta + stock.Cantidad); stock.Cantidad = cantResto; HistoricoStock hisStock = new HistoricoStock(); hisStock.Cantidad = (double)stock.Cantidad; hisStock.Ubicacion = stock.Ubicacion; hisStock.Motivo = dto.Motivo; hisStock.CantidadAddOBaja = (double)cantidadAlta; idEmpl = context.Empleado.FirstOrDefault(f => f.NombreUsuario == stock.nombreUsuEmpleado).idEmpleado; hisStock.idEmpleado = idEmpl; context.HistoricoStock.Add(hisStock); context.SaveChanges(); } else if (cantidadAlta < 0) { DeleteStock(dto); } } else { using (TransactionScope scope = new TransactionScope()) { Producto pro = context.Producto.FirstOrDefault(f => f.codigo_barras == dto.codigoBarras); try { if (cantidadAlta > 0) { Stock nuevoStock = new Stock(); nuevoStock.Producto = pro; nuevoStock.Ubicacion = dto.Ubicacion; nuevoStock.Motivo = dto.Motivo; nuevoStock.Cantidad = dto.Cantidad; nuevoStock.nombreUsuEmpleado = NombreUsu; context.Stock.Add(nuevoStock); context.SaveChanges(); HistoricoStock hisStock = new HistoricoStock(); hisStock.Cantidad = (double)nuevoStock.Cantidad; hisStock.Ubicacion = nuevoStock.Ubicacion; hisStock.Motivo = nuevoStock.Motivo; hisStock.CantidadAddOBaja = (double)cantidadAlta; idEmpl = context.Empleado.FirstOrDefault(f => f.NombreUsuario == nuevoStock.nombreUsuEmpleado).idEmpleado; hisStock.idEmpleado = idEmpl; context.HistoricoStock.Add(hisStock); context.SaveChanges(); } else { //Error estas tratando de dar de baja cant de producto que no tiene stock. //El producto no tiene stock. } scope.Complete(); } catch (Exception ex) { scope.Dispose(); } } } } }
//public void CreateStock(DtoStock dto) //{ // PStock ps = new PStock(); // ps.AltaStock(dto); //} public void SumStock(DtoStock dto, string NombreUsu) { PStock ps = new PStock(); ps.SumarStock(dto, NombreUsu); }