public GroupedDeliveryDestinationItemView(GroupedDeliveryDestination groupedDeliveryDestination)
 {
     Model = groupedDeliveryDestination;
 }
Пример #2
0
        public List <RMenuOrderingAvailableSlot> SearchAvailableOrderTimes(int locid, DateTime dt, DateTime dtEnd, bool isDelivery, GroupedDeliveryDestination groupedDeliveryDestination = null)
        {
            if (locid > 0)
            {
                //var location = Shared.APIs.IRestaurant.GetLocation(locid);
                //var menus = Shared.APIs.IRestaurant.GetMenus(locid);
                List <RMenuOrderingAvailableSlot> MenuOrderingAvailables = new List <RMenuOrderingAvailableSlot>();

                var orderDate = dt.ToString("yyyy-MM-dd HH:mm:ssZ");       // string.Format("{0}-{1}-{2} hh:mm:ss", dt.Year, dt.Month, dt.Day);
                                                                           //var orderDateEnd = string.Format("{0}-{1}-{2}", dtEnd.Year, dtEnd.Month, dtEnd.Day);
                var orderDateEnd = dtEnd.ToString("yyyy-MM-dd HH:mm:ssZ"); // string.Format("{0}-{1}-{2} hh:mm:ss", dt.Year, dt.Month, dt.Day);


                List <ColonyConcierge.APIData.Data.RMenuOrderingAvailableSlot> availableTimes = new List <RMenuOrderingAvailableSlot>();
                if (groupedDeliveryDestination == null)
                {
                    availableTimes = Shared.APIs.IRestaurant.GetLocationAvailableOrderTimes(locid, orderDate, orderDateEnd);
                }
                else
                {
                    //foreach (var menu in menus)
                    {
                        var availableTimesMenu = Shared.APIs.IRestaurant.GetLocationAvailableOrderTimes(locid, orderDate, orderDateEnd, groupedDeliveryDestination.ID);
                        if (availableTimesMenu != null)
                        {
                            availableTimes.AddRange(availableTimesMenu);
                        }
                    }
                }

                if (availableTimes != null)
                {
                    MenuOrderingAvailables.AddRange(availableTimes.Where(w => w.IsDelivery == isDelivery));
                }

                //foreach (var menu in menus)
                //{
                //	var availableTimes = Shared.APIs.IRestaurant.GetAvailableOrderTimes(locid, menu.ID, orderDate, orderDateEnd);
                //	if (availableTimes != null)
                //	{
                //		MenuOrderingAvailables.AddRange(availableTimes.Where(w => w.IsDelivery == isDelivery));
                //	}
                //	//MenuOrderingAvailables.AddRange(availableTimes.Where(w => !MenuOrderingAvailables.Select(s => s.StartTime).Contains(w.StartTime)));
                //}

                return(SearchAvailableOrderTimes(MenuOrderingAvailables));

                //if (MenuOrderingAvailables.Count > 0)
                //{
                //	// return Ok(MenuOrderingAvailables.Select(s => DateTime.Parse(s.StartTime.Time).ToUniversalTime().AddMinutes(s.LeadTimeMinutes).ToString("hh:mm tt")).Distinct());
                //	//return Ok(MenuOrderingAvailables.GroupBy(x => x.StartTime.Time).Select(s => new System.Web.Mvc.SelectListItem { Text = s.First().StartTime.Time, Value = s.First().ID.ToString() }).Distinct());
                //	return MenuOrderingAvailables.GroupBy(x => x.StartTime.Time).Select(s => s.First()).ToList();
                //}
            }
            return(new List <RMenuOrderingAvailableSlot>());
        }
Пример #3
0
        public List <RMenuOrderingAvailableSlot> RefreshMenus(List <RMenu> menus, int locid, DateTime dt, DateTime dtEnd, bool isDelivery, GroupedDeliveryDestination groupedDeliveryDestination = null)
        {
            List <RMenuOrderingAvailableSlot> MenuOrderingAvailables = new List <RMenuOrderingAvailableSlot>();
            var orderDate    = dt.ToString("yyyy-MM-dd HH:mm:ssZ");//string.Format("{0}-{1}-{2} hh:mm:ss", dt.Year, dt.Month, dt.Day);
            var orderDateEnd = string.Format("{0}-{1}-{2}", dtEnd.Year, dtEnd.Month, dtEnd.Day);

            List <ColonyConcierge.APIData.Data.RMenuOrderingAvailableSlot> availableTimes = new List <RMenuOrderingAvailableSlot>();

            if (groupedDeliveryDestination == null)
            {
                availableTimes = Shared.APIs.IRestaurant.GetLocationAvailableOrderTimes(locid, orderDate, orderDateEnd);
            }
            else
            {
                //foreach (var menu in menus)
                {
                    var availableTimesMenu = Shared.APIs.IRestaurant.GetLocationAvailableOrderTimes(locid, orderDate, orderDateEnd, groupedDeliveryDestination.ID);
                    if (availableTimesMenu != null)
                    {
                        availableTimes.AddRange(availableTimesMenu);
                    }
                }
            }
            if (availableTimes != null)
            {
                MenuOrderingAvailables.AddRange(availableTimes.Where(w => w.IsDelivery == isDelivery));
            }
            //foreach (var menu in menus)
            //{
            //	var availableTimes = Shared.APIs.IRestaurant.GetAvailableOrderTimes(locid, menu.ID, orderDate, orderDateEnd);
            //	if (availableTimes != null)
            //	{
            //		foreach (var availableTime in availableTimes)
            //		{
            //			availableTime.RelatedLocationID = menu.ID;
            //		}
            //		MenuOrderingAvailables.AddRange(availableTimes.Where(w => w.IsDelivery == isDelivery));
            //	}
            //}

            return(MenuOrderingAvailables);
        }
