public async Task <IActionResult> Edit(int id, [Bind("Id,AfterShow")] Catering catering)
        {
            if (id != catering.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(catering);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CateringExists(catering.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(catering));
        }
Exemple #2
0
        public void UpdateCatering(Catering catering, byte[] image, int categoryId)
        {
            try
            {
                SqlCommand query = PrepareCommand("UPDATE Catering " +
                                                  $"SET CateringName = @name , City = @city, Street = @street, Building = @building , Phone = @phone , WorkFrom = @workFrom , WorkTo = @workTo, Image = @image, CategoryID = @categoryId WHERE CateringID = '{catering.CateringID}'");
                query.Parameters.AddWithValue("@name", catering.Name);
                query.Parameters.AddWithValue("@city", catering.City);
                query.Parameters.AddWithValue("@street", catering.Street);
                query.Parameters.AddWithValue("@building", catering.Building);
                query.Parameters.AddWithValue("@phone", catering.Phone);
                query.Parameters.AddWithValue("@workFrom", catering.Work_From);
                query.Parameters.AddWithValue("@workTo", catering.Work_To);
                query.Parameters.AddWithValue("@image", image);
                query.Parameters.AddWithValue("@categoryId", categoryId);

                query.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
            finally
            {
                connection?.Close();
            }
        }
Exemple #3
0
        public static ObservableCollection <Catering> GetCateringCollection(SqlCommand query)
        {
            SqlDataReader reader = query.ExecuteReader();

            ObservableCollection <Catering> caterings = new ObservableCollection <Catering>();

            var imageIndex = reader.GetOrdinal("Image");


            while (reader.Read())
            {
                Catering catering = new Catering
                {
                    CateringID   = reader.GetInt32(0),
                    Name         = reader.GetString(1),
                    City         = reader.GetString(2),
                    Street       = reader.GetString(3),
                    Building     = reader.GetString(4),
                    Phone        = reader.GetString(5),
                    Work_From    = reader.GetString(6),
                    Work_To      = reader.GetString(7),
                    ImageInBytes = reader.IsDBNull(imageIndex) ? null : (byte[])(reader[8]),
                    CategoryID   = reader.GetInt32(9)
                };
                caterings.Add(catering);
            }

            reader.Close();

            return(caterings);
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            Airline  airline  = new Airline();
            Finance  finance  = new Finance();
            Sales    sales    = new Sales();
            Catering catering = new Catering();

            //link modules with events
            airline.FlightEvent    += finance.OnFlightEvent;
            airline.FlightEvent    += sales.OnFlightEvent;
            airline.FlightEvent    += catering.OnFlightEvent;
            catering.CateringEvent += finance.OnCateringEvent;

            //simulate app
            FlightReader  fr      = new FlightReader();
            List <Flight> flights = fr.ReadFlights();

            foreach (var f in flights)
            {
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine(f);
                airline.AddFlight(f);
            }

            //check observers
            catering.PrintOrderReport();
            sales.PrintAnalysisReport();
            finance.PrintCateringReport(2021);
            finance.PrintFuelReport(2021);
        }
Exemple #5
0
        public void PrintPurchasesTest()
        {
            //Arrange
            Catering     printTest = new Catering();
            CateringItem testItem  = new CateringItem();

            List <CateringItem> testList = printTest.PurchasedItems;


            testItem.IntQuantityDesired = 10;
            testItem.Type  = "D";
            testItem.Name  = "Cake";
            testItem.Price = (decimal)1.80;

            testList.Add(testItem);

            string compareResult = testItem.IntQuantityDesired.ToString().PadRight(2) + "                " + testItem.Type.PadRight(4) +
                                   "   " + testItem.Name.PadRight(20) + "   " + "$" + testItem.Price.ToString().PadRight(2) + "   " +
                                   "$" + (testItem.IntQuantityDesired * testItem.Price).ToString().PadRight(2) + "\n";


            //Act
            string result = printTest.PrintPurchases(testList);

            //Assert
            Assert.AreEqual(result, compareResult);
        }
Exemple #6
0
        public void AddMoney_does_it_add_cents()
        {
            Catering catering = new Catering();
            string   result   = catering.AddMoney(100.50M);

            Assert.AreEqual("Sorry, you can only add whole dollar amounts", result);
        }
Exemple #7
0
        public void TestCateringMethods(int MoneyAdded, int ExpectedBalance)
        {
            Catering catering = new Catering();

            catering.AddMoney((decimal)MoneyAdded);
            Assert.IsTrue((decimal)ExpectedBalance == (decimal)catering.customerMoney);
        }
Exemple #8
0
        public void AddMoney_does_it_add()
        {
            Catering catering = new Catering();
            string   result   = catering.AddMoney(100.00M);

            Assert.AreEqual("Added successfully", result);
        }
Exemple #9
0
        public void TestCanAddMoney(int MoneyToAdd, bool ExpectedBalance)
        {
            Catering catering = new Catering();
            bool     result   = catering.CanAddMoney((decimal)MoneyToAdd);

            Assert.IsTrue(ExpectedBalance == result);
        }
Exemple #10
0
        public async Task <bool> CreateCateringAsync(Catering catering, string[] cateringCategories)
        {
            List <CateringCategory> cateringCategoriesForDb = new List <CateringCategory>();

            foreach (string cateringCategory in cateringCategories)
            {
                var category = context.Categories.Single(c => c.Name == cateringCategory);
                if (category == null)
                {
                    return(false);
                }

                cateringCategoriesForDb.Add(new CateringCategory {
                    Category = context.Categories.Single(c => c.Name == cateringCategory), Catering = catering
                });
            }

            catering.CateringCategories = cateringCategoriesForDb;

            await context.Caterings.AddAsync(catering);

            var created = await context.SaveChangesAsync();

            return(created > 0);
        }
Exemple #11
0
        public async Task <IActionResult> UpdateCatering([FromRoute] int cateringId, [FromBody] CateringDetailModel model)
        {
            Catering catering = await cateringDbContext.Caterings
                                .Include(x => x.CateringEmployees)
                                .Include(x => x.CateringDishes)
                                .FirstOrDefaultAsync(x => x.CateringId == cateringId);

            catering.CateringName = model.CateringName;
            catering.ClientName   = model.ClientName;
            catering.CateringDate = DateTime.Parse(model.CateringDate, new CultureInfo("hr-HR"));
            catering.VehicleId    = (int)model.Vehicles[0].VehicleId;

            if (catering.VehicleId == 0)
            {
                catering.VehicleId = null;
            }

            catering.CateringEmployees = model.Users.Select(x => new CateringEmployees
            {
                CateringId = cateringId,
                UserId     = (int)x.UserId
            }).ToList();

            catering.CateringDishes = model.Dishes.Select(x => new CateringDishes
            {
                CateringId = cateringId,
                DishId     = x.Id
            }).ToList();

            cateringDbContext.Update <Catering>(catering);
            await cateringDbContext.SaveChangesAsync();

            return(Ok());
        }
Exemple #12
0
 public vm_catering(GmmDbContext pContext)
 {
     _context  = pContext;
     _catering = new Catering {
         Id = 0, AfterShow = false, BoekingId = 0, Special = false, TakeAwayFood = false
     };
 }
        public async Task <ActionResult> Update([FromRoute] Guid cateringId, [FromBody] UpdateCateringRequest request)
        {
            // validate static category list
            foreach (string category in request.CateringCategories)
            {
                if (Categories.CategoriesList.Find(c => c == category) == null)
                {
                    return(BadRequest(new ApiErrorResponse()
                    {
                        ErrorType = "Bad Request",
                        StatusCode = 400,
                        Errors = new[] { "Category doesn't exist." }
                    }));
                }
            }

            // validate static session list
            foreach (UpdateCateringUnavailabilityRequest unavailability in request.CateringUnavailabilities)
            {
                if (CateringSession.sessionsList.Find(u => u == unavailability.Session) == null)
                {
                    return(BadRequest(new ApiErrorResponse()
                    {
                        ErrorType = "Bad Request",
                        StatusCode = 400,
                        Errors = new[] { "Session doesn't exist." }
                    }));
                }
            }


            var catering = new Catering()
            {
                Id      = cateringId,
                Name    = request.Name,
                Details = request.Details
            };

            var updated = await cateringService.UpdateCateringAsync(catering, request.CateringCategories);

            if (updated)
            {
                CateringResponse cateringDto = new CateringResponse
                {
                    Id         = cateringId,
                    Name       = request.Name,
                    Details    = request.Details,
                    Categories = request.CateringCategories.ToList()
                };
                return(Ok(cateringDto));
            }

            return(NotFound(new ApiErrorResponse()
            {
                ErrorType = "Not Found",
                StatusCode = 404,
                Errors = new[] { "Catering not found." }
            }));
        }
Exemple #14
0
        public async Task <ActionResult> UpgadeToCaterer([FromBody] UpgradeToCatererRequest request)
        {
            // validate response model state
            if (!ModelState.IsValid)
            {
                return(BadRequest(new CreateCateringFailedResponse()
                {
                    Errors = ModelState.Values.SelectMany(m => m.Errors.Select(e => e.ErrorMessage))
                }));
            }

            foreach (string category in request.CateringCategories)
            {
                if (Categories.CategoriesList.Find(c => c == category) == null)
                {
                    return(BadRequest(new CreateCateringFailedResponse()
                    {
                        Errors = new[] { "Category doesn't exist." }
                    }));
                }
            }

            var upgradeResult = await accountService.UpgradeCustomerToCatererAsync(request.Email);

            if (!upgradeResult.Success)
            {
                return(NotFound(new ResourceNotFoundResponse()
                {
                    Errors = upgradeResult.Errors
                }));
            }

            var catering = new Catering()
            {
                Name    = request.CateringName,
                Details = request.CateringDetails,
                UserId  = upgradeResult.UserId
            };

            var created = await cateringService.CreateCateringAsync(catering, request.CateringCategories);

            if (!created)
            {
                return(BadRequest(new CreateCateringFailedResponse()
                {
                    Errors = new[] { "Unable to create a catering." }
                }));
            }

            var baseUrl     = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host.ToUriComponent()}";
            var locationUrl = baseUrl + "/" + ApiRoutes.Caterings.Get.Replace("{cateringId}", catering.Id.ToString());

            var response = new UpgradeToCatererResponse()
            {
                CateringId = catering.Id, UserId = upgradeResult.UserId
            };

            return(Created(locationUrl, response));
        }
Exemple #15
0
        public void Update_does_it_check_item_codes()
        {
            Catering catering = new Catering();

            string result = catering.Update("H2", 20);

            Assert.AreEqual("Sorry, that product doesn't exist.", result);
        }
Exemple #16
0
        public void AddMoney_does_it_allow_more_than_5k()
        {
            Catering catering = new Catering();

            string result = catering.AddMoney(10000.00M);

            Assert.AreEqual("Sorry, your account balance can't exceed $5000", result);
        }
Exemple #17
0
        public ActionResult DeleteConfirmed(int id)
        {
            Catering catering = db.Caterings.Find(id);

            db.Caterings.Remove(catering);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemple #18
0
        public void Check_that_catering_object_is_created()
        {
            // Arrange
            // Act
            Catering catering = new Catering();

            //Assert
            Assert.IsNotNull(catering);
        }
Exemple #19
0
        public void TestSpendMoney(int costOfPurchase, int expectedBalance)
        {
            Catering catering   = new Catering();
            decimal  moneyToAdd = 4000m;
            bool     moneyAdded = catering.AddMoney(moneyToAdd);
            decimal  result     = catering.SpendMoney((decimal)costOfPurchase);

            Assert.AreEqual((decimal)expectedBalance, result);
        }
Exemple #20
0
        public void AddMoney_does_it_add_to_existing_balance()
        {
            Catering catering = new Catering();

            catering.AccountBalance = 100.00m;
            string result = catering.AddMoney(100.00M);

            Assert.AreEqual("Added successfully", result);
        }
Exemple #21
0
        public void AddMoney_cant_pass_5K_w_balance()
        {
            Catering catering = new Catering();

            catering.AccountBalance = 250.00M;
            string result = catering.AddMoney(5000.00M);

            Assert.AreEqual("Sorry, your account balance can't exceed $5000", result);
        }
Exemple #22
0
        public void GetCateringItems_does_it_return_menu()
        {
            Catering catering = new Catering();

            CateringItem[] array  = catering.GetCateringItems();
            string         result = array[0].ToString();

            Assert.AreEqual("Item code B1, Soda, $1.50, 50 available", result);
        }
Exemple #23
0
        public void Change_does_it_give_small_bills()
        {
            Catering catering = new Catering();
            Change   change   = new Change();

            catering.AccountBalance = 116M;
            string result = change.GiveChange(catering);

            Assert.AreEqual($"You were given 5 20's, 1 10's, 1 5's, 1 1's, 0 quarters, 0 dimes, and 0 nickels. Thanks!", result);
        }
        public void ShouldNotBeABleToAddMoneyOver5000(double input, double accountBalance, double expectedResult)
        {
            //arrange
            Catering newCatering = new Catering();
            //act
            double balance = newCatering.AddMoneyToBalance(input, accountBalance);

            //assert
            Assert.AreEqual(expectedResult, balance);
        }
Exemple #25
0
 public ActionResult Edit([Bind(Include = "CateringID,CateringPackage,CateringPrice")] Catering catering)
 {
     if (ModelState.IsValid)
     {
         db.Entry(catering).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(catering));
 }
Exemple #26
0
        public void TotalPurchase_test_if_no_purchase()
        {
            Catering catering = new Catering();

            catering.AccountBalance = 5000M;

            decimal result = catering.TotalPurchase();

            Assert.AreEqual(0, result);
        }
Exemple #27
0
        public void Update_does_it_check_money()
        {
            Catering catering = new Catering();

            catering.AccountBalance = 1M;

            string result = catering.Update("B1", 30);

            Assert.AreEqual("Sorry, you don't have enough money for that.", result);
        }
Exemple #28
0
        public void Change_if_no_balance()
        {
            Catering catering = new Catering();
            Change   change   = new Change();

            catering.AccountBalance = 0M;
            string result = change.GiveChange(catering);

            Assert.AreEqual($"You were given 0 20's, 0 10's, 0 5's, 0 1's, 0 quarters, 0 dimes, and 0 nickels. Thanks!", result);
        }
Exemple #29
0
        public void Change_does_it_give_bills_and_coins()
        {
            Catering catering = new Catering();
            Change   change   = new Change();

            catering.AccountBalance = 36.40M;
            string result = change.GiveChange(catering);

            Assert.AreEqual($"You were given 1 20's, 1 10's, 1 5's, 1 1's, 1 quarters, 1 dimes, and 1 nickels. Thanks!", result);
        }
Exemple #30
0
        public void Update_does_it_check_quantity()
        {
            Catering catering = new Catering();

            catering.AccountBalance = 300M;

            string result = catering.Update("B1", 51);

            Assert.AreEqual("Sorry, but we don't have enough of that.", result);
        }