public Tuple <string, DateTime> GetNameAndDateAndMenuItems(hccCartItem cartItem, hccCartItemCalendar cartCalendar) //, out List<hccMenuItem> menuItems) { string newName = cartItem.SimpleName; DateTime?delDate = null; Tuple <string, DateTime> retVal = null; try { hccProductionCalendar prodCal = hccProductionCalendar.GetById(cartCalendar.CalendarID); if (prodCal != null) { hccProgramPlan plan = hccProgramPlan.GetById(cartItem.Plan_PlanID.Value); List <hccCartItemCalendar> cartCals = hccCartItemCalendar.GetByCartItemID(cartItem.CartItemID); hccCartItemCalendar cartCal = cartCals.Where(a => a.CalendarID == prodCal.CalendarID).SingleOrDefault(); if (cartCal != null) { int cartCalIndex = cartCals.IndexOf(cartCal); newName += " - Week: " + (cartCalIndex + 1).ToString(); delDate = prodCal.DeliveryDate; } } } catch { throw; } if (delDate.HasValue) { retVal = new Tuple <string, DateTime>(newName, delDate.Value); } return(retVal); }
public void AddCartItem(hccCartItem cartItem) { if (cartItem != null && !_cartItems.Any(ci => ci.CartItemID == cartItem.CartItemID)) { _cartItems.Add(cartItem); } }
public static hccCartItem Gift_GenerateNew(int cartId) { try { string redeemCode = Guid.NewGuid().ToString().Substring(0, 8).ToUpper(); while (RedeemCodeExists(redeemCode)) { redeemCode = Guid.NewGuid().ToString().Substring(0, 8).ToUpper(); } hccCartItem giftCert = new hccCartItem { CartID = cartId, ItemTypeID = (int)Enums.CartItemType.GiftCard, IsTaxable = false, Quantity = 1, CreatedBy = (Helpers.LoggedUser == null ? Guid.Empty : (Guid)Helpers.LoggedUser.ProviderUserKey), CreatedDate = DateTime.Now, IsCompleted = false, Gift_RedeemCode = redeemCode }; hccCart userCart = hccCart.GetById(cartId); if (userCart.AspNetUserID.HasValue && userCart.AspNetUserID.Value != Guid.Empty) { hccUserProfile prof = hccUserProfile.GetParentProfileBy(userCart.AspNetUserID.Value); if (prof != null) { giftCert.UserProfileID = prof.UserProfileID; } giftCert.Gift_IssuedTo = userCart.AspNetUserID; giftCert.Gift_IssuedDate = DateTime.Now; } return(giftCert); } catch (Exception ex) { throw ex; } }
public AggrCartItem(hccCartItem cartItem, bool includeSnapshot) : this() { try { CartItem = cartItem; if (includeSnapshot) { CartSnap = hccCartSnapshot.GetBy(cartItem.CartID); } CartItemId = cartItem.CartItemID; SimpleName = cartItem.SimpleName; DeliveryDate = cartItem.DeliveryDate; } catch (Exception) { throw; } }
public bool RemoveFamilyStyle(int cartItemId) { try { int result = 0; using (var cont = new healthychefEntities()) { hccCartItem hcccartItem = cont.hccCartItems.FirstOrDefault(x => x.CartItemID == cartItemId); if (hcccartItem != null) { if (hcccartItem.Plan_IsAutoRenew == true) { hcccartItem.Plan_IsAutoRenew = false; } else { hcccartItem.Plan_IsAutoRenew = true; } hcccartItem.Save(); result = 1; } } if (result > 0) { return(true); } else { return(false); } } catch (Exception ex) { throw ex; } }
public static List <ProgramPlanCountItemHolder> GetProgramPlanCounts(DateTime startDate, DateTime endDate) { try { List <ProgramPlanCountItemHolder> retVals = new List <ProgramPlanCountItemHolder>(); List <MealItemReportItem> mealItems = ReportSprocs.GetMenuItemsByDateRange(startDate, endDate) .Where(a => ((Enums.MealTypes)a.MealTypeId).ToString().Contains("Entree")) .OrderBy(a => a.DeliveryDate).ThenBy(a => a.CartItemId).ThenBy(a => a.DayNum).ThenBy(a => a.MealTypeId).ToList(); mealItems.ForEach(delegate(MealItemReportItem result) { if (result.PlanId != 0) { if (retVals.Count(a => a.DeliveryDate == result.DeliveryDate && a.PlanId == result.PlanId) == 0) { ProgramPlanCountItemHolder newVal = new ProgramPlanCountItemHolder { DeliveryDate = result.DeliveryDate, PlanId = result.PlanId }; retVals.Add(newVal); } } else { if (retVals.Count(a => a.DeliveryDate == result.DeliveryDate && a.PlanId == result.PlanId && a.IsFamilyStyle == result.IsFamilyStyle) == 0) { ProgramPlanCountItemHolder newVal = new ProgramPlanCountItemHolder { DeliveryDate = result.DeliveryDate, PlanId = result.PlanId, IsFamilyStyle = result.IsFamilyStyle, CartId = result.CartId }; retVals.Add(newVal); } } }); int UpdateOrderCount = 0; int UpdateCount = 0; bool IsUpdate = false; List <int> CartIds; hccCartItem hcccartItem = new hccCartItem(); List <hccCartItem> hcccartItems = new List <hccCartItem>(); retVals.ForEach(delegate(ProgramPlanCountItemHolder holder) { if (holder.PlanId == 0 && holder.IsFamilyStyle == false) { holder.PlanName = "ALC Individual Portions"; holder.ProgramName = "ALC Individual Portions"; } else if (holder.PlanId == 0 && holder.IsFamilyStyle == true) { holder.PlanName = "ALC Family Style"; holder.ProgramName = "ALC Family Style"; } else { hccProgramPlan plan = hccProgramPlan.GetById(holder.PlanId); if (plan != null) { holder.PlanName = plan.Name; hccProgram program = hccProgram.GetById(plan.ProgramID); if (program != null) { holder.ProgramName = program.Name; } } } var oc = mealItems.Where(a => a.DeliveryDate == holder.DeliveryDate && a.PlanId == holder.PlanId) .GroupBy(a => a.OrderNumber).Distinct(); if (holder.PlanId == 0 && holder.IsFamilyStyle == false) { oc = mealItems.Where(a => a.DeliveryDate == holder.DeliveryDate && a.PlanId == holder.PlanId && a.IsFamilyStyle == holder.IsFamilyStyle) .GroupBy(a => a.OrderNumber).Distinct(); } else if (holder.PlanId == 0 && holder.IsFamilyStyle == true) { oc = mealItems.Where(a => a.DeliveryDate == holder.DeliveryDate && a.PlanId == holder.PlanId && a.IsFamilyStyle == holder.IsFamilyStyle) .GroupBy(a => a.OrderNumber).Distinct(); } holder.OrderCount = oc.Count(); int mealCount = 0; oc.ToList().ForEach(delegate(IGrouping <string, MealItemReportItem> orderNumGroup) { var g = orderNumGroup.ToList(); g.ForEach(delegate(MealItemReportItem result) { mealCount += result.Quantity; }); }); holder.MealCount = mealCount; if (holder.PlanId == 0 && holder.IsFamilyStyle == false) { CartIds = mealItems.Where(x => x.PlanId == 0 && x.DeliveryDate == holder.DeliveryDate).Select(x => x.CartId).Distinct().ToList(); foreach (var id in CartIds) { hcccartItems = GetCartItemsByCartId(id, holder.DeliveryDate); if (hcccartItems.Count() > 1) { foreach (var item in hcccartItems) { if (item.Plan_IsAutoRenew == true && item.ItemTypeID == 1) { UpdateOrderCount++; } else if (item.Plan_IsAutoRenew == false && item.ItemTypeID == 1) { IsUpdate = true; } } if (UpdateOrderCount > 0 && IsUpdate) { UpdateCount++; UpdateOrderCount = 0; } } IsUpdate = false; } if (UpdateCount > 0) { var items = retVals.Where(x => x.PlanName == "ALC Individual Portions" && x.DeliveryDate == holder.DeliveryDate).FirstOrDefault(); items.OrderCount = items.OrderCount - UpdateCount; UpdateCount = 0; //foreach (var item in retVals) //{ // if (item.PlanName == "ALC Individual Portions" && item.DeliveryDate==holder.DeliveryDate) // { // item.OrderCount = item.OrderCount - UpdateOrderCount; // } //} } } }); return(retVals.OrderBy(a => a.DeliveryDate).ThenBy(a => a.ProgramName).ThenBy(a => a.PlanName).ToList()); } catch { throw; } }
public static List <MOTCartItem> GetFromCartCalendarForWaaG(hccCartItemCalendar cartCal) { List <MOTCartItem> retMotItems = new List <MOTCartItem>(); hccCartItem cartItem = hccCartItem.GetById(cartCal.CartItemID); hccProductionCalendar prodCal = hccProductionCalendar.GetById(cartCal.CalendarID); hccProgramPlan plan = hccProgramPlan.GetById(cartItem.Plan_PlanID.Value); List <hccProgramDefaultMenu> defMenus = hccProgramDefaultMenu.GetBy(cartCal.CalendarID, plan.ProgramID); List <hccMenuItem> planMeals = new List <hccMenuItem>(); defMenus.ForEach(delegate(hccProgramDefaultMenu defMenu) { hccCartDefaultMenuException cartDefMenuEx = hccCartDefaultMenuException.GetBy(defMenu.DefaultMenuID, cartCal.CartCalendarID); hccMenuItem selItem; Enums.CartItemSize selPortionSize; string prefsString = string.Empty; if (cartDefMenuEx == null) { selItem = hccMenuItem.GetById(defMenu.MenuItemID); selPortionSize = (Enums.CartItemSize)defMenu.MenuItemSizeID; prefsString = "None"; } else { selItem = hccMenuItem.GetById(cartDefMenuEx.MenuItemID); selPortionSize = (Enums.CartItemSize)cartDefMenuEx.MenuItemSizeID; prefsString = hccCartDefaultMenuExPref.GetPrefsBy(cartDefMenuEx.DefaultMenuExceptID) .Select(a => a.Name).DefaultIfEmpty("None").Aggregate((c, d) => c + ", " + d); } MOTCartItem curMotItem = null; if (selItem != null) { if (selPortionSize == Enums.CartItemSize.NoSize) { selPortionSize = Enums.CartItemSize.RegularSize; } curMotItem = new MOTCartItem { CartItem = cartItem, CartItemId = cartItem.CartItemID, CustomerName = cartItem.UserProfile.ParentProfileName, OrderNumber = cartItem.OrderNumber, DeliveryDate = prodCal.DeliveryDate, DayNumber = defMenu.DayNumber, ItemName = selItem.Name, MealType = selItem.MealType, PortionSize = Enums.GetEnumDescription(selPortionSize), Preferences = prefsString, ProfileName = cartItem.UserProfile.ProfileName, Servings = cartItem.Quantity.ToString() }; retMotItems.Add(curMotItem); } }); return(retMotItems); }
public static List <MOTCartItem> GetFromCartCalendarForMOT(hccCartItemCalendar cartCal) { try { List <MOTCartItem> retMotItems = new List <MOTCartItem>(); List <MOTCartItem> addlMotItems = new List <MOTCartItem>(); hccCartItem cartItem = hccCartItem.GetById(cartCal.CartItemID); hccProductionCalendar prodCal = hccProductionCalendar.GetById(cartCal.CalendarID); hccProgramPlan plan = hccProgramPlan.GetById(cartItem.Plan_PlanID.Value); List <hccProgramDefaultMenu> defMenus = hccProgramDefaultMenu.GetBy(cartCal.CalendarID, plan.ProgramID, plan.NumDaysPerWeek); List <hccMenuItem> planMeals = new List <hccMenuItem>(); defMenus.ForEach(delegate(hccProgramDefaultMenu defMenu) { hccCartDefaultMenuException cartDefMenuEx = hccCartDefaultMenuException.GetBy(defMenu.DefaultMenuID, cartCal.CartCalendarID); hccMenuItem selItem; Enums.CartItemSize selPortionSize = Enums.CartItemSize.NoSize; string prefsString = string.Empty; if (cartDefMenuEx == null) { selItem = hccMenuItem.GetById(defMenu.MenuItemID); selPortionSize = (Enums.CartItemSize)defMenu.MenuItemSizeID; prefsString = "None"; } else { selItem = hccMenuItem.GetById(cartDefMenuEx.MenuItemID); selPortionSize = (Enums.CartItemSize)cartDefMenuEx.MenuItemSizeID; try { prefsString = string.Empty; List <hccPreference> prefs = hccCartDefaultMenuExPref.GetPrefsBy(cartDefMenuEx.DefaultMenuExceptID); prefsString = prefs.Select(a => a.Name).DefaultIfEmpty("None").Aggregate((c, d) => c + ", " + d); } catch (Exception) { throw; } } if (selPortionSize == Enums.CartItemSize.NoSize) { selPortionSize = Enums.CartItemSize.RegularSize; } MOTCartItem curMotItem = null; if (selItem != null) { if (selItem.MealType == Enums.MealTypes.BreakfastEntree || selItem.MealType == Enums.MealTypes.LunchEntree || selItem.MealType == Enums.MealTypes.DinnerEntree || selItem.MealType == Enums.MealTypes.ChildEntree || selItem.MealType == Enums.MealTypes.Beverage || selItem.MealType == Enums.MealTypes.Dessert || selItem.MealType == Enums.MealTypes.Goods || selItem.MealType == Enums.MealTypes.Miscellaneous || selItem.MealType == Enums.MealTypes.Salad || selItem.MealType == Enums.MealTypes.Snack || selItem.MealType == Enums.MealTypes.Soup || selItem.MealType == Enums.MealTypes.Supplement) { curMotItem = retMotItems.FirstOrDefault(a => a.DayNumber == defMenu.DayNumber && a.MealType == selItem.MealType); if (curMotItem == null || curMotItem.MealType == Enums.MealTypes.Snack) { curMotItem = new MOTCartItem { CartItem = cartItem, CartItemId = cartItem.CartItemID, CustomerName = cartItem.UserProfile.ParentProfileName, OrderNumber = cartItem.OrderNumber + "-PRG", DeliveryDate = prodCal.DeliveryDate, DayNumber = defMenu.DayNumber, ItemName = selItem.Name, MealType = selItem.MealType, PortionSize = Enums.GetEnumDescription(selPortionSize), Preferences = prefsString, ProfileName = cartItem.UserProfile != null ? cartItem.UserProfile.ProfileName : string.Empty, Servings = cartItem.Quantity.ToString(), MenuItem = selItem, Quantity = cartItem.Quantity, Sides = "None" }; if (cartItem.SnapShipAddrId.HasValue) { hccAddress addr = hccAddress.GetById(cartItem.SnapShipAddrId.Value); curMotItem.DeliveryMethod = ((Enums.DeliveryTypes)addr.DefaultShippingTypeID).ToString(); } retMotItems.Add(curMotItem); } else { curMotItem.Sides += selPortionSize + " - " + selItem.Name; } } else { // get parent entree type Enums.MealTypes parentType = Enums.MealTypes.Unknown; if (selItem.MealType == Enums.MealTypes.BreakfastSide) { parentType = Enums.MealTypes.BreakfastEntree; } else if (selItem.MealType == Enums.MealTypes.LunchSide) { parentType = Enums.MealTypes.LunchEntree; } else if (selItem.MealType == Enums.MealTypes.DinnerSide) { parentType = Enums.MealTypes.DinnerEntree; } else if (selItem.MealType == Enums.MealTypes.OtherSide) { parentType = Enums.MealTypes.OtherEntree; } else if (selItem.MealType == Enums.MealTypes.ChildSide) { parentType = Enums.MealTypes.ChildEntree; } curMotItem = retMotItems.FirstOrDefault(a => a.DayNumber == defMenu.DayNumber && a.MealType == parentType); if (curMotItem == null) { curMotItem = retMotItems.FirstOrDefault(a => a.DayNumber == defMenu.DayNumber); if (curMotItem == null) { curMotItem = new MOTCartItem { CartItem = cartItem, CartItemId = cartItem.CartItemID, CustomerName = cartItem.UserProfile.ParentProfileName, OrderNumber = cartItem.OrderNumber + "-PRG", DeliveryDate = prodCal.DeliveryDate, DayNumber = defMenu.DayNumber, ItemName = selItem.Name, MealType = selItem.MealType, PortionSize = Enums.GetEnumDescription(selPortionSize), Preferences = prefsString, ProfileName = cartItem.UserProfile != null ? cartItem.UserProfile.ProfileName : string.Empty, Servings = cartItem.Quantity.ToString(), MenuItem = selItem, Quantity = cartItem.Quantity, Sides = "None" }; if (cartItem.SnapShipAddrId.HasValue) { hccAddress addr = hccAddress.GetById(cartItem.SnapShipAddrId.Value); curMotItem.DeliveryMethod = ((Enums.DeliveryTypes)addr.DefaultShippingTypeID).ToString(); } retMotItems.Add(curMotItem); } } else { if (string.IsNullOrWhiteSpace(curMotItem.Sides)) { curMotItem.Sides = selItem.Name; if (prefsString != "None" && !string.IsNullOrWhiteSpace(prefsString)) { curMotItem.Sides += " (" + prefsString + ")"; } } else { if (curMotItem.Sides == "None") { curMotItem.Sides = selItem.Name; } else { curMotItem.Sides += ", " + selItem.Name; } if (prefsString != "None" && !string.IsNullOrWhiteSpace(prefsString)) { curMotItem.Sides += " (" + prefsString + ")"; } } } } } }); List <MOTCartItem> removeDupItems = new List <MOTCartItem>(); retMotItems.ForEach(delegate(MOTCartItem motItem) { if (motItem.MealType == Enums.MealTypes.BreakfastEntree || motItem.MealType == Enums.MealTypes.LunchEntree || motItem.MealType == Enums.MealTypes.DinnerEntree || motItem.MealType == Enums.MealTypes.ChildEntree || motItem.MealType == Enums.MealTypes.Beverage || motItem.MealType == Enums.MealTypes.Dessert || motItem.MealType == Enums.MealTypes.Goods || motItem.MealType == Enums.MealTypes.Miscellaneous || motItem.MealType == Enums.MealTypes.Salad || motItem.MealType == Enums.MealTypes.Snack || motItem.MealType == Enums.MealTypes.Soup || motItem.MealType == Enums.MealTypes.Supplement) { if (motItem.CartItem.Quantity > 1) { for (int i = 1; i <= motItem.CartItem.Quantity; i++) { MOTCartItem copyMotItem = new MOTCartItem { CartItem = motItem.CartItem, CartItemId = motItem.CartItemId, OrderNumber = motItem.OrderNumber, DeliveryDate = motItem.DeliveryDate, CustomerName = motItem.CustomerName, DayNumber = motItem.DayNumber, ItemName = motItem.ItemName, MealType = motItem.MealType, PortionSize = motItem.PortionSize, Preferences = motItem.Preferences, ProfileName = motItem.ProfileName, MenuItem = motItem.MenuItem, Index = motItem.Index, Quantity = motItem.Quantity, Sides = motItem.Sides, DeliveryMethod = motItem.DeliveryMethod, Servings = "1" //motItem.Servings }; addlMotItems.Add(copyMotItem); } removeDupItems.Add(motItem); } } }); if (addlMotItems.Count > 0) { retMotItems.AddRange(addlMotItems); } if (removeDupItems.Count > 0) { removeDupItems.ForEach(a => retMotItems.Remove(a)); } var t = retMotItems.ToList(); return(t); } catch (Exception) { throw; } }
public static List <MOTCartItem> GetFromCartCalendar(hccCartItemCalendar cartCal) { List <MOTCartItem> retMotItems = new List <MOTCartItem>(); hccCartItem cartItem = hccCartItem.GetById(cartCal.CartItemID); hccProductionCalendar prodCal = hccProductionCalendar.GetById(cartCal.CalendarID); hccProgramPlan plan = hccProgramPlan.GetById(cartItem.Plan_PlanID.Value); List <hccProgramDefaultMenu> defMenus = hccProgramDefaultMenu.GetBy(cartCal.CalendarID, plan.ProgramID); List <hccMenuItem> planMeals = new List <hccMenuItem>(); defMenus.ForEach(delegate(hccProgramDefaultMenu defMenu) { hccCartDefaultMenuException cartDefMenuEx = hccCartDefaultMenuException.GetBy(defMenu.DefaultMenuID, cartCal.CartCalendarID); hccMenuItem selItem; Enums.CartItemSize selPortionSize; string prefsString = string.Empty; // Get the current menuItem if (cartDefMenuEx == null) { selItem = hccMenuItem.GetById(defMenu.MenuItemID); selPortionSize = (Enums.CartItemSize)defMenu.MenuItemSizeID; prefsString = "None"; } else { selItem = hccMenuItem.GetById(cartDefMenuEx.MenuItemID); selPortionSize = (Enums.CartItemSize)cartDefMenuEx.MenuItemSizeID; prefsString = hccCartDefaultMenuExPref.GetPrefsBy(cartDefMenuEx.DefaultMenuExceptID) .Select(a => a.Name).DefaultIfEmpty("None").Aggregate((c, d) => c + ", " + d); } MOTCartItem curMotItem = null; if (selItem != null) { if (selPortionSize == Enums.CartItemSize.NoSize) { selPortionSize = Enums.CartItemSize.RegularSize; } // determine if current item is an Entree or side if (selItem.MealType == Enums.MealTypes.BreakfastEntree || selItem.MealType == Enums.MealTypes.LunchEntree || selItem.MealType == Enums.MealTypes.DinnerEntree || selItem.MealType == Enums.MealTypes.OtherEntree || selItem.MealType == Enums.MealTypes.ChildEntree || selItem.MealType == Enums.MealTypes.Beverage || selItem.MealType == Enums.MealTypes.Dessert || selItem.MealType == Enums.MealTypes.Goods || selItem.MealType == Enums.MealTypes.Miscellaneous || selItem.MealType == Enums.MealTypes.Salad || selItem.MealType == Enums.MealTypes.Snack || selItem.MealType == Enums.MealTypes.Soup || selItem.MealType == Enums.MealTypes.Supplement) { // Entrees // determine if this type of entree has been added in previous loop curMotItem = retMotItems.FirstOrDefault(a => a.DayNumber == defMenu.DayNumber && a.MealType == selItem.MealType); if (curMotItem == null) { //if not added in previous loop, add new curMotItem = new MOTCartItem { MenuItem = selItem, CartItem = cartItem, CartItemId = cartItem.CartItemID, CustomerName = cartItem.UserProfile.ParentProfileName, OrderNumber = cartItem.OrderNumber, DeliveryDate = prodCal.DeliveryDate, DayNumber = defMenu.DayNumber, ItemName = selItem.Name, MealType = selItem.MealType, PortionSize = Enums.GetEnumDescription(selPortionSize), Preferences = prefsString, ProfileName = cartItem.UserProfile.ProfileName, Servings = cartItem.Quantity.ToString(), }; retMotItems.Add(curMotItem); } else { //if entree added in previous loop, add as a side curMotItem.Sides += selPortionSize + " - " + selItem.Name; } } else { // Sides // get parent entree type Enums.MealTypes parentType = Enums.MealTypes.Unknown; if (selItem.MealType == Enums.MealTypes.BreakfastSide) { parentType = Enums.MealTypes.BreakfastEntree; } else if (selItem.MealType == Enums.MealTypes.LunchSide) { parentType = Enums.MealTypes.LunchEntree; } else if (selItem.MealType == Enums.MealTypes.DinnerSide) { parentType = Enums.MealTypes.DinnerEntree; } else if (selItem.MealType == Enums.MealTypes.OtherSide) { parentType = Enums.MealTypes.OtherEntree; } else if (selItem.MealType == Enums.MealTypes.ChildSide) { parentType = Enums.MealTypes.ChildEntree; } // determine if this type of entree has been added in previous loop curMotItem = retMotItems.FirstOrDefault(a => a.DayNumber == defMenu.DayNumber && a.MealType == parentType); if (curMotItem == null) { curMotItem = retMotItems.FirstOrDefault(a => a.DayNumber == defMenu.DayNumber); if (curMotItem == null) { curMotItem = new MOTCartItem { MenuItem = selItem, CartItem = cartItem, CartItemId = cartItem.CartItemID, CustomerName = cartItem.UserProfile.ParentProfileName, OrderNumber = cartItem.OrderNumber, DeliveryDate = prodCal.DeliveryDate, DayNumber = defMenu.DayNumber, ItemName = selItem.Name, MealType = selItem.MealType, PortionSize = Enums.GetEnumDescription(selPortionSize), Preferences = prefsString, ProfileName = cartItem.UserProfile.ProfileName, Servings = cartItem.Quantity.ToString(), Sides = "NoneB" }; retMotItems.Add(curMotItem); } } else { if (string.IsNullOrWhiteSpace(curMotItem.Sides)) { curMotItem.Sides += selItem.Name; if (prefsString != "None" && !string.IsNullOrWhiteSpace(prefsString)) { curMotItem.Sides += " (" + prefsString + ")"; } } else { curMotItem.Sides += ", " + selItem.Name; if (prefsString != "None" && !string.IsNullOrWhiteSpace(prefsString)) { curMotItem.Sides += " (" + prefsString + ")"; } } } } } }); return(retMotItems); }
public MOTCartItem(hccCartItem cartItem) { try { if (cartItem.ItemType == Common.Enums.CartItemType.AlaCarte) { hccMenuItem mi = hccMenuItem.GetById(cartItem.Meal_MenuItemID.Value); MenuItem = mi; CartItem = cartItem; CartItemId = cartItem.CartItemID; OrderNumber = cartItem.OrderNumber + "-ALC"; DeliveryDate = cartItem.DeliveryDate; if (cartItem.UserProfile != null) { CustomerName = cartItem.UserProfile.ParentProfileName; ProfileName = cartItem.UserProfile.ProfileName; } ItemName = mi.Name; MealType = mi.MealType; if (cartItem.Meal_MealSizeID.HasValue) { Enums.CartItemSize size = (Enums.CartItemSize)cartItem.Meal_MealSizeID; if (size == Enums.CartItemSize.NoSize) { size = Enums.CartItemSize.RegularSize; } PortionSize = Enums.GetEnumDescription(size); } else { PortionSize = Enums.GetEnumDescription(Enums.CartItemSize.RegularSize); } Servings = cartItem.Quantity.ToString(); Preferences = hccCartItemMealPreference.GetPrefsBy(cartItem.CartItemID) .Select(a => a.Name).DefaultIfEmpty("None").Aggregate((c, d) => c + ", " + d); Sides = "None"; if (hccMenuItem.EntreeMealTypes.Contains(MealType) && cartItem.MealSideMenuItems.Count > 0) { Sides = cartItem.GetMealSideMenuItemsAsSectionString(", "); } if (cartItem.SnapShipAddrId.HasValue) { hccAddress addr = hccAddress.GetById(cartItem.SnapShipAddrId.Value); DeliveryMethod = ((Enums.DeliveryTypes)addr.DefaultShippingTypeID).ToString(); } if (cartItem.Plan_IsAutoRenew == true) { FamilyStyle = "Yes"; } else if (cartItem.Plan_IsAutoRenew == false) { FamilyStyle = "No"; } } } catch (Exception) { throw; } }
/// <summary> /// Deletes the hccCartItem object. /// </summary> /// <exception cref="System.Exception">re-thrown exception</exception> /// <returns>Returns void.</returns> public void Delete(List <hccRecurringOrder> recurringItemList) { try { using (var cont = new healthychefEntities()) { System.Data.EntityKey key = cont.CreateEntityKey("hccCartItems", this); object originalItem = null; if (cont.TryGetObjectByKey(key, out originalItem)) { hccCartItem cartItem = (hccCartItem)originalItem; if (((Enums.CartItemType)cartItem.ItemTypeID) == Enums.CartItemType.AlaCarte) { List <hccCartItemMealPreference> prefs = hccCartItemMealPreference.GetBy(cartItem.CartItemID); prefs.ForEach(a => a.Delete()); } else if (((Enums.CartItemType)cartItem.ItemTypeID) == Enums.CartItemType.DefinedPlan) { List <hccCartItemMealPreference> prefs = hccCartItemMealPreference.GetBy(cartItem.CartItemID); prefs.ForEach(a => a.Delete()); List <hccCartItemCalendar> cartCals = hccCartItemCalendar.GetByCartItemID(cartItem.CartItemID); cartCals.ForEach(delegate(hccCartItemCalendar cartCal) { List <hccCartDefaultMenuException> menuExs = hccCartDefaultMenuException.GetBy(cartCal.CartCalendarID); foreach (var defaultmenu in menuExs) { int defaultmenexceptionid = defaultmenu.DefaultMenuExceptID; var cartDefaultMenuExPref = hccCartDefaultMenuExPref.GetBy(defaultmenexceptionid); if (cartDefaultMenuExPref.Count() > 0) { cartDefaultMenuExPref.ForEach(a => a.Delete()); } } menuExs.ForEach(a => a.Delete()); }); cartCals.ForEach(delegate(hccCartItemCalendar cartCal) { cartCal.Delete(); }); } if (HttpContext.Current.Session["id"] != null && HttpContext.Current.Session["meals"] != null) { cartItem.CartID = (int)HttpContext.Current.Session["id"]; cartItem.NumberOfMeals = (int)HttpContext.Current.Session["meals"]; } var hcccartMenuExPrefs = hccCartMenuExPref.GetByCartItem(cartItem.CartItemID); if (hcccartMenuExPrefs.Count() > 0) { hcccartMenuExPrefs.ForEach(a => a.Delete()); } cont.hccCartItems.DeleteObject(cartItem); cont.SaveChanges(); // Check for recurring items if (recurringItemList != null) { var itemDeleted = recurringItemList.Find(x => x.CartID == this.CartID && x.CartItemID == this.CartItemID); recurringItemList.Remove(itemDeleted); } } } } catch (Exception ex) { throw ex; } }