Exemple #1
0
        private bool Update(UsuarioForm model)
        {
            using (var context = new DatabaseContext())
            {
                var entity = GetByKeyFull(model.IdUsuario);
                if (entity.IdUsuario == 1)
                {
                    throw new BusinessException($"O usuário '{entity.Nome}' não pode ser alterado");
                }

                if (entity.Email != model.Email)
                {
                    throw new BusinessException("O e-mail não pode ser alterado.");
                }

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

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

                var clinicasAssociadas = context.Clinica_Usuario.Where(a => a.IdUsuario == entity.IdUsuario);
                foreach (var item in clinicasAssociadas)
                {
                    context.Clinica_Usuario.Remove(item);
                }

                foreach (var item in model.Clinicas)
                {
                    var clinica = new Clinica_Usuario();
                    clinica.DataHoraCadastro   = CurrentDateTime;
                    clinica.DataHoraAlteracao  = CurrentDateTime;
                    clinica.IdUsuarioCadastro  = IdUsuarioLogado;
                    clinica.IdUsuarioAlteracao = IdUsuarioLogado;
                    clinica.Status             = (int)DefaultStatusEnum.Ativo;
                    clinica.IdUsuario          = entity.IdUsuario;
                    clinica.IdClinica          = item.IdClinica;
                    clinica.IdUsuarioGrupo     = item.IdUsuarioGrupo;

                    context.Set <Clinica_Usuario>().Add(clinica);
                }

                var result = context.SaveChanges() > 0;
                if (result)
                {
                    RegistrarLogAtividade(entity, PERMISSAO_ALTERACAO);
                }
                return(result);
            }
        }
Exemple #2
0
        private bool Insert(UsuarioForm model)
        {
            using (var context = new DatabaseContext())
            {
                var emailExistente = context.Usuario.FirstOrDefault(a => a.Email == model.Email);
                if (emailExistente != null)
                {
                    throw new BusinessException($"O e-mail {model.Email} já está sendo utilizado, escolha outro e-mail para continuar");
                }

                var entity = new Usuario();

                entity.DataHoraCadastro   = CurrentDateTime;
                entity.DataHoraAlteracao  = CurrentDateTime;
                entity.IdUsuarioCadastro  = IdUsuarioLogado;
                entity.IdUsuarioAlteracao = IdUsuarioLogado;
                entity.Status             = (int)DefaultStatusEnum.Ativo;
                entity.Nome           = model.Nome;
                entity.Email          = model.Email;
                entity.Senha          = PasswordHash.CreateHash(DEFAULT_PASSWORD);
                entity.SenhaSalt      = PasswordHash.CreateSalt();
                entity.PrimeiroAcesso = true;

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

                foreach (var item in model.Clinicas)
                {
                    var clinica = new Clinica_Usuario();
                    clinica.DataHoraCadastro   = CurrentDateTime;
                    clinica.DataHoraAlteracao  = CurrentDateTime;
                    clinica.IdUsuarioCadastro  = IdUsuarioLogado;
                    clinica.IdUsuarioAlteracao = IdUsuarioLogado;
                    clinica.Status             = (int)DefaultStatusEnum.Ativo;
                    clinica.IdUsuario          = entity.IdUsuario;
                    clinica.IdClinica          = item.IdClinica;
                    clinica.IdUsuarioGrupo     = item.IdUsuarioGrupo;

                    context.Set <Clinica_Usuario>().Add(clinica);
                }

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