예제 #1
0
        public async Task <IActionResult> Create([Bind("IdFatura,IdContrato,Data,DataLimitePagamento,Descricao,PrecoTotal")] Fatura fatura)
        {
            if (ModelState.IsValid)
            {
                _context.Add(fatura);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IdContrato"] = new SelectList(_context.Contrato, "IdContrato", "MoradaFaturacao", fatura.IdContrato);
            return(View(fatura));
        }
예제 #2
0
        public async Task <IActionResult> Create([Bind("IdContrato,IdCliente,IdPacoteComercialPromocao,DataInicioContrato,MoradaFaturacao,DataFidelizacao,PrecoBaseInicioContrato")] Contrato contrato)
        {
            if (ModelState.IsValid)
            {
                var operador = await _context.Utilizador.SingleOrDefaultAsync(o => o.Email == User.Identity.Name);

                var pacotepromocao = await _context.PacoteComercialPromocao.FindAsync(contrato.IdPacoteComercialPromocao);

                var pacote = await _context.PacoteComercial.FindAsync(pacotepromocao.IdPacote);

                int data = pacote.PeriodoFidelizacao;

                contrato.DataFidelizacao         = contrato.DataInicioContrato.AddMonths(data);
                contrato.PrecoBaseInicioContrato = pacotepromocao.PrecoTotalPacote;
                contrato.PrecoTotal = pacotepromocao.PrecoTotalPacote;
                contrato.IdOperador = operador.IdUtilizador;
                _context.Add(contrato);
                await _context.SaveChangesAsync();

                var cliente = contrato.IdCliente;
                return(RedirectToAction("Details", "Utilizadores", new { id = cliente }));
            }
            ViewData["IdCliente"]  = new SelectList(_context.Utilizador, "IdUtilizador", "Email", contrato.IdCliente);
            ViewData["IdOperador"] = new SelectList(_context.Utilizador, "IdUtilizador", "Email", contrato.IdOperador);
            ViewData["IdPacoteComercialPromocao"] = new SelectList(_context.PacoteComercialPromocao.Include(c => c.IdPacoteNavigation), "IdPacoteComercialPromocao", "Nome", contrato.IdPacoteComercialPromocao);
            return(View(contrato));
        }
예제 #3
0
        public async Task <IActionResult> Create([Bind("IdReclamacao,IdCliente,Assunto,Descricao")] Reclamacao reclamacao)
        {
            if (ModelState.IsValid)
            {
                Estado estadoaberto = _context.Estado.FirstOrDefault(e => e.Nome == "Em Aberto");

                reclamacao.IdEstadoNavigation = estadoaberto;
                reclamacao.DataAbertura       = System.DateTime.Now;

                _context.Add(reclamacao);
                await _context.SaveChangesAsync();

                ViewBag.Mensagem = "Reclamação criada com sucesso.";
                return(View("Sucesso"));
            }
            ViewData["IdCliente"]  = new SelectList(_context.Utilizador, "IdUtilizador", "Nome", reclamacao.IdCliente);
            ViewData["IdEstado"]   = new SelectList(_context.Estado, "IdEstado", "Nome", reclamacao.IdEstado);
            ViewData["IdOperador"] = new SelectList(_context.Utilizador, "IdUtilizador", "Nome", reclamacao.IdOperador);
            return(View(reclamacao));
        }
예제 #4
0
        public async Task <IActionResult> Create([Bind("IdEstado,Nome")] Estado estado)
        {
            if (ModelState.IsValid)
            {
                _context.Add(estado);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(estado));
        }
        public async Task <IActionResult> Create([Bind("IdConteudo,Nome,Descricao,DataInicioComercializacao,DataFimComercializacao,Preco")] ConteudoExtra conteudoExtra)
        {
            if (ModelState.IsValid)
            {
                _context.Add(conteudoExtra);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(conteudoExtra));
        }
        public async Task <IActionResult> Create([Bind("IdPacote,Nome,Descricao,DataInicioComercializacao,DataFimComercializacao,PrecoBase,PeriodoFidelizacao,Ativo,Internet,Voz,Tv,Movel")] PacoteComercial pacoteComercial)
        {
            if (ModelState.IsValid)
            {
                _context.Add(pacoteComercial);
                await _context.SaveChangesAsync();

                ViewBag.Mensagem = "Pacote Comercial adicionado com sucesso.";
                return(View("Sucesso"));
            }
            return(View(pacoteComercial));
        }
예제 #7
0
        public async Task <IActionResult> Create([Bind("IdPromocao,Nome,Descricao,DataInicio,DataFim,Preco,Conteudo")] Promocao promocao)
        {
            if (ModelState.IsValid)
            {
                _context.Add(promocao);
                await _context.SaveChangesAsync();

                ViewBag.Mensagem = "Promoção adicionada com sucesso.";
                return(View("Sucesso"));
            }
            return(View(promocao));
        }
        public async Task <IActionResult> Create([Bind("IdContratoConteudo,IdConteudo,IdContrato,DataInicioConteudo,DataFimConteudo")] ContratoConteudo contratoConteudo)
        {
            if (ModelState.IsValid)
            {
                _context.Add(contratoConteudo);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IdConteudo"] = new SelectList(_context.ConteudoExtra, "IdConteudo", "Descricao", contratoConteudo.IdConteudo);
            ViewData["IdContrato"] = new SelectList(_context.Contrato, "IdContrato", "MoradaFaturacao", contratoConteudo.IdContrato);
            return(View(contratoConteudo));
        }
        public async Task <IActionResult> Create([Bind("IdPacoteComercialPromocao,IdPromocao,IdPacote,IdDistrito")] PacoteComercialPromocao pacoteComercialPromocao)
        {
            if (ModelState.IsValid)
            {
                var promocao = await _context.Promocao.FindAsync(pacoteComercialPromocao.IdPromocao);

                var pacote = await _context.PacoteComercial.FindAsync(pacoteComercialPromocao.IdPacote);


                pacoteComercialPromocao.Nome             = pacote.Nome + " / " + promocao.Nome;
                pacoteComercialPromocao.PrecoTotalPacote = pacote.PrecoBase - promocao.Preco;

                _context.Add(pacoteComercialPromocao);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IdPacote"]   = new SelectList(_context.PacoteComercial, "IdPacote", "Nome", pacoteComercialPromocao.IdPacote);
            ViewData["IdPromocao"] = new SelectList(_context.Promocao, "IdPromocao", "Nome", pacoteComercialPromocao.IdPromocao);
            ViewData["IdDistrito"] = new SelectList(_context.Distrito, "IdDistrito", "Nome");
            return(View(pacoteComercialPromocao));
        }
예제 #10
0
        public async Task <IActionResult> CreateCliente([Bind("IdUtilizador,Nome,DataNascimento,Morada,Contacto,Email,NContribuinte,NIdentificacao,LocalTrabalho,IdDistrito")] Utilizador utilizador)
        {
            string nif = utilizador.NContribuinte;
            string nid = utilizador.NIdentificacao;

            var isNContribuinteAlreadyExists  = _context.Utilizador.Any(x => x.NContribuinte == utilizador.NContribuinte);
            var isNIdentificacaoAlreadyExists = _context.Utilizador.Any(x => x.NIdentificacao == utilizador.NIdentificacao);
            var isEmailAlreadyExists          = _context.Utilizador.Any(x => x.Email == utilizador.Email);

            if (isNContribuinteAlreadyExists || isNIdentificacaoAlreadyExists || isEmailAlreadyExists || nid.Length != 8 || nif.Length < 9)
            {
                if (isNIdentificacaoAlreadyExists)
                {
                    ModelState.AddModelError("NIdentificacao", "Este número já esta associado a uma conta");
                }
                if (isNContribuinteAlreadyExists)
                {
                    ModelState.AddModelError("NContribuinte", "Este contribuinte já esta associado a uma conta");
                }
                if (isEmailAlreadyExists)
                {
                    ModelState.AddModelError("Email", "Este email já esta associado a uma conta");
                }

                if (nif.Length < 9)
                {
                    ModelState.AddModelError("NContribuinte", "Nº de contribuinte incorreto");
                }
                if (nid.Length != 8)
                {
                    ModelState.AddModelError("NIdentificacao", "Nº de identificação incorreto");
                }

                return(View(utilizador));
            }

            char firstChar = nif[0];

            if (firstChar.Equals('1') ||
                firstChar.Equals('2') ||
                firstChar.Equals('3') ||
                firstChar.Equals('5') ||
                firstChar.Equals('6') ||
                firstChar.Equals('8') ||
                firstChar.Equals('9'))
            {
                int checkDigit = (Convert.ToInt32(firstChar.ToString()) * 9);
                for (int i = 2; i <= 8; ++i)
                {
                    checkDigit += Convert.ToInt32(nif[i - 1].ToString()) * (10 - i);
                }

                checkDigit = 11 - (checkDigit % 11);
                if (checkDigit >= 10)
                {
                    checkDigit = 0;
                }

                if (checkDigit.ToString() != nif[8].ToString())
                {
                    ModelState.AddModelError("NContribuinte", "Nº de contribuinte incorreto");
                    return(View(utilizador));
                }
            }
            ;

            if (ModelState.IsValid)
            {
                Role rolecliente = _context.Role.FirstOrDefault(r => r.Nome == "Cliente");

                utilizador.IdRoleNavigation = rolecliente;

                utilizador.Ativo       = true;
                utilizador.DataCriacao = System.DateTime.Now;
                _context.Add(utilizador);
                await _context.SaveChangesAsync();

                ViewBag.Mensagem = "Cliente adicionado com sucesso.";
                return(View("Sucesso"));
            }
            ViewData["IdRole"]     = new SelectList(_context.Role, "IdRole", "Nome", utilizador.IdRole);
            ViewData["IdDistrito"] = new SelectList(_context.Distrito, "IdDistrito", "Nome");
            return(View(utilizador));
        }