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 } } }); } }
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 } } }); } }