示例#1
0
        private Estabelecimento MapperEstabelecimento(EstabelecimentoUser obj)
        {
            var estabelecimento = new Estabelecimento();

            estabelecimento.Email    = obj.Email;
            estabelecimento.Password = obj.Password;

            return(estabelecimento);
        }
示例#2
0
        public async Task <IActionResult> AuthenticateAsync([FromBody] EstabelecimentoUser item)
        {
            if (item == null)
            {
                return(BadRequest(new {
                    status = 400,
                    message = "Objeto inválido."
                }));
            }

            if (ModelState.IsValid)
            {
                var user = await _estabelecimentoRepository.AuthenticateAsync(item);

                if (user == null)
                {
                    return(BadRequest(new {
                        status = 400,
                        message = "Usuário e/ou senha incorreto(s)."
                    }));
                }

                return(Ok(new {
                    status = HttpContext.Response.StatusCode,
                    message = "Autenticado com sucesso.",
                    data = user.Id,
                    token = TokenGenerator.BuildToken(user.Id, user.IsAdmin.Value)
                }));
            }
            else
            {
                return(BadRequest(new {
                    status = 400,
                    message = ModelState.Values.SelectMany(m => m.Errors)
                              .Select(e => e.ErrorMessage)
                              .ToList()
                }));
            }
        }
示例#3
0
        public async Task <Estabelecimento> AuthenticateAsync(EstabelecimentoUser item)
        {
            if (string.IsNullOrEmpty(item.Email) || string.IsNullOrEmpty(item.Password))
            {
                return(null);
            }

            var user = await Context.Estabelecimentos
                       .SingleOrDefaultAsync(x => x.Email == item.Email);

            if (user == null)
            {
                return(null);
            }

            if (!VerifyPasswordHash(item.Password, user.PasswordHash))
            {
                return(null);
            }

            return(user);
        }
示例#4
0
        public async Task <IActionResult> PostAsync([FromBody] EstabelecimentoUser item)
        {
            if (item == null)
            {
                return(BadRequest(new {
                    status = 400,
                    message = "Objeto inválido."
                }));
            }

            if (ModelState.IsValid)
            {
                var response = await _estabelecimentoRepository.AddAsync(MapperEstabelecimento(item));

                if (response.Equals("success"))
                {
                    return(Ok(new {
                        status = HttpContext.Response.StatusCode,
                        message = "Cadastrado com sucesso.",
                        data = item
                    }));
                }

                return(BadRequest(new {
                    status = 400,
                    message = response
                }));
            }
            else
            {
                return(BadRequest(new {
                    status = 400,
                    message = ModelState.Values.SelectMany(m => m.Errors)
                              .Select(e => e.ErrorMessage)
                              .ToList()
                }));
            }
        }