public ActionResult AgregarDevolucionSinTicket(DevolucionSinTicketAgregarViewModel devolucionSinTicketVM) { if (devolucionSinTicketVM.ArticuloID == 0) { ViewBag.Error = "Debe seleccionar un Artículo"; return(View("Agregar", devolucionSinTicketVM)); } //Vuelvo a calcular el monto, porque el usuario pudo haber cambiado los datos luego de //presionar el boton "calcular monto" var Articulo = _articulosServicios.GetOne(devolucionSinTicketVM.ArticuloID); devolucionSinTicketVM.Monto = Articulo.PrecioActualVenta * devolucionSinTicketVM.Cantidad; var DevolucionSinTicket = devolucionSinTicketVM.Mapear(); //Registrar la DevolucionSinTicket if (!_devolucionesSinTicketServicios.Add(DevolucionSinTicket)) { ViewBag.Error = "No se pudo agregar la Nota de Crédito, vuelva a intentarlo"; return(View("Agregar", devolucionSinTicketVM)); } //Sumar al Stock si corresponde if (devolucionSinTicketVM.RegresaAlStock) { int SucursalID = int.Parse(System.Web.HttpContext.Current.Session["SucursalActual"].ToString()); var StockArticuloSucursal = _stockArticuloSucursalServicios.GetOneBySucursal(devolucionSinTicketVM.ArticuloID, SucursalID); StockArticuloSucursal.StockActual += devolucionSinTicketVM.Cantidad; _stockArticuloSucursalServicios.Update(StockArticuloSucursal); } //Registrar el monto en una variable de sesion System.Web.HttpContext.Current.Session["SaldoAFavor"] = devolucionSinTicketVM.Monto; return(RedirectToAction("Agregar", "Ventas")); }
private List <StockArticuloSucursalViewModel> MapearStockArticuloSucursales(Articulo art) { var sucursales = _sucursalesServicios.GetAll(); List <StockArticuloSucursalViewModel> listaVM = new List <StockArticuloSucursalViewModel>(); foreach (var suc in sucursales) { StockArticuloSucursalViewModel sVM = new StockArticuloSucursalViewModel(); sVM.ArticuloID = art.Id; sVM.Articulo = art; sVM.Sucursal = suc; sVM.SucursalID = suc.Id; sVM.StockAgregar = 0; sVM.StockActual = _stockArticuloSucursalServicios.GetOneBySucursal(art.Id, suc.Id).StockActual; listaVM.Add(sVM); } return(listaVM); }