public bool AddNewSize(RawNewComp obj, APizzaComponent pComp, AStore curStore)
        {
            Size newSize = mapper.CompToSize(pComp, obj, curStore);

            storeRepo.AddNewSize(newSize);
            return(true);
        }
        public bool AddNewTopping(RawNewComp obj, APizzaComponent pComp, AStore curStore)
        {
            Topping newTopping = mapper.CompToTopping(pComp, obj, curStore);

            storeRepo.AddNewTopping(newTopping);
            return(true);
        }
        public bool AddNewCrust(RawNewComp obj, APizzaComponent pComp, AStore curStore)
        {
            Crust newCrust = mapper.CompToCrust(pComp, obj, curStore);

            storeRepo.AddNewCrust(newCrust);
            return(true);
        }
Beispiel #4
0
        public void Test_AddNewComp()
        {
            var options = new DbContextOptionsBuilder <StoreContext>()
                          .UseInMemoryDatabase(databaseName: "TestDb14")
                          .Options;

            using (var context = new StoreContext(options))
            {
                context.Database.EnsureDeleted();
                context.Database.EnsureCreated();

                StoreRepository storeRepo = new StoreRepository(context);
                StoreLogic      sl        = new StoreLogic(storeRepo);

                AStore store = new AStore();
                store.Name = "Store1";
                ItemType        item     = new ItemType("toppings");
                APizzaComponent testComp = new APizzaComponent("test", item);

                context.Add <AStore>(store);
                context.Add <ItemType>(item);
                context.Add <APizzaComponent>(testComp);
                context.SaveChanges();

                RawNewComp rawTest = new RawNewComp();
                rawTest.ID       = store.StoreID;
                rawTest.ItemID   = item.TypeID;
                rawTest.ItemName = item.Name;
                rawTest.CompName = "testcomp";
                rawTest.Price    = 0;

                Assert.True(sl.AddNewComp(rawTest));
            }
        }
Beispiel #5
0
 public ActionResult <bool> AddNewComp([FromBody] RawNewComp obj)
 {
     if (!ModelState.IsValid)
     {
         return(StatusCode(400, "Failed to create models"));
     }
     else
     {
         if (storeLogic.AddNewComp(obj))
         {
             return(StatusCode(201, "Successfully added new pizza component"));
         }
         else
         {
             return(StatusCode(500, "Failed to add new pizza component`"));
         }
     }
 }
        public bool AddNewComp(RawNewComp obj)
        {
            AStore curStore = storeRepo.FindStore(obj.ID);

            if (curStore is null)
            {
                return(false);
            }
            ItemType baseType = storeRepo.GetBaseItem(obj.ItemID);

            if (baseType is null)
            {
                return(false);
            }
            APizzaComponent pComp = GetPizzaComponent(obj.CompName, baseType);

            if (pComp is null)
            {
                return(false);
            }
            switch (obj.ItemName.ToLower())
            {
            case "crust":
            {
                return(AddNewCrust(obj, pComp, curStore));
            }

            case "size":
            {
                return(AddNewSize(obj, pComp, curStore));
            }

            case "toppings":
            {
                return(AddNewTopping(obj, pComp, curStore));
            }

            default:
            {
                return(false);
            }
            }
        }
        /// <summary>
        /// Maps RawComp to new Size object
        /// </summary>
        /// <param name="pComp">Base APizzaComponent</param>
        /// <param name="obj">New RawComp</param>
        /// <param name="curStore">AStore to add to</param>
        /// <returns></returns>
        internal Size CompToSize(APizzaComponent pComp, RawNewComp obj, AStore curStore)
        {
            Size newSize = new Size(curStore, obj.Price, 0, pComp);

            return(newSize);
        }
        /// <summary>
        /// Maps a RawComp to a Crust object
        /// </summary>
        /// <param name="pComp">BasePizzaComponent</param>
        /// <param name="obj">New RawComp</param>
        /// <param name="curStore">AStore to add to</param>
        /// <returns></returns>
        internal Crust CompToCrust(APizzaComponent pComp, RawNewComp obj, AStore curStore)
        {
            Crust newCrust = new Crust(curStore, obj.Price, 0, pComp);

            return(newCrust);
        }
        /// <summary>
        /// Maps a RawComp from user to Topping class object
        /// </summary>
        /// <param name="pComp">BasePizzaComponent</param>
        /// <param name="obj">RawComp</param>
        /// <param name="curStore">Store to add to</param>
        /// <returns>New Topping Object</returns>
        internal Topping CompToTopping(APizzaComponent pComp, RawNewComp obj, AStore curStore)
        {
            Topping newTopping = new Topping(curStore, obj.Price, 0, pComp);

            return(newTopping);
        }