Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }