Exemple #1
0
        private bool Update(FuncionarioForm model)
        {
            using (var context = new DatabaseContext())
            {
                var entity = GetByKeyFull(model.IdFuncionario);
                if (entity == null)
                {
                    throw new BusinessException("Colaborador não encontrado");
                }

                context.Entry(entity).State = EntityState.Modified;

                entity.IdUsuarioAlteracao = IdUsuarioLogado;
                entity.DataHoraAlteracao  = CurrentDateTime;
                entity.Status             = model.Status;

                entity.IdUsuario = model.IdUsuario;
                entity.IdClinica = model.IdClinica;
                entity.Nome      = model.Nome;
                entity.IdLocalizacaoGeografica = model.IdLocalizacaoGeografica;
                entity.NumeroEndereco          = model.NumeroEndereco;
                entity.EstadoCivil             = model.EstadoCivil;
                entity.CPF                       = model.CPF;
                entity.RG                        = model.RG;
                entity.DataNascimento            = model.DataNascimento;
                entity.DataAdmissao              = model.DataAdmissao;
                entity.DataDesligamento          = model.DataDesligamento;
                entity.CarteiraProfissionalNro   = model.CarteiraProfissionalNro;
                entity.CarteiraProfissionalSerie = model.CarteiraProfissionalSerie;
                entity.Observacao                = model.Observacao;
                entity.Complemento               = model.Complemento;

                var listTelefone = context.Funcionario_Telefone.Where(a => a.IdFuncionario == entity.IdFuncionario).ToList();
                var listEmail    = context.Funcionario_Email.Where(a => a.IdFuncionario == entity.IdFuncionario).ToList();

                context.Funcionario_Telefone.RemoveRange(listTelefone);
                context.Funcionario_Email.RemoveRange(listEmail);

                model.Telefones.ForEach(item =>
                {
                    var telefoneEntity = new Funcionario_Telefone();
                    telefoneEntity.DataHoraCadastro   = CurrentDateTime;
                    telefoneEntity.DataHoraAlteracao  = CurrentDateTime;
                    telefoneEntity.IdUsuarioCadastro  = IdUsuarioLogado;
                    telefoneEntity.IdUsuarioAlteracao = IdUsuarioLogado;
                    telefoneEntity.Status             = (int)DefaultStatusEnum.Ativo;
                    telefoneEntity.IdFuncionario      = entity.IdFuncionario;
                    telefoneEntity.Tipo   = item.Tipo;
                    telefoneEntity.Numero = item.Numero;

                    context.Set <Funcionario_Telefone>().Add(telefoneEntity);
                });

                model.Emails.ForEach(item =>
                {
                    var emailEntity = new Funcionario_Email();
                    emailEntity.DataHoraCadastro   = CurrentDateTime;
                    emailEntity.DataHoraAlteracao  = CurrentDateTime;
                    emailEntity.IdUsuarioCadastro  = IdUsuarioLogado;
                    emailEntity.IdUsuarioAlteracao = IdUsuarioLogado;
                    emailEntity.Status             = (int)DefaultStatusEnum.Ativo;
                    emailEntity.IdFuncionario      = entity.IdFuncionario;
                    emailEntity.Tipo  = item.Tipo;
                    emailEntity.Email = item.Email;

                    context.Set <Funcionario_Email>().Add(emailEntity);
                });

                var result = context.SaveChanges() > 0;
                if (result)
                {
                    RegistrarLogAtividade(entity, PERMISSAO_ALTERACAO);
                }
                return(result);
            }
        }
Exemple #2
0
        private bool Insert(FuncionarioForm model)
        {
            using (var context = new DatabaseContext())
            {
                var entity = new Funcionario();
                entity.DataHoraCadastro   = CurrentDateTime;
                entity.DataHoraAlteracao  = CurrentDateTime;
                entity.IdUsuarioCadastro  = IdUsuarioLogado;
                entity.IdUsuarioAlteracao = IdUsuarioLogado;
                entity.Status             = (int)DefaultStatusEnum.Ativo;

                entity.IdUsuario = model.IdUsuario;
                entity.IdClinica = model.IdClinica;
                entity.Nome      = model.Nome;
                entity.IdLocalizacaoGeografica = model.IdLocalizacaoGeografica;
                entity.NumeroEndereco          = model.NumeroEndereco;
                entity.EstadoCivil             = model.EstadoCivil;
                entity.CPF                       = model.CPF;
                entity.RG                        = model.RG;
                entity.DataNascimento            = model.DataNascimento;
                entity.DataAdmissao              = model.DataAdmissao;
                entity.DataDesligamento          = model.DataDesligamento;
                entity.CarteiraProfissionalNro   = model.CarteiraProfissionalNro;
                entity.CarteiraProfissionalSerie = model.CarteiraProfissionalSerie;
                entity.Observacao                = model.Observacao;
                entity.Complemento               = model.Complemento;

                model.Telefones.ForEach(item =>
                {
                    var telefoneEntity = new Funcionario_Telefone();
                    telefoneEntity.DataHoraCadastro   = CurrentDateTime;
                    telefoneEntity.DataHoraAlteracao  = CurrentDateTime;
                    telefoneEntity.IdUsuarioCadastro  = IdUsuarioLogado;
                    telefoneEntity.IdUsuarioAlteracao = IdUsuarioLogado;
                    telefoneEntity.Status             = (int)DefaultStatusEnum.Ativo;
                    telefoneEntity.IdFuncionario      = entity.IdFuncionario;
                    telefoneEntity.Tipo   = item.Tipo;
                    telefoneEntity.Numero = item.Numero;

                    context.Set <Funcionario_Telefone>().Add(telefoneEntity);
                });

                model.Emails.ForEach(item =>
                {
                    var emailEntity = new Funcionario_Email();
                    emailEntity.DataHoraCadastro   = CurrentDateTime;
                    emailEntity.DataHoraAlteracao  = CurrentDateTime;
                    emailEntity.IdUsuarioCadastro  = IdUsuarioLogado;
                    emailEntity.IdUsuarioAlteracao = IdUsuarioLogado;
                    emailEntity.Status             = (int)DefaultStatusEnum.Ativo;
                    emailEntity.IdFuncionario      = entity.IdFuncionario;
                    emailEntity.Tipo  = item.Tipo;
                    emailEntity.Email = item.Email;

                    context.Set <Funcionario_Email>().Add(emailEntity);
                });

                context.Set <Funcionario>().Add(entity);

                var result = context.SaveChanges() > 0;
                if (result)
                {
                    RegistrarLogAtividade(entity, PERMISSAO_CADASTRO);
                }
                return(result);
            }
        }