Пример #1
0
        GetUsuarioModel IUsuarioService.Cadastrar(PostUsuarioModel model)
        {
            if (context.Usuarios.SingleOrDefault(f => f.DsEmail == model.DsEmail.Raw || f.NrTelefone == model.NrTelefone) != null)
            {
                throw new ApiException(HttpStatusCode.Conflict, "Usuário já cadastrado.");
            }

            if (!model.DsEmail.IsValid())
            {
                throw new ApiException(HttpStatusCode.Conflict, "Email inválido.");
            }

            var usuario = new Usuario
            {
                CdUsuario    = 0, // ignorado
                DsSenha      = model.DsSenha.Raw,
                DtCadastro   = DateTime.Now,
                FlAtivo      = true,
                NmUsuario    = model.NmUsuario,
                DsEmail      = model.DsEmail.Raw,
                NrTelefone   = model.NrTelefone,
                DtNascimento = model.DtNascimento,
                Perfil       = context.Perfis.Find(2), // Perfil de Funcionário
            };

            context.Add <Usuario>(usuario);
            context.SaveChanges();

            return(mapper.Map <Usuario, GetUsuarioModel>(usuario));
        }
Пример #2
0
        public async Task <IHttpActionResult> Post(PostUsuarioModel model)
        {
            try
            {
                logger.Debug("Post", model);

                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                var entity = base.ModelMapper.Map <Usuario>(model);

                var result = this.service.Add(entity);
                logger.Info(result);

                if (!result.Succeeded)
                {
                    return(base.GetErrorResult(result));
                }

                var resultSaveChanges = await this.service.SaveChangesAsync(ServiceChangeCommentBuilder.GetCreateComment <Usuario>());

                logger.Info(resultSaveChanges);

                if (resultSaveChanges.Succeeded)
                {
                    return(CreatedAtRoute("DefaultApi", new { id = result.Result.Id }, base.ModelMapper.Map <UsuarioModel>(result.Result)));
                }
                else
                {
                    return(base.GetErrorResult(resultSaveChanges));
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex);
                return(InternalServerError(ex));
            }
        }
Пример #3
0
        public IActionResult Post([FromBody] PostUsuarioModel model)
        {
            var usuario = usuarioService.Cadastrar(model);

            return(CreatedAtAction("GetById", new { id = usuario.CdUsuario }, usuario));
        }