예제 #1
0
        public ContrachequeViewModel GetById([FromServices] DesafioStoneEntities context, int id)
        {
            var negocio      = new ContrachequeNegocio();
            var contracheque = negocio.GerarContracheque(context, id, "Janeiro");

            return(contracheque);
        }
        public async Task <ActionResult <List <FuncionarioViewModel> > > Get(
            [FromServices] DesafioStoneEntities context)
        {
            var funcionarios = await context.Funcionarios.ToListAsync();

            return(funcionarios);
        }
        public ContrachequeViewModel GerarContracheque([FromServices] DesafioStoneEntities context, int IdFuncionario, string MesReferencia)
        {
            var model       = new ContrachequeViewModel();
            var funcionario = context.Funcionarios.Find(IdFuncionario);
            List <LancamentosViewModel> list = new List <LancamentosViewModel>();

            model.IdFuncionario   = IdFuncionario;
            model.MesReferencia   = MesReferencia;
            model.NomeFuncionario = funcionario.Nome;
            model.SalarioBruto    = funcionario.SalarioBruto;
            model.TotalDesconto   = RetornarTotalDescontos(funcionario, list);
            model.SalarioLiquido  = funcionario.SalarioBruto + model.TotalDesconto;
            model.Lancamentos     = list;
            return(model);
        }
        public async Task <ActionResult <FuncionarioViewModel> > Post(
            [FromServices] DesafioStoneEntities context,
            [FromBody] FuncionarioViewModel model)
        {
            if (ModelState.IsValid)
            {
                context.Funcionarios.Add(model);

                if (!Utils.RetornarDocumentoValido(model.Documento))
                {
                    Console.Error.WriteLine("Documento inválido.");
                    return(null);
                }

                await context.SaveChangesAsync();

                return(model);
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
        public async Task <FuncionarioViewModel> GetById([FromServices] DesafioStoneEntities context, int id)
        {
            var funcionario = await context.Funcionarios.FindAsync(id);

            return(funcionario);
        }