public async Task <IActionResult> Edit(string id, [Bind("CoUsuario,NoUsuario,DsSenha,CoUsuarioAutorizacao,NuMatricula,DtNascimento,DtAdmissaoEmpresa,DtDesligamento,DtInclusao,DtExpiracao,NuCpf,NuRg,NoOrgaoEmissor,UfOrgaoEmissor,DsEndereco,NoEmail,NoEmailPessoal,NuTelefone,DtAlteracao,UrlFoto,InstantMessenger,Icq,Msn,Yms,DsCompEnd,DsBairro,NuCep,NoCidade,UfCidade,DtExpedicao")] CaoUsuario caoUsuario)
        {
            if (id != caoUsuario.CoUsuario)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(caoUsuario);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CaoUsuarioExists(caoUsuario.CoUsuario))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(caoUsuario));
        }
        public async Task <IActionResult> Create([Bind("CoUsuario,NoUsuario,DsSenha,CoUsuarioAutorizacao,NuMatricula,DtNascimento,DtAdmissaoEmpresa,DtDesligamento,DtInclusao,DtExpiracao,NuCpf,NuRg,NoOrgaoEmissor,UfOrgaoEmissor,DsEndereco,NoEmail,NoEmailPessoal,NuTelefone,DtAlteracao,UrlFoto,InstantMessenger,Icq,Msn,Yms,DsCompEnd,DsBairro,NuCep,NoCidade,UfCidade,DtExpedicao")] CaoUsuario caoUsuario)
        {
            if (ModelState.IsValid)
            {
                _context.Add(caoUsuario);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(caoUsuario));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Index(PeriodoConsultores periodoConsultores)
        {
            if (periodoConsultores.ConsultIds == null || periodoConsultores.ConsultIds.Count() == 0)
            {
                ModelState.AddModelError("ConsultIds", "Por favor seleccione los consultores");
            }

            if (ModelState.IsValid)
            {
                int months = (periodoConsultores.ToDate.Year - periodoConsultores.FromDate.Year) * 12 + periodoConsultores.ToDate.Month - periodoConsultores.FromDate.Month;

                List <ConsultoresPeriodos> consultores = new List <ConsultoresPeriodos>();
                foreach (var consult in periodoConsultores.ConsultIds)
                {
                    string     nombre  = string.Empty;
                    CaoUsuario usuario = await _context.CaoUsuario.Where(x => x.CoUsuario == consult).FirstOrDefaultAsync();

                    if (usuario != null)
                    {
                        nombre = usuario.NoUsuario;
                    }

                    ConsultoresPeriodos consultor = new ConsultoresPeriodos();
                    consultor.Nombre = nombre;

                    for (int i = 0; i < months + 1; i++)
                    {
                        DateTime FromDate = periodoConsultores.FromDate.AddMonths(i);
                        //Se cambia al ultimo dia del mismo mes
                        DateTime ToDate = new DateTime(FromDate.Year, FromDate.Month, DateTime.DaysInMonth(FromDate.Year, FromDate.Month));

                        var osList =
                            from fa in _context.CaoFatura
                            join os in _context.CaoOs on fa.CoOs equals os.CoOs
                            join us in _context.CaoUsuario on os.CoUsuario equals us.CoUsuario
                            where us.CoUsuario == consult && fa.DataEmissao >= FromDate && fa.DataEmissao <= ToDate
                            select(new
                        {
                            facId    = fa.CoFatura,
                            valor    = fa.Valor * (1 - fa.TotalImpInc / 100),
                            comision = fa.Valor * (1 - fa.TotalImpInc / 100) * (fa.ComissaoCn / 100)
                        });

                        float ganancias  = 0;
                        float comisiones = 0;
                        foreach (var item in osList)
                        {
                            ganancias  += item.valor;
                            comisiones += item.comision;
                        }

                        CaoSalario salarioConsultor = await _context.CaoSalario.Where(x => x.CoUsuario == consult).FirstOrDefaultAsync();

                        float salario = 0;
                        if (salarioConsultor != null)
                        {
                            salario = salarioConsultor.BrutSalario;
                        }

                        float lucro = ganancias - salario - comisiones;

                        ConsultorPeriodo periodo = new ConsultorPeriodo
                        {
                            Periodo    = FromDate.ToString("MMM yyyy"),
                            Ganancias  = ganancias,
                            Comisiones = comisiones,
                            Salario    = salario,
                            Lucro      = lucro
                        };
                        consultor.Periodos.Add(periodo);
                        consultor.TotalGanancias  += periodo.Ganancias;
                        consultor.TotalComisiones += periodo.Comisiones;
                        consultor.TotalSalario    += periodo.Salario;
                        consultor.TotalLucro      += periodo.Lucro;
                    }
                    consultores.Add(consultor);
                }

                HttpContext.Session.SetObjectAsJson(CookieConsultores, consultores);

                return(PartialView("_Consultores", consultores));
            }
            return(View(periodoConsultores));
        }
 public void Delete(CaoUsuario entity)
 {
     throw new NotImplementedException();
 }