Beispiel #1
0
        public async Task <ActionResult> Post(HistoricoSalario historicoSalario)
        {
            _db.Add(historicoSalario);
            await _db.SaveChangesAsync();

            return(new CreatedAtRouteResult(nameof(GetByCargo), new { historicoSalario.Id_historicoSalario }, historicoSalario));
        }
Beispiel #2
0
        public async Task <IActionResult> Edit(int id, [Bind("Id_historicoSalario,Data_inicio,Data_final,Funcionario_Cpf,Salario,Cargo")] HistoricoSalario historicoSalario)
        {
            if (id != historicoSalario.Id_historicoSalario)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(historicoSalario);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!HistoricoSalarioExists(historicoSalario.Id_historicoSalario))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["Funcionario_Cpf"] = new SelectList(_context.Funcionario, "Cpf", "Cpf", historicoSalario.Funcionario_Cpf);
            return(View(historicoSalario));
        }
Beispiel #3
0
        public async Task <ActionResult> Put(HistoricoSalario historicoSalario)
        {
            _db.Entry(historicoSalario).State = EntityState.Modified;
            await _db.SaveChangesAsync();

            return(NoContent());
        }
Beispiel #4
0
        public async Task <IActionResult> Create([Bind("Cpf,Nome,Email,Cargo,Data_nascimento,Endereco_Id_endereco,Senha,Status,Telefone_Id_telefone,Salario, Telefone, Endereco")] Funcionario funcionario)
        {
            if (ModelState.IsValid)
            {
                Telefone telefone = new Telefone();
                telefone.Telefones = funcionario.Telefone.Telefones;

                Endereco endereco = new Endereco();
                endereco.Cep    = funcionario.Endereco.Cep;
                endereco.Rua    = funcionario.Endereco.Rua;
                endereco.Numero = funcionario.Endereco.Numero;
                endereco.Bairro = funcionario.Endereco.Bairro;
                endereco.Cidade = funcionario.Endereco.Cidade;
                endereco.Estado = funcionario.Endereco.Estado;

                DateTime localDate = DateTime.Now;

                HistoricoStatus historicoStatus = new HistoricoStatus();
                historicoStatus.Data_inicio     = localDate;
                historicoStatus.Funcionario     = funcionario;
                historicoStatus.Funcionario_Cpf = funcionario.Cpf;
                historicoStatus.Status          = funcionario.Status;

                HistoricoSalario historicoSalario = new HistoricoSalario();
                historicoSalario.Data_inicio     = localDate;
                historicoSalario.Funcionario     = funcionario;
                historicoSalario.Funcionario_Cpf = funcionario.Cpf;
                historicoSalario.Cargo           = funcionario.Cargo;
                historicoSalario.Salario         = funcionario.Salario;

                int lastestTelefoneId = telefone.Id_telefone;
                int lastestEnderecoId = endereco.Id_endereco;

                funcionario.Telefone_Id_telefone = lastestTelefoneId;
                funcionario.Endereco_Id_endereco = lastestEnderecoId;

                var user = new IdentityUser {
                    UserName = funcionario.Email, Email = funcionario.Email
                };
                var result = await _userManager.CreateAsync(user, funcionario.Senha);

                var applicationRole = await _roleManager.FindByNameAsync(funcionario.Cargo);

                if (applicationRole != null)
                {
                    IdentityResult roleResult = await _userManager.AddToRoleAsync(user, applicationRole.Name);
                }

                _context.Add(funcionario);
                _context.Add(historicoStatus);
                _context.Add(historicoSalario);
                await _context.SaveChangesAsync();

                SendEmail(funcionario.Email, funcionario.Senha);
                return(RedirectToAction(nameof(Index)));
            }

            return(View(funcionario));
        }
Beispiel #5
0
        public async Task UpdateHistoricoSalario(HistoricoSalario HistoricoSalario)
        {
            var response = await httpService.Put(url, HistoricoSalario);

            if (!response.Success)
            {
                throw new ApplicationException(await response.GetBody());
            }
        }
