Example #1
0
 public static Discount ToDiscountViewModel(this Models.Discount discount)
 {
     return(new Discount
     {
         Name = discount.Name
     });
 }
        private async Task <DialogTurnResult> CheckPromotions(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            var recipeState = await UserProfileAccessor.GetAsync(stepContext.Context);

            // var resultConfirmationWantsToOrderFood = stepContext.Result as bool?;
            var resultConfirmationWantsToOrderFood = ParseSpokenBool(stepContext);

            if (resultConfirmationWantsToOrderFood.HasValue)
            {
                recipeState.DoNotOrderFood = !resultConfirmationWantsToOrderFood.Value;
                await UserProfileAccessor.SetAsync(stepContext.Context, recipeState);

                if (!resultConfirmationWantsToOrderFood.Value)
                {
                    return(await stepContext.NextAsync());
                }
            }

            var recipe = new UStoreDBManagement(_context).GetRecipeOfTheWeek();

            if (recipe != null)
            {
                var ingredientsOfRecipeOfTheWeek = new UStoreDBManagement(_context).GetIngredientsFromRecipe(recipe.RecipeId);

                if (ingredientsOfRecipeOfTheWeek != null &&
                    ingredientsOfRecipeOfTheWeek.Count > 0)
                {
                    Models.Discount ingredientDiscount = null;

                    foreach (var item in ingredientsOfRecipeOfTheWeek)
                    {
                        ingredientDiscount = new UStoreDBManagement(_context).GetIngredientDiscount(item.IngredientId);

                        if (ingredientDiscount != null)
                        {
                            break;
                        }
                    }

                    // var ingredientDiscount = new UStoreDBManagement(_context).GetIngredientDiscount(ingredientsOfRecipeOfTheWeek[0].IngredientId);

                    if (ingredientDiscount != null)
                    {
                        string ingredientName = ingredientDiscount.Ingredient.Name;
                        double discount       = ingredientDiscount.DiscountPercentValue;

                        return(await stepContext.PromptAsync(DialogPromptIds.UserRecipeOfTheWeekPrompt, new PromptOptions()
                        {
                            Prompt = await _responder.RenderTemplate(stepContext.Context, stepContext.Context.Activity.Locale, RecipeResponses.ReceitasRespondeIds.RecipeOfTheWeekDialog, new { recipe.Name, discount, ingredientName }),
                        }));
                    }
                }
            }


            return(await stepContext.NextAsync());
        }
        public async Task <Response <NoContent> > SaveAsync(Models.Discount discount)
        {
            var saveStatus = await _dbConnection.ExecuteAsync("insert into discount (userid,rate,code) values(@UserId,@Rate,@Code)", discount);

            if (saveStatus > 0)
            {
                return(Response <NoContent> .Success(204));
            }
            return(Response <NoContent> .Fail("An error occurred while adding", 500));
        }
Example #4
0
        public async Task <Response <NoContent> > Update(Models.Discount discount)
        {
            var status = await _dbConnection.ExecuteAsync("update discount set userid=@UserId, code=@Code, rate=@Rate where id=@Id", new { Id = discount.Id, UserId = discount.UserId, Code = discount.Code, Rate = discount.Rate });

            if (status > 0)
            {
                return(Response <NoContent> .Success(204));
            }

            return(Response <NoContent> .Fail("Discount not found", 404));
        }
        public async Task <Response <NoContent> > Save(Models.Discount discount)
        {
            var saveStatus = await _dbConnection.ExecuteAsync("INSERT INTO discount (userid,rate,code) VALUES(@UserId,@Rate,@Code)", discount);

            if (saveStatus > 0)
            {
                return(Response <NoContent> .Success(204));
            }

            return(Response <NoContent> .Fail("Discount cannot be saved", 500));
        }
Example #6
0
        public async Task <Response <NoContent> > Save(Models.Discount discount)
        {
            var status = await _dbConnection.ExecuteAsync("INSERT INTO discount (userid, rate, code) VALUES (@UserId, @Rate, @Code)", discount);

            if (status == 0 || status < 0)
            {
                return(Response <NoContent> .Fail("An error occurred while adding", 500));
            }

            return(Response <NoContent> .Success(204));
        }
 public static Discount ToDiscountViewModel(this Models.Discount discount)
 {
     return(new Discount
     {
         coupanCode = discount.coupanCode,
         DiscountAmount = discount.DiscountAmount,
         DiscountPercentage = discount.DiscountPercentage,
         DiscountType = discount.DiscountType,
         ExpirationDate = discount.ExpirationDate,
         IsValid = discount.IsValid,
         StartDate = discount.StartDate,
         Type = discount.Type
     });
 }
Example #8
0
        public async Task <Response <NoContent> > Update(Models.Discount discount)
        {
            var status = await _dbConnection.ExecuteAsync("UPDATE discount SET userid= @UserId, rate = @Rate, code = @Code WHERE id = @id", new
            {
                id     = discount.Id,
                UserId = discount.UserId,
                Rate   = discount.Rate,
                Code   = discount.Code
            });

            if (status == 0 || status < 0)
            {
                return(Response <NoContent> .Fail("Discount not found", 404));
            }

            return(Response <NoContent> .Success(204));
        }
Example #9
0
 public async Task <IActionResult> Update(Models.Discount discount)
 {
     return(CreateActionResultInstance(await _discountService.Update(discount)));
 }