public JsonResult ActualizarPresupuesto(int idCategoria, Decimal Monto) { if (!this.currentUser() || !isAdministrator()) { return Json(false, JsonRequestBehavior.AllowGet); } CategoriaBL objBL = new CategoriaBL(); EmpresaBL empBL = new EmpresaBL(); int pPeriodo = empBL.getEmpresa(getCurrentUser().IdEmpresa).IdPeriodo.GetValueOrDefault(); if (pPeriodo == 0) { return Json(false, JsonRequestBehavior.AllowGet); } CategoriaPorPeriodoDTO dto = new CategoriaPorPeriodoDTO() { IdCategoria = idCategoria, IdPeriodo = pPeriodo, Monto = Monto }; objBL.updatePresupuesto(dto); return Json(true, JsonRequestBehavior.AllowGet); }
public bool updatePresupuesto(CategoriaPorPeriodoDTO dto) { using (var context = getContext()) { try { var row = context.Categoria.Where(x => x.IdCategoria == dto.IdCategoria).SingleOrDefault(); if(row.CategoriaPorPeriodo.Where(x => x.IdPeriodo == dto.IdPeriodo).Count() == 0) { CategoriaPorPeriodo novo = new CategoriaPorPeriodo() { IdCategoria = dto.IdCategoria, IdPeriodo = dto.IdPeriodo, Monto = dto.Monto }; row.CategoriaPorPeriodo.Add(novo); } else { row.CategoriaPorPeriodo.Where(x => x.IdPeriodo == dto.IdPeriodo).Single().Monto = dto.Monto; } context.SaveChanges(); //Actualizacion de Padres int pPadreCategoria = getCategoria(dto.IdCategoria).IdCategoriaPadre.GetValueOrDefault(); if(pPadreCategoria != 0) { context.SP_ActualizarPresupuestoPadre(pPadreCategoria, dto.IdPeriodo); } return true; } catch (Exception e) { throw e; } } }