public GroupedDeliveryDestinationItemView(GroupedDeliveryDestination groupedDeliveryDestination) { Model = groupedDeliveryDestination; }
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>()); }
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); }
//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)); }
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); }