public async Task <ResultStatus> DeleteFlavourCombination(int id)
        {
            FlavourCombination target = await GetFlavourCombinationById(id);

            flavourCombinationRepository.Delete(target);
            int code = await flavourCombinationRepository.SaveChanges();

            bool status = (code != 0);

            ResultStatus resultStatus = new ResultStatus
            {
                Status = status
            };

            if (status)
            {
                resultStatus.Message = "Successfully deleted flavour";
            }
            else
            {
                resultStatus.Message = "Failed to deleted flavour";
            }

            return(resultStatus);
        }
        public async Task <ResultStatus> CreateFlavourCombinationAsync(FlavourCombination flavourCombination, List <Flavour> flavours)
        {
            this.flavourCombinationRepository.Add(flavourCombination);

            foreach (Flavour flavour in flavours)
            {
                FlavourCombinationReference reference = new FlavourCombinationReference()
                {
                    FlavourCombinationId = flavourCombination.Id,
                    FlavourId            = flavour.Id
                };

                flavourCombination.FlavourCombinationReferences.Add(reference);
            }

            int code = await flavourCombinationRepository.SaveChanges();

            bool status = code != 0;

            ResultStatus resultStatus = new ResultStatus()
            {
                Status = status
            };

            if (status)
            {
                resultStatus.Message = "Successfully created a new combination";
            }
            else
            {
                resultStatus.Message = "Failed to create a new combination";
            }

            return(resultStatus);
        }
        public async Task <ResultStatus> UpdateFlavourCombination(int id, string newName)
        {
            FlavourCombination target = await GetFlavourCombinationById(id);

            target.Name = newName;
            flavourCombinationRepository.Update(target);
            int code = await flavourCombinationRepository.SaveChanges();

            bool status = (code != 0);

            ResultStatus resultStatus = new ResultStatus
            {
                Status = status
            };

            if (status)
            {
                resultStatus.Message = "Successfully updated flavour combination";
            }
            else
            {
                resultStatus.Message = "Failed to update flavour combination";
            }

            return(resultStatus);
        }
Пример #4
0
        private static void CreateFlavourCombinations(ShishaFlavoursDbContext context, IFlavourCombinationsService flavourCombinationsService, IFlavoursService flavoursService, UserManager <User> userManager, ILogger logger)
        {
            if (!context.FlavourCombinations.Any())
            {
                string adminUserId = userManager.FindByNameAsync("Admin").Result.Id;

                FlavourCombination combination = new FlavourCombination()
                {
                    Name        = "Sweet Mint",
                    Description = "A great combination of the most popular shisha flavours ever!",
                    DateAdded   = DateTime.Now,
                    Votes       = 20,
                    UserId      = adminUserId,
                    FlavourCombinationReferences = new List <FlavourCombinationReference>()
                };

                List <Flavour> flavours = new List <Flavour>()
                {
                    flavoursService.GetFlavourByName("Blueberry").Result,
                    flavoursService.GetFlavourByName("Mint").Result
                };

                flavourCombinationsService.CreateFlavourCombinationAsync(combination, flavours).Wait();
            }
            else
            {
                logger.LogInformation("Flavour combinations were already added");
            }
        }
Пример #5
0
        public async Task <IActionResult> Create([FromBody] FlavourCombinationCreateModel createModel)
        {
            IActionResult response = null;

            if (ModelState.IsValid)
            {
                FlavourCombination flavourCombo = new FlavourCombination()
                {
                    Name        = createModel.Name,
                    Description = createModel.Description,
                    DateAdded   = DateTime.Now,
                    Votes       = 0,
                    UserId      = createModel.UserId,
                    FlavourCombinationReferences = new List <FlavourCombinationReference>()
                };

                List <Flavour> flavours = new List <Flavour>();

                foreach (string flavourName in createModel.Flavours)
                {
                    Flavour flavour = await flavoursService.GetFlavourByName(flavourName);

                    flavours.Add(flavour);
                }

                ResultStatus status = await flavourCombinationsService.CreateFlavourCombinationAsync(flavourCombo, flavours);

                response = new JsonResult(status);
            }
            else
            {
                return(BadRequest(ModelState));
            }

            return(response);
        }
Пример #6
0
        public async Task <IActionResult> GetFlavourCombination(string Name)
        {
            FlavourCombination model = await flavourCombinationsService.GetFlavourCombinationByName(Name);

            return(new JsonResult(model));
        }