コード例 #1
0
        public IActionResult AtualizaSaldo(long?colaborador, long?id)
        {
            var    saldo = 0d;
            double?beneficiosValor;

            if (colaborador.HasValue)
            {
                var pessoa = Pessoa_Repository.GetPessoa(colaborador.Value);

                if (id.HasValue)
                {
                    beneficiosValor = Repository.ListarBeneficiosPorPessoa(colaborador.Value)?.
                                      Where(x => x.Id != id)?.Sum(x => x.ValorTotal);
                }
                else
                {
                    beneficiosValor = Repository.ListarBeneficiosPorPessoa(colaborador.Value)?.Sum(x => x.ValorTotal);
                }

                if (pessoa != null)
                {
                    saldo = pessoa.Cargo.ValorBeneficio - beneficiosValor.Value;
                }
            }

            return(new JsonResult(saldo));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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));
        }