public ActionResult GridAgroquimicosViewPartialAddNew(FTPresupuestoWeb.Models.PreAgroquimicoBaseTotal item) { var model = db.PreAgroquimicoBaseTotal; if (ModelState.IsValid) { try { model.Add(item); db.SaveChanges(); } catch (Exception e) { ViewData["EditError"] = e.Message; } } else { ViewData["EditError"] = "Favor de corregir todos los errores."; } ejercicioCerrado = FTPresupuestoProvider.getVersionPresupuestoEstatus(enumTipoDePresupuesto.AGROQUIMICOS); ViewData["cerrado"] = (ejercicioCerrado ? "S" : "N"); return(PartialView("_GridAgroquimicosViewPartial", model.ToList())); }
public ActionResult GridAgroquimicosViewPartialUpdate(FTPresupuestoWeb.Models.PreAgroquimicoBaseTotal item) { int empresaId = item.Clave_Empresa; int sucursalId = item.Clave_Sucursal; int versionPptoId = (int)item.VersionPresupuestoId; var model = db.PreAgroquimicoBaseTotal .Where(a => a.Clave_Empresa == item.Clave_Empresa && a.Clave_Sucursal == item.Clave_Sucursal && a.VersionPresupuestoId == item.VersionPresupuestoId) .ToList(); if (ModelState.IsValid) { try { bool cambioIncTons = false; var modelItem = model.FirstOrDefault(it => it.Oid == item.Oid); if (modelItem != null) { if (modelItem.PtjeIncEspecificoTons != item.PtjeIncEspecificoTons) { cambioIncTons = true; } modelItem.PtjeIncEspecificoTons = item.PtjeIncEspecificoTons; modelItem.PtjeIncEspecificoMG = item.PtjeIncEspecificoMG; //this.UpdateModel(modelItem); // CALCULA EL PRESUPUESTO modelItem.PresupuestoTons = modelItem.Cantidad * (1m + ((decimal)modelItem.PtjeIncEspecificoTons / 100m)); decimal?importeMargen = modelItem.PrecioVenta * (decimal)modelItem.PorcentajeMargen; decimal?importeSinGanancia = modelItem.PrecioVenta - importeMargen; decimal?precioVenta = modelItem.PrecioVenta; modelItem.PresupuestoMargen = importeMargen; if (modelItem.PtjeIncEspecificoMG != 0d) { precioVenta = importeSinGanancia * (1m + ((decimal)modelItem.PtjeIncEspecificoMG / 100m)); modelItem.PresupuestoMargen = precioVenta * ((decimal)modelItem.PtjeIncEspecificoMG / 100m); } modelItem.PresupuestoVentas = modelItem.PresupuestoTons * precioVenta; // SE INICIALIZA A 0 EL PTJEINCRMENETOGENERALTONS PARA QUE SE SI SE CAMBIA ESE PTJE NO AFECTE EL INCREMENTO INDIVIDUAL if (cambioIncTons) { modelItem.PtjeIncGeneralTons = 0d; } // ACTUALIZA LA BD db.SaveChanges(); } } catch (Exception e) { ViewData["EditError"] = e.Message; } } else { ViewData["EditError"] = "Favor de corregir los errores."; } //var modelRecargado = FTPresupuestoProvider.GetAgroquimicosBaseTotal(empresaId, sucursalId); ejercicioCerrado = FTPresupuestoProvider.getVersionPresupuestoEstatus(enumTipoDePresupuesto.AGROQUIMICOS); ViewData["cerrado"] = (ejercicioCerrado ? "S" : "N"); return(PartialView("_GridAgroquimicosViewPartial", model.OrderBy(x => x.Desc_Familia).ThenBy(x => x.Desc_Producto).ToList())); }