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); } }
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); } }