コード例 #1
0
        internal static void ValidateModel(Controller controller, BookingViewModel model, int?offerid, out IEnumerable <RestaurantMenuItem> restaurantMenuItems,
                                           out IEnumerable <RestaurantTable> restaurantTables, out SeasonalOffer restaurantOffer)
        {
            if (model.BookedFor.ToUniversalTime() < DateTime.UtcNow.Floor((long)AppConfigHelper.BookingSlotMinutes, DateTimeHelper.DateTimePrecisionLevel.Minutes))
            {
                controller.ModelState.AddModelError("addstatus", "The date and time for booking should always be a future date and time");
            }
            if (model.BookedSlots < 1)
            {
                controller.ModelState.AddModelError("addstatus",
                                                    "You need to make booking for atleast " + AppConfigHelper.BookingSlotMinutes +
                                                    " Minutes");
            }
            if (model.BookedTables.IsNullOrEmpty() || model.BookedTables.Trim(',', ' ').Split(',').All(t => !t.IsNumeric()))
            {
                controller.ModelState.AddModelError("addstatus", "Invalid or no tables selected, please try again");
            }
            if (!model.PrefferedMenuItems.IsNullOrEmpty() &&
                model.BookedTables.Trim(',', ' ').Split(',').All(t => !t.IsNumeric()))
            {
                controller.ModelState.AddModelError("addstatus", "Invalid Menu Items selected, please try again");
            }
            restaurantOffer = offerid != null
                                  ? new OfferBaseRepository().Find(offerid.Value) as SeasonalOffer
                                  : null;
            var modelTables = model.BookedTables.Trim(',', ' ').Split(',').Select(Int32.Parse);

            restaurantTables =
                new RestaurantTableRepository().SelectAll().Where(table => modelTables.Any(t => t == table.TableId));
            var modelMenuItems = model.PrefferedMenuItems.IsNullOrEmpty() ? new List <int>() : model.PrefferedMenuItems.Trim(',', ' ').Split(',').Select(Int32.Parse);

            restaurantMenuItems =
                new RestaurantMenuItemRepository().SelectAll().Where(item => modelMenuItems.Any(m => m == item.ItemId));
            if (restaurantOffer != null && restaurantOffer.Type == OfferBase.OfferType.FreeServing)
            {
                var freeitem = new RestaurantMenuItemRepository().Find(restaurantOffer.Value);
                if (freeitem != null)
                {
                    var newitemlist = new List <RestaurantMenuItem> {
                        freeitem
                    };
                    newitemlist.AddRange(restaurantMenuItems);
                    restaurantMenuItems = newitemlist;
                }
            }

            if (restaurantTables.Count() < 1)
            {
                controller.ModelState.AddModelError("addstatus", "Selected Tables does not exist, please try again");
            }
            if (modelMenuItems.Count() > 0 && restaurantMenuItems.Count() < 1)
            {
                controller.ModelState.AddModelError("addstatus", "Selected Menu Items does not exist, please try again");
            }
        }
コード例 #2
0
        /// <summary>
        /// Finds all the Record with the specified BookingId
        /// </summary>
        /// <param name="bookingid">The bookingid of the record</param>
        /// <returns>Resturns the BookedTables if operation is successful otherwise returns null</returns>
        public IEnumerable<RestaurantTable> Find(int bookingid)
        {
            var items = new List<dynamic>();
            using (var cn = new SqlConnection(DatabaseConnection.ConnectionStringToDb))
            {
                using (var cmd = new SqlCommand("FindTableBookingsByBookingId", cn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add("@BOOKINGID", SqlDbType.BigInt).Value = bookingid;
                    GetAllRecord(items, cn, cmd);
                }
            }
            var tempmenulist = new RestaurantTableRepository().SelectAll();
            var finalmenulist = items.Select(item => tempmenulist.Single(menuitem => menuitem.TableId == item.TableId));

            return finalmenulist.Count() > 0 ? finalmenulist : new List<RestaurantTable>();
        }
コード例 #3
0
 public TablesController()
 {
     Repository = new RestaurantTableRepository();
 }
コード例 #4
0
 public TablesController()
 {
     Repository = new RestaurantTableRepository();
 }
コード例 #5
0
        internal static void ValidateModel(Controller controller, BookingViewModel model, int? offerid, out IEnumerable<RestaurantMenuItem> restaurantMenuItems,
                                         out IEnumerable<RestaurantTable> restaurantTables, out SeasonalOffer restaurantOffer)
        {
            if (model.BookedFor.ToUniversalTime() < DateTime.UtcNow.Floor((long)AppConfigHelper.BookingSlotMinutes, DateTimeHelper.DateTimePrecisionLevel.Minutes))
                controller.ModelState.AddModelError("addstatus", "The date and time for booking should always be a future date and time");
            if (model.BookedSlots < 1)
                controller.ModelState.AddModelError("addstatus",
                                                    "You need to make booking for atleast " + AppConfigHelper.BookingSlotMinutes +
                                                    " Minutes");
            if (model.BookedTables.IsNullOrEmpty() || model.BookedTables.Trim(',', ' ').Split(',').All(t => !t.IsNumeric()))
                controller.ModelState.AddModelError("addstatus", "Invalid or no tables selected, please try again");
            if (!model.PrefferedMenuItems.IsNullOrEmpty() &&
                model.BookedTables.Trim(',', ' ').Split(',').All(t => !t.IsNumeric()))
                controller.ModelState.AddModelError("addstatus", "Invalid Menu Items selected, please try again");
            restaurantOffer = offerid != null
                                  ? new OfferBaseRepository().Find(offerid.Value) as SeasonalOffer
                                  : null;
            var modelTables = model.BookedTables.Trim(',', ' ').Split(',').Select(Int32.Parse);
            restaurantTables =
                new RestaurantTableRepository().SelectAll().Where(table => modelTables.Any(t => t == table.TableId));
            var modelMenuItems = model.PrefferedMenuItems.IsNullOrEmpty() ? new List<int>() : model.PrefferedMenuItems.Trim(',', ' ').Split(',').Select(Int32.Parse);
            restaurantMenuItems =
                new RestaurantMenuItemRepository().SelectAll().Where(item => modelMenuItems.Any(m => m == item.ItemId));
            if (restaurantOffer!= null && restaurantOffer.Type == OfferBase.OfferType.FreeServing)
            {
                var freeitem = new RestaurantMenuItemRepository().Find(restaurantOffer.Value);
                if (freeitem != null)
                {
                    var newitemlist = new List<RestaurantMenuItem> {freeitem};
                    newitemlist.AddRange(restaurantMenuItems);
                    restaurantMenuItems = newitemlist;
                }
            }

            if (restaurantTables.Count() < 1)
                controller.ModelState.AddModelError("addstatus", "Selected Tables does not exist, please try again");
            if (modelMenuItems.Count() > 0 && restaurantMenuItems.Count() < 1)
                controller.ModelState.AddModelError("addstatus", "Selected Menu Items does not exist, please try again");
        }