public ActionResult TarifasLinUpdate([ModelBinder(typeof(DevExpressEditorsBinder))] TarifasLinModel item) { var model = Session[session] as TarifasModel; try { if (ModelState.IsValid) { var editItem = model.Lineas.Single(f => f.Fkarticulos == item.Fkarticulos); if (model.Precioobligatorio && !item.Precio.HasValue && item.Precio.Value == 0.0) { ModelState.AddModelError("Precio", string.Format(General.ErrorCampoObligatorio, Tarifas.Precio)); return(PartialView("_listadotarifas", model)); } var serviceEmpresa = FService.Instance.GetService(typeof(EmpresaModel), ContextService); var empresa = serviceEmpresa.get(ContextService.Empresa) as EmpresaModel; editItem.Precio = Math.Round(item.Precio ?? 0, empresa.Decimalesprecios ?? 2); editItem.Descuento = item.Descuento; Session[session] = model; } } catch (ValidationException) { throw; } return(PartialView("_listadotarifas", model)); }
public ActionResult TarifasLinAddNew([ModelBinder(typeof(DevExpressEditorsBinder))] TarifasLinModel item) { var model = Session[session] as TarifasModel; try { if (ModelState.IsValid) { if (model.Lineas.Any(f => f.Fkarticulos == item.Fkarticulos)) { ModelState.AddModelError("Codigovariedad", string.Format(General.ErrorRegistroExistente)); } else { if (model.Precioobligatorio && !item.Precio.HasValue && item.Precio.Value == 0.0) { ModelState.AddModelError("Precio", string.Format(General.ErrorCampoObligatorio, Tarifas.Precio)); return(PartialView("_listadotarifas", model)); } var service = FService.Instance.GetService(typeof(UnidadesModel), ContextService); var serviceFamilia = FService.Instance.GetService(typeof(FamiliasproductosModel), ContextService); var serviceEmpresa = FService.Instance.GetService(typeof(EmpresaModel), ContextService); var empresa = serviceEmpresa.get(ContextService.Empresa) as EmpresaModel; var familiaObj = serviceFamilia.get(item.Fkarticulos.Substring(0, 2)) as FamiliasproductosModel; var unidadesObj = service.get(familiaObj.Fkunidadesmedida) as UnidadesModel; item.Unidades = unidadesObj.Codigounidad; item.Precio = Math.Round(item.Precio ?? 0, empresa.Decimalesprecios ?? 2); model.Lineas.Add(item); Session[session] = model; } } } catch (ValidationException) { model.Lineas.Remove(item); throw; } return(PartialView("_listadotarifas", model)); }