public IActionResult BookedTicketList([FromBodyAttribute] BookedTicketFilter filter) { try { if (!ModelState.IsValid) { return(Ok(new Application_ResponseWrapper() { ResponseCode = "1000", ResponseMessage = "Invalid model", Status = "failed" })); } using (IApplicationProcessor _processor = new ApplicationProcessor(_applicationDbContext)) { string pagesSize = _processor.GetApplicationSettingByKey("displayList_Count"); if (!string.IsNullOrEmpty(pagesSize) || int.Parse(Convert.ToString(pagesSize)) <= 0) { filter.pages = int.Parse(pagesSize); } else { _errorRepository.Add(new Application_Errors { applicationID = 1, errorDescription = "Page size value not found.", errorType = "Log", logDate = System.DateTime.Now, pageID = 0, Source = "Mpower/Rail/History/Ticket/List" }); _errorRepository.Commit(); return(Ok(new Application_ResponseWrapper() { ResponseCode = "1013", ResponseMessage = "Page Size is not found!", Status = "failed" })); } } using (ITicketProcessor _ticketProcessor = new TicketProcessor(_applicationDbContext)) { var list = _ticketProcessor.BookedTicketList(filter); if (list == null || list.Count == 0) { return(Ok(new Application_ResponseWrapper() { ResponseCode = "1004", ResponseMessage = "Record not found", Status = "failed" })); } return(Ok(new Application_ResponseWrapper() { ResponseCode = "0", ResponseMessage = "success", Status = "success", ResponseResult = list })); } } catch (Exception ex) { _errorRepository. Add(new Application_Errors { applicationID = 1, errorDescription = ex.StackTrace, errorType = "Exception", logDate = System.DateTime.Now, pageID = 0, Source = "Mpower/Rail/History/Ticket/List" }); _errorRepository.Commit(); return(Ok(new Application_ResponseWrapper() { ResponseCode = "1005", ResponseMessage = "An error has occured", Status = "failed" })); } }
/// <summary> // This Method will return the Booked ticket list. /// </summary> /// <param name="BookedTicketFilter">Class for ticket filtering.</param> /// <returns>this will return the booked ticket view model object</returns> public List <BookedTicketViewModel> BookedTicketList(BookedTicketFilter filter) { var ticketOrdersList = _ticketOrdersRepository.FindBy(x => x.loginAccountNo == filter.agentAccountNo && x.ticketStatus == filter.ticketStatus); var bookedTicketList = _bookedTicketsRepository.GetAll(); var ticketStatus = _ticketStatusRepository.GetAll(); DateTime defaultDate = Convert.ToDateTime("01/01/1900"); if (!ticketOrdersList.Any() || !bookedTicketList.Any() || !ticketStatus.Any()) { return(null); } var ticketList = (from t in ticketOrdersList.ToList() join b in bookedTicketList.ToList() on t.Id equals b.ticketOrderId join s in ticketStatus.ToList() on t.ticketStatus equals s.Id select new BookedTicketViewModel { Id = b.Id, ticketOrderId = t.Id, irctcTxnNumber = t.irctcTxnNumber, ticketNumber = b.ticketNumber, pnrNumber = b.pnrNumber, sourceStation = t.sourceStation, destStation = t.destStation, journeyDay = t.journeyDay, journeyMonth = t.journeyMonth, journeyYear = t.journeyYear, bookedOn = b.bookedOn, status = s.shortName }).AsQueryable(); if (!string.IsNullOrEmpty(filter.pnr)) { ticketList = ticketList.Where(x => x.pnrNumber == filter.pnr); } if (!string.IsNullOrEmpty(filter.fromStation)) { ticketList = ticketList.Where(x => x.sourceStation == filter.fromStation); } if (!string.IsNullOrEmpty(filter.toStation)) { ticketList = ticketList.Where(x => x.destStation == filter.toStation); } if (!string.IsNullOrEmpty(filter.ticketNumber)) { ticketList = ticketList.Where(x => x.ticketNumber == filter.ticketNumber); } if (filter.dateOfJourney != defaultDate) { ticketList = ticketList.Where(x => x.journeyDay == filter.dateOfJourney.Day && x.journeyMonth == filter.dateOfJourney.Month && x.journeyYear == filter.dateOfJourney.Year); } ticketList.Skip((filter.pageIndex - 1) * filter.pages) .Take(filter.pages); return(ticketList.ToList()); }