public ActionResult EditarCentroCosto(CentroDeCostoViewModel model) { if (ModelState.IsValid) { try { IRepositoryWrapper _repo = new RepositoryWrapper(); CON_CentrosCostos _cc = _unitOfWork.GetRepositoryInstance <CON_CentrosCostos>() .GetFirstOrDefaultByParameter(s => s.Clave_Empresa == model.EmpresaID && s.Clave_CCostos == model.CentroCostoID); if (_cc == null) { ViewBag.ErrorMessage = "Error al intentar actualizar los datos del centro de costo"; return(View(model)); } _cc.Nombre_CCostos = model.Nombre; PreCentrosCostoConfig _ccConfig = _repo.CentroCostoConfig.FindByFilter(x => x.EmpresaId == model.EmpresaID && x.CentroCostoId == model.CentroCostoID); if (_ccConfig == null) { _ccConfig = new PreCentrosCostoConfig { CentroCostoId = model.CentroCostoID, EmpresaId = model.EmpresaID }; } _ccConfig.PresentaBase = model.PresentaBase; _ccConfig.AfectaPresupuesto = model.AfectaPresupuesto; var resulta = _repo.CentroCostoConfig.AddUpdateCentroCosto(_cc, _ccConfig); if (!resulta.Item1) { throw new Exception(string.Join(Environment.NewLine, resulta.Item2)); } //_unitOfWork.GetRepositoryInstance<CON_CentrosCostos>().Update(_cc); //_unitOfWork.SaveChanges(); return(RedirectToAction("CentrosCosto", "Catalogos")); } catch (Exception ex) { ViewBag.ErrorMessage = ex.Message; } } else { ViewBag.ErrorMessage = "La información es incompleta"; } return(View(model)); }
public ActionResult AgregarCentroCosto(CentroDeCostoViewModel model) { if (ModelState.IsValid) { try { IRepositoryWrapper _repo = new RepositoryWrapper(); if (_unitOfWork.GetRepositoryInstance <CON_CentrosCostos>() .GetExists(s => s.Clave_Empresa == model.EmpresaID && s.Clave_CCostos == model.CentroCostoID)) { ViewBag.ErrorMessage = "La clave de centro de costo ya existe para la empresa seleccionada"; return(View(model)); } CON_CentrosCostos _cc = new CON_CentrosCostos(); _cc.Clave_Division = model.DivisionID; _cc.Clave_Empresa = model.EmpresaID; _cc.Clave_Region = model.RegionID; _cc.Clave_SubRegion = 0; //_suc.Clave_Sucursal = model.SucursalID; _cc.Clave_CCostos = model.CentroCostoID; _cc.Nombre_CCostos = model.Nombre; PreCentrosCostoConfig _ccConfig = new PreCentrosCostoConfig(); _ccConfig.AfectaPresupuesto = model.AfectaPresupuesto; _ccConfig.CentroCostoId = model.CentroCostoID; _ccConfig.EmpresaId = model.EmpresaID; _ccConfig.PresentaBase = model.PresentaBase; var resulta = _repo.CentroCostoConfig.AddUpdateCentroCosto(_cc, _ccConfig); if (!resulta.Item1) { throw new Exception(string.Join(Environment.NewLine, resulta.Item2)); } //_unitOfWork.GetRepositoryInstance<CON_CentrosCostos>().Add(_cc); return(RedirectToAction("CentrosCosto", "Catalogos")); } catch (Exception ex) { ViewBag.ErrorMessage = ex.Message; } } else { ViewBag.ErrorMessage = "La información es incompleta"; } return(View(model)); }