public async Task AddPromoCodeAsyncWorksCorrectly() { await this.PopulateDB(); var dishTypes = this.DbContext.DishTypes.ToList(); var drinkType = this.DbContext.DrinkTypes.ToList(); var addPromoCode = new AddPromoCodeViewModel() { ExpirationDate = DateTime.Now.AddDays(1), PromoPercent = 99, MaxUsageTimes = 99, ValidDishCategoriesId = new List <int>() { 1, 2, }, ValidDrinkCategoriesId = new List <int>() { 3 }, }; await this.PromoCodeService.AddPromoCodeAsync(addPromoCode); var promoCode = this.DbContext.PromoCodes.FirstOrDefault(x => x.PromoPercent == 99 && x.MaxUsageTimes == 99); Assert.Equal(99, promoCode.PromoPercent); Assert.Equal(99, promoCode.MaxUsageTimes); Assert.Equal(2, promoCode.ValidDishCategories.Count); Assert.Equal(1, promoCode.ValidDrinkCategories.Count); }
public IActionResult AddPromoCode() { var promoCode = new AddPromoCodeViewModel(); this.SetValuesToPromoCodeViewModel(promoCode); return(this.View(promoCode)); }
public async Task <IActionResult> AddPromoCode(AddPromoCodeViewModel promoCodeModel) { if (!this.ModelState.IsValid) { this.SetValuesToPromoCodeViewModel(promoCodeModel); return(this.View(promoCodeModel)); } await this.promoCodeService.AddPromoCodeAsync(promoCodeModel); return(this.RedirectToAction("Index")); }
public async Task AddPromoCodeAsync(AddPromoCodeViewModel addPromoCode) { var promoCode = new PromoCode() { ExpirationDate = addPromoCode.ExpirationDate, PromoPercent = addPromoCode.PromoPercent, MaxUsageTimes = addPromoCode.MaxUsageTimes, ValidDishCategories = this.dishTypeService.GetAllDishTypesWithIds(addPromoCode.ValidDishCategoriesId.ToArray()), ValidDrinkCategories = this.drinkTypeService.GetAllDrinkTypesWithIds(addPromoCode.ValidDrinkCategoriesId.ToArray()), }; Random random = new Random(); promoCode.Code = this.RandomString(random.Next(6, 10)); await this.promoCodeRepository.AddAsync(promoCode); await this.promoCodeRepository.SaveChangesAsync(); }
private void SetValuesToPromoCodeViewModel(AddPromoCodeViewModel addPromoCodeModel) { addPromoCodeModel.ValidDrinkCategories = this.drinkTypeService.GetAllDrinkTypes().Select(x => new SelectListItem(x.Name, x.Id.ToString())).ToList(); addPromoCodeModel.ValidDishCategories = this.dishTypeService.GetAllDishTypesWithId().Select(x => new SelectListItem(x.Name, x.Id.ToString())).ToList(); }