public static List <int> GetRedSeatings(Cashback Current) { List <Cashback> Cashbakcs = Cashback.GetAll(OrderType.CurrOrgId(), 1);// all active cashbk of current outlet List <int> RedSeatings = new List <int>(); Cashbakcs = Cashbakcs.FindAll(x => x.SeatingIds != ""); Cashbakcs = Cashbakcs.FindAll(x => x.CashBkId != Current.CashBkId && x.CashBkStatus == 1); // all running cashback not Current cashbk if (Current.CampeignType == 3) // check for only offers { Cashbakcs = Cashbakcs.FindAll(x => x.CampeignType == 3); } else if (Current.CampeignType == 1 || Current.CampeignType == 2) { Cashbakcs = Cashbakcs.FindAll(x => x.CampeignType != 3); } if (Current.StartDate.Date > DateTime.Now.Date) { Cashbakcs = Cashbakcs.FindAll(x => Current.StartDate.Date >= x.StartDate.Date && x.ValidTillDate <= Current.ValidTillDate.Date).ToList(); } else { if (Current.ValidTillDate < DateTime.Now.Date) { return(RedSeatings); } Cashbakcs = Cashbakcs.FindAll(x => Current.StartDate.Date <= x.ValidTillDate.Date).ToList(); } foreach (var cashbak in Cashbakcs) { RedSeatings.AddRange(cashbak.SeatingIds.Split(',').Select(int.Parse).ToList()); } return(RedSeatings); }
public static Cashback GetAppliedCashBk(int OrgId, Int64 SeatinId, int CampType) { List <Cashback> Cashbacks = Cashback.GetAll(OrgId, 1); // only actives Cashbacks = Cashbacks.FindAll(x => x.CashBkStatus == 1); // only running Cashbacks = Cashbacks.FindAll(x => x.CampeignType == CampType); Cashbacks = Cashbacks.FindAll(x => x.SeatingIds != ""); Cashbacks = Cashbacks.FindAll(x => x.StartDate.Date <= DateTime.Now.Date && x.ValidTillDate.Date >= DateTime.Now.Date).ToList(); for (int i = 0; i < Cashbacks.Count; i++) { List <int> seats = Cashbacks[i].SeatingIds.Split(',').Select(int.Parse).ToList(); int seat = seats.Find(x => x == SeatinId); if (seat > 0) { return(Cashbacks[i]); } } return(null); }