Пример #1
0
        //OUTRAS FUNÇÕES
        public void MonthlySum(FaturacaoOperador faturacao)
        {
            //Código que vai buscar o ID do funcionário que tem login feito e atribui automaticamente ao contrato
            var funcionario = _context.Users.SingleOrDefault(c => c.Email == User.Identity.Name);

            //DateTime data = DateTime.Today.AddMonths(-1);
            //DateTime dia = DateTime.Today;
            DateTime data          = DateTime.Today.AddMonths(-1);
            var      FisrtDayMonth = new DateTime(data.Year, data.Month, 1);
            var      LastDayMonth  = FisrtDayMonth.AddMonths(1).AddMinutes(-1);
            DateTime dia           = DateTime.Today;
            var      dia1          = new DateTime(dia.Year, dia.Month, 1);
            DateTime finaldia      = dia1.AddMonths(1).AddMinutes(-1);
            var      fat           = _context.FaturacaoOperadors.Where(d => d.Data >= dia1 && d.Data <= finaldia && d.FuncinarioId == funcionario.UsersId)
                                     .SingleOrDefault(c => c.Mes.MesId == data.Month);

            if (fat == null)
            {
                var contratos = _context.Contratos.Where(d => d.DataInicio >= FisrtDayMonth && d.DataInicio <= LastDayMonth && d.FuncionarioId == funcionario.UsersId)
                                .Include(d => d.Funcionario)
                                .Sum(d => d.PrecoContrato);

                faturacao.Data           = DateTime.Today;
                faturacao.FuncinarioId   = funcionario.UsersId;
                faturacao.MesId          = data.Month;
                faturacao.ValorMensalFat = contratos;

                _context.Add(faturacao);
                _context.SaveChanges();
            }
            return;
        }
Пример #2
0
        public async Task <IActionResult> Edit(int id, [Bind("FatOpId,Data,valorMensalFat,MesId,FuncinarioId")] FaturacaoOperador faturacaoOperador)
        {
            if (id != faturacaoOperador.FatOpId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(faturacaoOperador);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!FaturacaoOperadorExists(faturacaoOperador.FatOpId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["MesId"] = new SelectList(_context.Meses, "MesId", "MesId", faturacaoOperador.MesId);
            return(View(faturacaoOperador));
        }
        // GET: OperadorViewModel
        public async Task <IActionResult> Index(int?id, OperadorViewModel operador)
        {
            var   userEmail    = _gestorUtilizadores.GetUserName(HttpContext.User);
            Users infoOperador = await _context.Users.SingleOrDefaultAsync(x => x.Email == userEmail);


            List <Users> melhoresOperadores = await _context.Users.Where(p => p.Tipo.Tipo.Contains("Operador") && p.DistritoId == infoOperador.DistritoId)
                                              .Include(d => d.DistritoNome)
                                              .OrderByDescending(c => c.PrecoContratosFunc)
                                              .ToListAsync();

            int x = 0;

            ListaCanaisViewModel modelo = new ListaCanaisViewModel
            {
                Users = melhoresOperadores,
            };

            foreach (var item in modelo.Users)
            {
                x++;
                item.Posicao = x;
            }


            //var userEmail = _gestorUtilizadores.GetUserName(HttpContext.User);
            //Users infoOperador = await _context.Users.SingleOrDefaultAsync(x => x.Email == userEmail);
            FaturacaoOperador op = await _context.FaturacaoOperadors.SingleOrDefaultAsync(x => x.FuncinarioId == infoOperador.UsersId);



            operador = new OperadorViewModel
            {
                Id                   = infoOperador.UsersId,
                NomeOperador         = infoOperador.Nome,
                DataNascimento       = infoOperador.Data,
                CartaoCidadao        = infoOperador.CartaoCidadao,
                NumeroContribuinte   = infoOperador.Contribuinte,
                Morada               = infoOperador.Morada,
                CodiogoPostal        = infoOperador.CodigoPostal,
                ExtensaoCodigoPostal = infoOperador.CodigoPostalExt,
                Telefone             = infoOperador.Telefone,
                Telemovel            = infoOperador.Telemovel,
                Email                = infoOperador.Email,
                DataRegisto          = infoOperador.DataRegisto,
                DistritoNome         = infoOperador.DistritoNome,
                PrecoContratosFunc   = infoOperador.PrecoContratosFunc,
                Posicao              = infoOperador.Posicao,
                ValorMensalFat       = op.ValorMensalFat,
                Fotografia           = infoOperador.Fotografia,
            };

            return(View(operador));
        }
Пример #4
0
        public async Task <IActionResult> Create([Bind("FatOpId,Data,valorMensalFat,MesId,FuncinarioId")] FaturacaoOperador faturacaoOperador)
        {
            if (ModelState.IsValid)
            {
                _context.Add(faturacaoOperador);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["MesId"] = new SelectList(_context.Meses, "MesId", "MesId", faturacaoOperador.MesId);
            return(View(faturacaoOperador));
        }
Пример #5
0
        //Escolha de mês para ver a faturação
        public IActionResult Contabilizar(FaturacaoOperador faturacao)
        {
            MonthlySum(faturacao);

            return(RedirectToAction("Index", "OperadorViewModel"));
        }