コード例 #1
0
ファイル: ReportController.cs プロジェクト: iroshana/NTC
        public IHttpActionResult GetDemeritReports(MeritReportDateModel search)
        {
            try
            {
                List <MeritReportViewModel>          meritList       = new List <MeritReportViewModel>();
                List <MeritReportViewModel>          reportMeritList = new List <MeritReportViewModel>();
                IEnumerable <MeritReportEntityModel> merits          = new List <MeritReportEntityModel>();
                merits = _report.CreateReport(search.colorCodeId, search.fromDate, search.toDate, search.typeId, search.order);

                if (merits.Count() > 0)
                {
                    foreach (MeritReportEntityModel merit in merits)
                    {
                        var a = meritList.Find(x => x.description == merit.Description && x.ntcNo == merit.NTCNo);
                        if (a == null)
                        {
                            MeritReportViewModel meritView = new MeritReportViewModel();
                            meritView.id          = merit.ID;
                            meritView.fullName    = merit.FullName;
                            meritView.description = merit.Description;
                            meritView.inqueryDate = merit.InqueryDate.ToString(@"yyyy-MM-dd");
                            meritView.ntcNo       = merit.NTCNo;
                            meritView.count       = 1;
                            meritList.Add(meritView);
                        }
                        else
                        {
                            a.count++;
                        }
                    }
                    reportMeritList = meritList.Where(x => x.count > 2).ToList();
                }


                var messageData  = new { code = Constant.SuccessMessageCode, message = Constant.MessageSuccess };
                var returnObject = new { roleList = reportMeritList, messageCode = messageData };
                return(Ok(returnObject));
            }
            catch (Exception ex)
            {
                string errorLogId   = _eventLog.WriteLogs(User.Identity.Name, ex, MethodBase.GetCurrentMethod().Name);
                var    messageData  = new { code = Constant.ErrorMessageCode, message = String.Format(Constant.MessageTaskmateError, errorLogId) };
                var    returnObject = new { messageCode = messageData };
                return(Ok(returnObject));
            }
        }
コード例 #2
0
ファイル: ReportController.cs プロジェクト: iroshana/NTC
        public HttpResponseMessage CancelationReport(DateTime fromDate, DateTime toDate, int typeId, string order)
        {
            try
            {
                List <MeritReportViewModel>          meritList       = new List <MeritReportViewModel>();
                List <MeritReportViewModel>          reportMeritList = new List <MeritReportViewModel>();
                IEnumerable <MeritReportEntityModel> merits          = new List <MeritReportEntityModel>();
                merits = _report.CreateReport(1, fromDate, toDate, typeId, order);

                if (merits.Count() > 0)
                {
                    foreach (MeritReportEntityModel merit in merits)
                    {
                        var a = meritList.Find(x => x.description == merit.Description && x.ntcNo == merit.NTCNo);
                        if (a == null)
                        {
                            MeritReportViewModel meritView = new MeritReportViewModel();
                            meritView.id          = merit.ID;
                            meritView.fullName    = merit.FullName;
                            meritView.description = merit.Description;
                            meritView.inqueryDate = merit.InqueryDate.ToString(@"yyyy-MM-dd");
                            meritView.ntcNo       = merit.NTCNo;
                            meritView.count       = 1;
                            meritList.Add(meritView);
                        }
                        else
                        {
                            a.count++;
                        }
                    }
                    meritList = meritList.Where(x => x.count > 2).ToList();
                }
                MemoryStream        stream = new MemoryStream();
                HttpResponseMessage result = new HttpResponseMessage();
                using (var package = new ExcelPackage(stream))
                {
                    ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Report - " + DateTime.Now.ToShortDateString());

                    // Add some formatting to the worksheet
                    worksheet.TabColor         = System.Drawing.Color.Blue;
                    worksheet.DefaultRowHeight = 12;
                    worksheet.HeaderFooter.FirstFooter.LeftAlignedText = string.Format("Generated: {0}", DateTime.Now.ToShortDateString());
                    worksheet.Row(1).Height = 20;
                    worksheet.Row(2).Height = 18;

                    // Start adding the header
                    _exel.CreateExcelHeader(worksheet, "Cancelation Of License Report", 1, 2, "A1", "H1", false, true);
                    _exel.CreateExcelHeader(worksheet, "NTC NO", 3, 1, "A4", "B4", true, true);
                    _exel.CreateExcelHeader(worksheet, "Driver Name", 3, 2, "C4", "D4", false, true);
                    _exel.CreateExcelHeader(worksheet, "Offence", 3, 3, "E4", "F4", false, true);
                    _exel.CreateExcelHeader(worksheet, "Pannel Date", 3, 4, "G4", "H4", false, true);


                    int rowId        = 5;
                    int receiptCount = meritList.Count();
                    foreach (var s in meritList)
                    {
                        _exel.CreateExcelContents(worksheet, s.ntcNo, rowId, 1, "A" + rowId, "B" + rowId, true, true, false, false, "", "");
                        _exel.CreateExcelContents(worksheet, s.fullName, rowId, 2, "C" + rowId, "D" + rowId, true, true, false, false, "", "");
                        _exel.CreateExcelContents(worksheet, s.description, rowId, 3, "E" + rowId, "F" + rowId, true, true, false, false, "", "");
                        _exel.CreateExcelContents(worksheet, s.inqueryDate, rowId, 4, "G" + rowId, "H" + rowId, true, true, false, false, "", "");

                        rowId += 1;
                    }
                    package.Workbook.Properties.Title   = "CANCELATION OF LICENSE REPORT";
                    package.Workbook.Properties.Author  = "NTC";
                    package.Workbook.Properties.Company = "NTC";

                    result.Content = new ByteArrayContent(package.GetAsByteArray());
                }
                result.Content.Headers.ContentType        = new MediaTypeHeaderValue("application/octet-stream");
                result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
                {
                    FileName = "Cancelation Of License Report - " + DateTime.Now.ToShortDateString() + ".xlsx"
                };
                return(result);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }