public ActionResult MovsLinUpdate([ModelBinder(typeof(DevExpressEditorsBinder))] MovsLinModel item) { var model = Session[session] as List <MovsLinModel>; try { if (ModelState.IsValid) { var configuracionAplicacion = appService.GetConfiguracion(); var editItem = model.Single(f => f.Id == item.Id); var moneda = Funciones.Qnull(Request.Params["fkmonedas"]); var decimalesmonedas = Funciones.Qint(Request.Params["decimalesmonedas"]); var serviceMonedas = FService.Instance.GetService(typeof(MonedasModel), ContextService); var monedaObj = serviceMonedas.get(moneda) as MonedasModel; editItem.Decimalesmonedas = decimalesmonedas ?? 0; editItem.Id = item.Id; editItem.Orden = item.Orden; editItem.Fkseccionesanaliticas = item.Fkseccionesanaliticas; editItem.Fkcuentas = item.Fkcuentas; editItem.Codigocomentario = item.Codigocomentario; editItem.Comentario = item.Comentario; editItem.Esdebe = (short)(item.Haber.HasValue && item.Haber != 0 ? -1 : 1); if (editItem.Debe != item.Debe) { editItem.Debe = item.Debe; } if (editItem.Haber != item.Haber) { editItem.Haber = item.Haber; } if (item.Esdebe == -1) { editItem.Importe = Decimal.Round(item.Haber ?? 0, item.Decimalesmonedas ?? 0); } else { editItem.Importe = Decimal.Round(item.Debe ?? 0, item.Decimalesmonedas ?? 0); } //editItem.Esdebe = editItem.Esdebe; //editItem.Importe = Decimal.Round(item.Importe , monedaObj.Decimales); editItem.Decimalesmonedas = item.Decimalesmonedas; editItem.Importemonedadocumento = item.Importemonedadocumento; editItem.Conciliado = item.Conciliado; // var service = FService.Instance.GetService(typeof(MovsModel), ContextService) as MovsService; // Session[sessiontotales] = service.Recalculartotales(model, monedaObj.Decimales); Session[session] = model; } } catch (ValidationException) { throw; } return(PartialView("_Movslin", model)); }
public ActionResult MovsLinAddNew([ModelBinder(typeof(DevExpressEditorsBinder))] MovsLinModel item) { var model = Session[session] as List <MovsLinModel> ?? new List <MovsLinModel>(); try { if (ModelState.IsValid) { var max = model.Any() ? model.Max(f => f.Id) : 0; item.Id = max + 1; var moneda = Funciones.Qnull(Request.Params["fkmonedas"]); var serviceMonedas = FService.Instance.GetService(typeof(MonedasModel), ContextService); var serviceCuentas = FService.Instance.GetService(typeof(CuentasModel), ContextService); if (serviceCuentas.exists(item.Fkcuentas)) { //var configuracionAplicacion = appService.GetConfiguracion(); //if (configuracionAplicacion.ComprasUsarCanal && configuracionAplicacion.ComprasCanalObligatorio && string.IsNullOrEmpty(item.Canal)) //{ // ModelState.AddModelError("Canal", string.Format(General.ErrorCampoObligatorio, Movs.Canal)); //} //else //{ var monedaObj = serviceMonedas.get(moneda) as MonedasModel; item.Esdebe = (short)(item.Haber.HasValue && item.Haber != 0 ? -1 : 1); if (item.Esdebe == -1) { item.Importe = Decimal.Round(item.Haber ?? 0, monedaObj.Decimales); } else { item.Importe = Decimal.Round(item.Debe ?? 0, monedaObj.Decimales); } model.Add(item); Session[session] = model; // var service = FService.Instance.GetService(typeof(MovsModel), ContextService) as MovsService; // Session[sessiontotales] = service.Recalculartotales(model, monedaObj.Decimales); // } } else { ModelState.AddModelError("Fkcuentas", Cuentas.ErrorCuentaExistente); } } } catch (ValidationException) { model.Remove(item); throw; } return(PartialView("_Movslin", model)); }