Beispiel #6
0
        public async Task <IActionResult> Create([Bind("Id_historicoSalario,Data_inicio,Data_final,Funcionario_Cpf,Salario,Cargo")] HistoricoSalario historicoSalario)
        {
            if (ModelState.IsValid)
            {
                _context.Add(historicoSalario);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["Funcionario_Cpf"] = new SelectList(_context.Funcionario, "Cpf", "Cpf", historicoSalario.Funcionario_Cpf);
            return(View(historicoSalario));
        }
Beispiel #7
0
        public async Task <IActionResult> Edit(string id, [Bind("Cpf,Nome,Email,Senha,Cargo,Data_nascimento,Status,Endereco_Id_endereco,Telefone_Id_telefone,Salario, Telefone, Endereco")] Funcionario funcionario)
        {
            if (id != funcionario.Cpf)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var telefones = _context.Telefone.First(a => a.Id_telefone == funcionario.Telefone_Id_telefone);
                    telefones.Telefones = funcionario.Telefone.Telefones;

                    var funcionarios = _context.Funcionario.First(a => a.Cpf == funcionario.Cpf);
                    funcionarios.Cpf             = funcionario.Cpf;
                    funcionarios.Email           = funcionario.Email;
                    funcionarios.Cargo           = funcionario.Cargo;
                    funcionarios.Data_nascimento = funcionario.Data_nascimento;
                    funcionarios.Nome            = funcionario.Nome;
                    funcionarios.Senha           = funcionario.Senha;
                    funcionarios.Status          = funcionario.Status;
                    funcionarios.Salario         = funcionario.Salario;

                    var enderecos = _context.Endereco.First(a => a.Id_endereco == funcionario.Endereco_Id_endereco);
                    enderecos.Numero = funcionario.Endereco.Numero;
                    enderecos.Rua    = funcionario.Endereco.Rua;
                    enderecos.Cep    = funcionario.Endereco.Cep;
                    enderecos.Bairro = funcionario.Endereco.Bairro;
                    enderecos.Cidade = funcionario.Endereco.Cidade;
                    enderecos.Estado = funcionario.Endereco.Estado;

                    if (funcionarioAdd.Status != funcionarios.Status)
                    {
                        DateTime localDate = DateTime.Now;

                        var historicoAntigo = _context.HistoricoStatus.Where(x => x.Funcionario_Cpf == funcionario.Cpf && x.Data_final == null).FirstOrDefault();
                        historicoAntigo.Data_final = localDate;

                        HistoricoStatus historico = new HistoricoStatus();
                        historico.Data_inicio     = localDate;
                        historico.Funcionario     = funcionarios;
                        historico.Funcionario_Cpf = funcionarios.Cpf;
                        historico.Status          = funcionarios.Status;

                        _context.Update(historicoAntigo);
                        _context.Add(historico);
                    }

                    if (funcionarioAdd.Salario != funcionarios.Salario || funcionarioAdd.Cargo != funcionario.Cargo)
                    {
                        DateTime localDate = DateTime.Now;

                        var historicoAntigo = _context.HistoricoSalario.Where(x => x.Funcionario_Cpf == funcionario.Cpf && x.Data_final == null).FirstOrDefault();
                        historicoAntigo.Data_final = localDate;

                        HistoricoSalario historico = new HistoricoSalario();
                        historico.Data_inicio     = localDate;
                        historico.Funcionario     = funcionarios;
                        historico.Funcionario_Cpf = funcionarios.Cpf;
                        historico.Cargo           = funcionarios.Cargo;
                        historico.Salario         = funcionarios.Salario;

                        _context.Update(historicoAntigo);
                        _context.Add(historico);
                    }

                    _context.Update(funcionarios);
                    _context.Update(telefones);
                    _context.Update(enderecos);

                    await _context.SaveChangesAsync();

                    System.Diagnostics.Debug.WriteLine(funcionario.Senha);

                    await MudarRole(funcionario.Email, funcionario.Cargo, funcionario.Status, funcionario.Senha);

                    SendEmail(funcionario.Email, funcionario.Senha);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!FuncionarioExists(funcionario.Cpf))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }

            return(View(funcionario));
        }