示例#1
0
 public HttpResponseMessage DeleteCard([FromBody] RequestCardReport requestCard)
 {
     try
     {
         CardViewModel cardViewModel = new CardViewModel();
         return(ResponseSuccess(cardViewModel.GetCardReport(requestCard)));
     }
     catch
     {
         return(ResponseFail("ERROR"));
     }
 }
示例#2
0
        public CardReport GetCardReport(RequestCardReport requestCard)
        {
            try
            {
                CardReport               cardReport          = new CardReport();
                string                   sql2                = string.Format("SELECT  * from TicketMonth s left  JOIN (select ID, MAX(RowID) as 'RowID' from TicketMonth GROUP BY ID) t on s.ID = t.ID  where t.RowID = s.RowID and s.ProcessDate between '{0}' and '{1}'", requestCard.fromDate.ToString("yyyy-MM-dd"), requestCard.toDate.ToString("yyyy-MM-dd"));
                List <string>            report              = new List <string>();
                List <SmartCard>         M1                  = new List <SmartCard>();
                List <SmartCard>         M2                  = new List <SmartCard>();
                List <TicketMonthResult> ticketMonthResults1 = new List <TicketMonthResult>();
                List <TicketMonthResult> ticketMonthResults2 = new List <TicketMonthResult>();

                using (DB db = new DB("M1"))
                {
                    M1 = db.SmartCards.Where(x => x.DayUnlimit <= requestCard.toDate).ToList();
                    ticketMonthResults1 = db.Database.SqlQuery <TicketMonthResult>(sql2).ToList();
                }
                using (DB db = new DB("M2"))
                {
                    M2 = db.SmartCards.Where(x => x.DayUnlimit <= requestCard.toDate).ToList();
                    ticketMonthResults2 = db.Database.SqlQuery <TicketMonthResult>(sql2).ToList();
                }

                cardReport.Total                     = M1.Count() + M2.Count();
                cardReport.TotalUsing                = M1.Count(x => x.Using == true) + M2.Count(x => x.Using == true);;
                cardReport.TotalBlock                = cardReport.Total - cardReport.TotalUsing;
                cardReport.TotalTicketMonth          = ticketMonthResults1.Count() + ticketMonthResults2.Count();
                cardReport.TotalGuest                = cardReport.Total - cardReport.TotalTicketMonth;
                cardReport.TotalStopUsingTicketMonth = ticketMonthResults1.Count(x => x.Status == 3) + ticketMonthResults2.Count(x => x.Status == 3);
                cardReport.TotalBlackTicketMonth     = ticketMonthResults1.Count(x => x.Status == 4) + ticketMonthResults2.Count(x => x.Status == 4);
                cardReport.TotalTicketMonthUsing     = cardReport.TotalTicketMonth - (cardReport.TotalStopUsingTicketMonth + cardReport.TotalBlackTicketMonth);

                return(cardReport);
            }
            catch
            {
                throw new NullReferenceException();
            }
        }