Exemplo n.º 1
0
        public Response <StripeAccountDTO> GetByEmail(string email)
        {
            try
            {
                if (email == null)
                {
                    return(new Response <StripeAccountDTO>()
                    {
                        Errors = new List <Error>()
                        {
                            new Error()
                            {
                                Type = ErrorType.ValidationError, Message = "Email cannot be null"
                            }
                        }
                    });
                }

                var account = _stripeRepository.GetWhere(x => x.UserEmail == email).FirstOrDefault();

                if (account != null)
                {
                    var accountEntityDTO = StripeAccountMapper.MapStripeAccountModelToStripeAccountDTO(account);
                    var response         = new Response <StripeAccountDTO>
                    {
                        DTO = accountEntityDTO
                    };
                    return(response);
                }
                else
                {
                    return(new Response <StripeAccountDTO>()
                    {
                        Errors = new List <Error>()
                        {
                            new Error()
                            {
                                Type = ErrorType.ValidationError, Message = "No account with that email"
                            }
                        }
                    });
                }
            }
            catch (Exception ex)
            {
                return(new Response <StripeAccountDTO>()
                {
                    Errors = new List <Error>()
                    {
                        new Error()
                        {
                            Type = ErrorType.Exception, Message = ex.Message
                        }
                    }
                });
            }
        }
Exemplo n.º 2
0
        public Response <StripeAccountDTO> Create(StripeAccountDTO stripeAccountDTO)
        {
            try
            {
                StripeAccountValidator validator = new StripeAccountValidator();
                ValidationResult       results   = validator.Validate(stripeAccountDTO);

                if (results.IsValid)
                {
                    var account         = StripeAccountMapper.MapStripeAccountDTOToStripeAccountModel(stripeAccountDTO);
                    var accountResponse = _stripeRepository.Add(account);
                    _stripeRepository.SaveChanges();
                    var accountEntityDTO = StripeAccountMapper.MapStripeAccountModelToStripeAccountDTO(accountResponse);
                    var response         = new Response <StripeAccountDTO>
                    {
                        DTO = accountEntityDTO
                    };
                    return(response);
                }
                else
                {
                    return(new Response <StripeAccountDTO>()
                    {
                        Errors = results.Errors.Select(x => new Error()
                        {
                            Type = ErrorType.ValidationError, Message = x.ErrorMessage
                        }).ToList()
                    });
                }
            }
            catch (Exception ex)
            {
                return(new Response <StripeAccountDTO>()
                {
                    Errors = new List <Error>()
                    {
                        new Error()
                        {
                            Type = ErrorType.Exception, Message = ex.Message
                        }
                    }
                });
            }
        }