private async Task <ICommandResult> Persist(CreateCustomer command)
        {
            var result = new CommandResult();

            try
            {
                var customer = new AnemicCustomer()
                {
                    Id          = Guid.NewGuid(),
                    FirstName   = command.FirstName,
                    Email       = command.Email,
                    LastName    = command.LastName,
                    PhoneNumber = command.PhoneNumber,
                    UserName    = command.UserName
                };

                context.Customers.Add(customer);
                await context.SaveChangesAsync();

                result.SetRecord(customer.Id);

                return(result);
            }
            catch (Exception ex)
            {
                result.Fail(ex);
            }

            return(result);
        }
示例#2
0
 private CustomerLite Convert(AnemicCustomer input)
 {
     return(new CustomerLite(
                id: input.Id,
                fullName: $"{input.FirstName} - {input.LastName}"
                ));
 }
示例#3
0
 private CustomerDetail Convert(AnemicCustomer input)
 {
     return(new CustomerDetail
     {
         Id = input.Id,
         FirstName = input.FirstName,
         LastName = input.LastName,
         Email = input.Email,
         Phone = input.PhoneNumber,
     });
 }