public IActionResult Edit(long?id) { if (!string.IsNullOrEmpty(HttpContext.Session.GetString("User"))) { if (id == null) { return(BadRequest()); } BeneficioColaboradorDTO beneficio = Repository.GetBeneficioColaborador(id.Value); var pessoas = Pessoa_Repository.ListarPessoas(); if (HttpContext.Session.GetString("UserRole") == "Colaborador") { pessoas = pessoas.Where(x => x.Id == Convert.ToInt64(HttpContext.Session.GetString("UserId"))).ToList(); } ViewBag.Pessoas = pessoas; ViewBag.Beneficios = Beneficio_Repository.ListarBeneficios(); if (beneficio == null) { return(NotFound()); } return(View(beneficio)); } else { return(RedirectToAction("NaoAutorizado", "Home", new { area = "" })); } }
public IActionResult Delete(BeneficioColaboradorDTO beneficioColaborador) { BeneficioColaboradorDTO entity = Repository.GetBeneficioColaborador(beneficioColaborador.Id); if (entity != null) { Repository.Delete(beneficioColaborador.Id); Log_Repository.Add(new LogDTO(entity, "Excluído")); TempData["Message"] = "Benefício foi removido"; } return(RedirectToAction("Index")); }
public IActionResult Create(BeneficioColaboradorDTO beneficioColaborador) { var retorno = Validate(beneficioColaborador); if (!string.IsNullOrEmpty(retorno)) { return(BadRequest(retorno)); } Repository.Add(beneficioColaborador); Log_Repository.Add(new LogDTO(beneficioColaborador, "Incluído")); return(RedirectToAction("Index")); }
private string Validate(BeneficioColaboradorDTO beneficio) { var pessoa = Pessoa_Repository.GetPessoa(beneficio.Colaborador.Id); var beneficios = Repository.ListarBeneficiosPorPessoa(beneficio.Colaborador.Id)? .Where(x => x.Id != beneficio.Id)?.Sum(x => x.ValorTotal); if ((pessoa.Cargo.ValorBeneficio - beneficios.Value - beneficio.ValorTotal) < 0) { return("Valor de benefício utilizado é maior do que o disponível!"); } return(string.Empty); }
public void Update(BeneficioColaboradorDTO item) { BeneficioColaborador beneficioColaborador = _context.BeneficiosColaboradores.FirstOrDefault(x => x.Id == item.Id); beneficioColaborador.Quantidade = item.Quantidade; beneficioColaborador.ValorTotal = item.ValorTotal; if (item.Colaborador != null) { beneficioColaborador.ColaboradorId = item.Colaborador.Id; } if (item.Beneficio != null) { beneficioColaborador.BeneficioId = item.Beneficio.Id; } _context.SaveChanges(); }
public IActionResult Details(long?id) { if (!string.IsNullOrEmpty(HttpContext.Session.GetString("User"))) { if (id == null) { return(BadRequest()); } BeneficioColaboradorDTO beneficio = Repository.GetBeneficioColaborador(id.Value); if (beneficio == null) { return(NotFound()); } return(View(beneficio)); } else { return(RedirectToAction("NaoAutorizado", "Home", new { area = "" })); } }
public void Add(BeneficioColaboradorDTO item) { var beneficioColaborador = new BeneficioColaborador { Quantidade = item.Quantidade, ValorTotal = item.ValorTotal }; if (item.Colaborador != null) { beneficioColaborador.ColaboradorId = item.Colaborador.Id; } if (item.Beneficio != null) { beneficioColaborador.BeneficioId = item.Beneficio.Id; } _context.BeneficiosColaboradores.Add(beneficioColaborador); _context.SaveChanges(); }
public IActionResult Edit(BeneficioColaboradorDTO beneficioColaborador) { if (ModelState.IsValid) { var retorno = Validate(beneficioColaborador); if (!string.IsNullOrEmpty(retorno)) { return(BadRequest(retorno)); } var entity = Repository.GetBeneficioColaborador(beneficioColaborador.Id); Repository.Update(beneficioColaborador); #region Log if (entity.Colaborador?.Id != beneficioColaborador.Colaborador?.Id) { var pessoa = Pessoa_Repository.GetPessoa(beneficioColaborador.Colaborador.Id); Log_Repository.Add(new LogDTO(entity, "Alterado", "Colaborador", entity.Colaborador.Nome, pessoa.Nome)); } if (entity.Beneficio?.Id != beneficioColaborador.Beneficio?.Id) { var beneficio = Beneficio_Repository.GetBeneficio(beneficioColaborador.Beneficio.Id); Log_Repository.Add(new LogDTO(entity, "Alterado", "Benefício", entity.Beneficio.Nome, beneficio.Nome)); } if (entity.Quantidade != beneficioColaborador.Quantidade) { Log_Repository.Add(new LogDTO(entity, "Alterado", "Quantidade", entity.Quantidade.ToString(), beneficioColaborador.Quantidade.ToString())); } if (entity.ValorTotal != beneficioColaborador.ValorTotal) { Log_Repository.Add(new LogDTO(entity, "Alterado", "ValorTotal", entity.ValorTotal.ToString(), beneficioColaborador.ValorTotal.ToString())); } #endregion return(RedirectToAction("Index")); } return(View(beneficioColaborador)); }