Example #1
0
        public async Task <QueryResult <string> > UpdateAmigoAsync(int id, [FromBody] AmigoEdit model)
        {
            try
            {
                var amigo = await _amigoRepository.GetAmigoAsync(id);

                if (amigo != null)
                {
                    var emailDiferente  = (amigo.Login.Email.ToUpper() != model.Email.ToUpper());
                    var emailCadastrado = await _amigoRepository.ValidateEmialAsync(model.Email);

                    if (emailDiferente && emailCadastrado != null)
                    {
                        return(new QueryResult <string>
                        {
                            Succeeded = false,
                            Message = "E-mail já cadastrado!"
                        });
                    }

                    amigo.Nome                  = model.Nome;
                    amigo.Telefone              = model.Telefone;
                    amigo.Login.Email           = model.Email.ToLower();
                    amigo.Login.NormalizedEmail = model.Email.ToUpper();
                    amigo.Login.Status          = AccountConstants.GetStatusDbUsuario(model.Status);

                    await _amigoRepository.UpdateAmigoAsync(amigo);

                    return(new QueryResult <string>
                    {
                        Succeeded = true,
                        Message = "Amigo editado com sucesso."
                    });
                }
                else
                {
                    return(new QueryResult <string>
                    {
                        Succeeded = false,
                        Message = "Erro, amigo não encontrado!"
                    });
                }
            }
            catch (Exception)
            {
                return(new QueryResult <string>
                {
                    Succeeded = false,
                    Message = "Erro, tente novamente!"
                });
            }
        }