// D e t a i l R e p o r t DetailReportInformation ITransactionService.DetailReport( String MerchantID, String ClerkID, char WhereFrom, String MerchSeqNum, String TerminalID, DateTime LocalTime) { DetailReportInformation DRI = new DetailReportInformation(); IHistoryDAO HistoryRepositoryInstance = new HistoryDAO(); DetailHistory DHI = HistoryRepositoryInstance.DetailReport(MerchantID, ClerkID, Convert.ToString(WhereFrom), MerchSeqNum, TerminalID, LocalTime); DRI.When = DateTime.Now; DRI.ResponseCode = (char)DHI.ResponseCode; DRI.ErrorCode = (string)DHI.ErrorCode; DRI.SummaryInformation = DHI.Summary; DRI.Details = new List <TransactionDetailInformation>(); foreach (CardHistory ch in DHI.DetailItems) { TransactionDetailInformation TDI = new TransactionDetailInformation(); TDI.CardNumber = ch.CardNumber; TDI.Amount = ch.Amount.ToString(); TDI.ID = ch.ID.ToString(); if (ch.LocalTime != null) { TDI.When = ch.LocalTime.ToString(); } else { TDI.When = ch.When.ToString(); } TDI.Clerk = ch.Clerk; TDI.TransType = ch.TransType; TDI.Transaction = ch.Transaction; TDI.MerchWhere = ch.MerchWhere; if (ch.Text != null) { if (ch.Text.Trim().Length > 0) { TDI.Text = ch.Text; } } if (ch.InvoiceNumber != null) { TDI.InvoiceNumber = ch.InvoiceNumber.Trim(); } else { TDI.InvoiceNumber = ""; } DRI.Details.Add(TDI); } return(DRI); }
public IList <DetailHistoryData> GetAllHistory(int id) { return(DetailHistory.ToJavaScriptDetailHistory(_eventStoreRepository.All(id))); }
// Yes, there was a stored procedure to do the detail report, // but it returns two result sets and the second one can have // a bunch of records in it. DetailHistory IHistoryDAO.DetailReport(String MerchantID, String ClerkID, String WhereFrom, String MerchSeqNum, String TerminalID, DateTime LocalTime) { InitializeConnection(); // need to resolve any merchant sequence number issues DetailHistory Results = new DetailHistory(); Results.DetailItems = new List <CardHistory>(); gp_DailyReport_Result Res = GiftEntity.gp_DailyReport(MerchantID, ClerkID, "E", WhereFrom, MerchSeqNum, TerminalID, LocalTime).FirstOrDefault(); if (Res.ResponseCode == "A") { Results.When = DateTime.Now; Results.ResponseCode = Res.ResponseCode[0]; Results.ErrorCode = (string)Res.ErrorCode; Results.Summary = new DailySalesInformation(); DailyReportToWeb(Res, Results.Summary, LocalTime); // now get the details Merchant Merch = GiftEntity.Merchants.FirstOrDefault(d => d.MerchantID == MerchantID); var LastRun = (from h in GiftEntity.Histories where h.WhichMerchantGUID == Merch.MerchantGUID && h.TransType == "CLOS" orderby h.ID descending select h.ID).FirstOrDefault(); //if (LastRun == null) // LastRun = 0; var DailyHistories = from h in GiftEntity.Histories where h.WhichMerchantGUID == Merch.MerchantGUID && h.ID > LastRun && h.ErrorCode == "APP " && h.TransType != "DYRP" && // keep the daily report out of this h.TransType != "SHIP" // keep the card shipments out of the report orderby h.ID //c.Card2 == WhichCard.ID select new { ID = h.ID, CardGUID = h.CardGUID, TransType = h.TransType, When = h.WhenHappened, LocalTime = h.LocalTime, Amount = h.Amount, PointsGranted = 0, MerchWhere = h.WhichMerchantGUID, Clrk = h.Clerk, Text = h.TransactionText, CardGUID2 = h.CardGUID2, CouponUsed = 0, CouponIssued = 0, PrizeAwardedGUID = Guid.NewGuid(), InvoiceNumber = h.InvoiceNumber }; foreach (var his in DailyHistories) { CardHistory nHistory = new CardHistory(); nHistory.ID = his.ID; nHistory.CardNumber = (from c in GiftEntity.Cards where c.CardGUID == his.CardGUID select c.CardNumLast4).FirstOrDefault().ToString(); nHistory.Amount = his.Amount; nHistory.Clerk = his.Clrk; nHistory.MerchWhere = (from m in GiftEntity.Merchants where m.MerchantGUID == his.MerchWhere select m.MerchantName).FirstOrDefault(); nHistory.TransType = his.TransType; nHistory.Transaction = ConvertTransactionType(his.TransType); nHistory.When = his.When; if (his.LocalTime.HasValue) { nHistory.LocalTime = his.LocalTime.Value; } nHistory.Text = his.Text; nHistory.PointsGranted = his.PointsGranted; if (his.CardGUID2 != null) { nHistory.Card2 = GiftEntity.Cards .FirstOrDefault(c => c.CardGUID == his.CardGUID2).CardNumLast4; } nHistory.InvoiceNumber = his.InvoiceNumber; Results.DetailItems.Add(nHistory); } } else { Results.ResponseCode = Res.ResponseCode[0]; Results.ErrorCode = (string)Res.ErrorCode; } return(Results); }