示例#1
0
        public async Task CreateCategoryAsync(CreateCategoryBindingModel model)
        {
            await _db.Categories
            .AddAsync(new Category()
            {
                Name   = model.Name,
                Gender = model.Gender,
                Type   = model.Group
            });

            await _db.SaveChangesAsync();
        }
示例#2
0
        public async Task AddSubscriberAsync(string email)
        {
            var subscriber = await _db.Subscribers.FirstOrDefaultAsync(s => s.Email == email);

            if (subscriber == null)
            {
                await _db.Subscribers.AddAsync(new Subscriber()
                {
                    Email = email
                });

                await _db.SaveChangesAsync();
            }
        }
示例#3
0
        public async Task UpdatePersonalDetails(User user, PersonalDetailsBindingModel model)
        {
            user.FirstName           = model.FirstName;
            user.LastName            = model.LastName;
            user.BillingAddress      = model.BillingAddress;
            user.BillingAddressLine2 = model.BillingAddressLine2;
            user.Country             = model.Country;
            user.City       = model.City;
            user.PostalCode = model.PostalCode;

            await _db.SaveChangesAsync();

            var phoneNumber = await _userManager.GetPhoneNumberAsync(user);

            if (model.PhoneNumber != phoneNumber)
            {
                var setPhoneResult = await _userManager.SetPhoneNumberAsync(user, model.PhoneNumber);

                if (!setPhoneResult.Succeeded)
                {
                    var userId = await _userManager.GetUserIdAsync(user);

                    throw new InvalidOperationException($"Unexpected error occurred setting phone number for user with ID '{userId}'.");
                }
            }

            var email = await _userManager.GetEmailAsync(user);

            if (model.Email != email)
            {
                var setEmailResult = await _userManager.SetEmailAsync(user, model.Email);

                if (!setEmailResult.Succeeded)
                {
                    var userId = await _userManager.GetUserIdAsync(user);

                    throw new InvalidOperationException($"Unexpected error occurred setting email for user with ID '{userId}'.");
                }

                var setUserNameResult = await _userManager.SetUserNameAsync(user, model.Email);

                if (!setUserNameResult.Succeeded)
                {
                    var userId = await _userManager.GetUserIdAsync(user);

                    throw new InvalidOperationException($"Unexpected error occurred setting name for user with ID '{userId}'.");
                }
            }
        }