public static List <AggrCartItem> Search(string lastName, string email, int?purchNum, DateTime?deliveryDate, bool includeSnapshots, bool includeGiftCerts) { try { using (var cont = new healthychefEntities()) { List <AggrCartItem> aggrItems = new List <AggrCartItem>(); List <hccCartItem> alcgc; if (includeGiftCerts) { alcgc = cont.hcc_OrderFulfillSearch_ALCnGC(deliveryDate, purchNum, lastName, email).Select(x => new hccCartItem { CartItemID = x.CartItemID, CartID = Convert.ToInt32(x.CartID), UserProfileID = Convert.ToInt32(x.UserProfileID), ItemTypeID = Convert.ToInt32(x.ItemTypeID), ItemName = x.ItemName, ItemDesc = x.ItemDesc, ItemPrice = Convert.ToDecimal(x.ItemPrice), Quantity = Convert.ToInt32(x.Quantity), IsTaxable = Convert.ToBoolean(x.IsTaxable), OrderNumber = x.OrderNumber, DeliveryDate = Convert.ToDateTime(x.DeliveryDate), Gift_RedeemCode = x.Gift_RedeemCode, Gift_IssuedTo = x.Gift_IssuedTo, Gift_IssuedDate = x.Gift_IssuedDate, Gift_RedeemedBy = x.Gift_RedeemedBy, Gift_RedeemedDate = x.Gift_RedeemedDate, Gift_RecipientAddressId = x.Gift_RecipientAddressId, Gift_RecipientEmail = x.Gift_RecipientEmail, Gift_RecipientMessage = x.Gift_RecipientMessage, Meal_MenuItemID = x.Meal_MenuItemID, Meal_MealSizeID = x.Meal_MealSizeID, Meal_ShippingCost = x.Meal_ShippingCost, Plan_PlanID = x.Plan_PlanID, Plan_ProgramOptionID = x.Plan_ProgramOptionID, Plan_IsAutoRenew = x.Plan_IsAutoRenew, CreatedBy = x.CreatedBy, CreatedDate = Convert.ToDateTime(x.CreatedDate), IsCompleted = Convert.ToBoolean(x.IsCompleted), IsCancelled = Convert.ToBoolean(x.IsCancelled), IsFulfilled = Convert.ToBoolean(x.IsFulfilled), DiscountPerEach = Convert.ToDecimal(x.DiscountPerEach), DiscountAdjPrice = Convert.ToDecimal(x.DiscountAdjPrice), SnapBillAddrId = x.SnapBillAddrId, SnapShipAddrId = x.SnapShipAddrId, TaxRate = x.TaxRate, TaxableAmount = x.TaxableAmount, DiscretionaryTaxAmount = x.DiscretionaryTaxAmount, TaxRateAssigned = x.TaxRateAssigned }).ToList(); } else { alcgc = cont.hcc_OrderFulfillSearch_ALCnGC(deliveryDate, purchNum, lastName, email).ToList().Where(a => a.ItemTypeID != Convert.ToInt32(Enums.CartItemType.GiftCard)).Select(x => new hccCartItem { CartItemID = x.CartItemID, CartID = Convert.ToInt32(x.CartID), UserProfileID = Convert.ToInt32(x.UserProfileID), ItemTypeID = Convert.ToInt32(x.ItemTypeID), ItemName = x.ItemName, ItemDesc = x.ItemDesc, ItemPrice = Convert.ToDecimal(x.ItemPrice), Quantity = Convert.ToInt32(x.Quantity), IsTaxable = Convert.ToBoolean(x.IsTaxable), OrderNumber = x.OrderNumber, DeliveryDate = Convert.ToDateTime(x.DeliveryDate), Gift_RedeemCode = x.Gift_RedeemCode, Gift_IssuedTo = x.Gift_IssuedTo, Gift_IssuedDate = x.Gift_IssuedDate, Gift_RedeemedBy = x.Gift_RedeemedBy, Gift_RedeemedDate = x.Gift_RedeemedDate, Gift_RecipientAddressId = x.Gift_RecipientAddressId, Gift_RecipientEmail = x.Gift_RecipientEmail, Gift_RecipientMessage = x.Gift_RecipientMessage, Meal_MenuItemID = x.Meal_MenuItemID, Meal_MealSizeID = x.Meal_MealSizeID, Meal_ShippingCost = x.Meal_ShippingCost, Plan_PlanID = x.Plan_PlanID, Plan_ProgramOptionID = x.Plan_ProgramOptionID, Plan_IsAutoRenew = x.Plan_IsAutoRenew, CreatedBy = x.CreatedBy, CreatedDate = Convert.ToDateTime(x.CreatedDate), IsCompleted = Convert.ToBoolean(x.IsCompleted), IsCancelled = Convert.ToBoolean(x.IsCancelled), IsFulfilled = Convert.ToBoolean(x.IsFulfilled), DiscountPerEach = Convert.ToDecimal(x.DiscountPerEach), DiscountAdjPrice = Convert.ToDecimal(x.DiscountAdjPrice), SnapBillAddrId = x.SnapBillAddrId, SnapShipAddrId = x.SnapShipAddrId, TaxRate = x.TaxRate, TaxableAmount = x.TaxableAmount, DiscretionaryTaxAmount = x.DiscretionaryTaxAmount, TaxRateAssigned = x.TaxRateAssigned }).ToList(); } aggrItems.AddRange(AggrCartItem.GetFromRange(alcgc, includeSnapshots)); List <hccCartItemCalendar> progs = cont.hcc_OrderFulfillSearch_Programs(deliveryDate, purchNum, lastName, email).ToList(); aggrItems.AddRange(AggrCartItem.GetFromRange(progs, includeSnapshots)); return(aggrItems); } } catch (Exception ex) { throw ex; } }