Пример #4
0
        //public List<RMenuGroupModifierVM> GetMenuItemModifiers(RMenuItemVM model)
        //{
        //	List<RMenuGroupModifierVM> result = new List<RMenuGroupModifierVM>();
        //	List<RMenuModifierPrice> ModifierPriceList = new List<RMenuModifierPrice>();

        //	//Add menu item modifier Price list
        //	if (model.MenuItem.ModifierPriceIDs != null && model.MenuItem.ModifierPriceIDs.Count > 0)
        //	{
        //		foreach (var modifierPrice in model.MenuItem.ModifierPriceIDs)
        //		{
        //			var pricemodel = Shared.APIs.IRestaurant.GetModifierPrice(model.LocationId, model.MenuId, model.MenuItem.ID, modifierPrice);
        //			ModifierPriceList.Add(pricemodel);
        //		}
        //	}

        //	//Filter and add menu item modifiers
        //	if (model.MenuItem.ModifierGroupIDs != null && model.MenuItem.ModifierGroupIDs.Count > 0)
        //	{
        //		foreach (var modifier in model.MenuItem.ModifierGroupIDs)
        //		{
        //			RMenuGroupModifierVM GroupModeifierVM = new RMenuGroupModifierVM();
        //			List<RMenuModifierVM> menuModifierVMList = new List<RMenuModifierVM>();
        //			GroupModeifierVM.MenuModifierGroup = Shared.APIs.IRestaurant.GetMenuModifierGroup(model.LocationId, model.MenuId, modifier);
        //			var GroupModifiers = Shared.APIs.IRestaurant.GetMenuModifiers(model.LocationId, model.MenuId, modifier);
        //			foreach (var GroupModifier in GroupModifiers)
        //			{
        //				RMenuModifierVM menuModifierVM = new RMenuModifierVM();
        //				menuModifierVM.MenuModifier = GroupModifier;
        //				menuModifierVM.IsSelected = GroupModifier.ApplyByDefault;
        //				menuModifierVM.SubMenuModifiers = new List<RMenuModifierVM>();
        //				foreach (var SubmodifierGroup in GroupModifier.SubmodifierGroupIDs)
        //				{
        //					menuModifierVM.SubMenuModifierGroup = Shared.APIs.IRestaurant.GetMenuModifierGroup(model.LocationId, model.MenuId, SubmodifierGroup);
        //					menuModifierVM.SubMenuModifiers.AddRange(Shared.APIs.IRestaurant.GetMenuModifiers(model.LocationId, model.MenuId, SubmodifierGroup).Select(s => new RMenuModifierVM { MenuModifier = s, IsSelected = s.ApplyByDefault }));
        //				}
        //				var modifierPrice = ModifierPriceList.Where(w => w.ModifierID == GroupModifier.ID).FirstOrDefault();
        //				if (modifierPrice != null)
        //				{
        //					menuModifierVM.ModifierPrice = modifierPrice.Price;
        //					menuModifierVM.Additive = modifierPrice.Additive;
        //				}
        //				else
        //				{
        //					menuModifierVM.ModifierPrice = GroupModifier.Price;
        //				}
        //				menuModifierVMList.Add(menuModifierVM);
        //			}

        //			//Add menu item modifiers
        //			GroupModeifierVM.MenuModifiers = menuModifierVMList;
        //			result.Add(GroupModeifierVM);
        //		}
        //	}
        //	return result;
        //}

        public List <RMenuOrderingAvailableSlot> SearchAvailableOrderTimes(int locid, DateTime startDate, bool isDelivery, GroupedDeliveryDestination groupedDeliveryDestination = null)
        {
            return(SearchAvailableOrderTimes(locid, startDate, startDate, isDelivery, groupedDeliveryDestination));
        }
Пример #5
0
        public List <RMenuOrderingAvailableSlot> RefreshMenus(int locid, DateTime startDate, DateTime endDate, bool isDelivery, GroupedDeliveryDestination groupedDeliveryDestination = null)
        {
            List <RMenuOrderingAvailableSlot> MenuOrderingAvailables = new List <RMenuOrderingAvailableSlot>();

            if (locid > 0)
            {
                var menus = Shared.APIs.IRestaurant.GetMenus(locid);
                return(RefreshMenus(menus, locid, startDate, endDate, isDelivery));
            }
            return(MenuOrderingAvailables);
        }