//Below report will be called from the external program on daily basis public WMReportDataViewModal GetRawData(DateTime?startDate, DateTime?endDate) { WMReportDataViewModal objRep = new WMReportDataViewModal(FinTrackRes.WM_REPORT_LOAD_ERR, false); try { using (con = new SqlConnection(conStr)) { con.Open(); SqlCommand cmd = new SqlCommand(StaticData.GET_FINANCETEAM_REPORT_DAILY, con); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@startdt", startDate); cmd.Parameters.AddWithValue("@enddate", endDate); SqlDataReader rdr = cmd.ExecuteReader(); objRep.lst_ar = new List <WMReportData_AR>(); //First list will be the AR team report. while (rdr.Read()) { objRep.lst_ar.Add(new WMReportData_AR() { UserName = Convert.ToString(rdr["Created By"]), WorkItemId = Convert.ToInt32(rdr["Work item id"]), ActivityName = Convert.ToString(rdr["Description"]), InvoiceNumber = Convert.ToString(rdr["Invoice#"]), RequestNumber = Convert.ToString(rdr["Request#"]), ErrFound = Convert.ToBoolean(rdr["Error Found"]), ReviewedBy = Convert.ToString(rdr["Reviewer"]), ReviewerComments = Convert.ToString(rdr["Review Comments"]), Created = rdr.IsDBNull(rdr.GetOrdinal("Created"))? (DateTime?)null : Convert.ToDateTime(rdr["Created"]), Submitted = rdr.IsDBNull(rdr.GetOrdinal("Submitted"))? (DateTime?)null : Convert.ToDateTime(rdr["Submitted"]), ReSubmitted = rdr.IsDBNull(rdr.GetOrdinal("ReSubmitted"))? (DateTime?)null : Convert.ToDateTime(rdr["ReSubmitted"]), ReworkingAgin = rdr.IsDBNull(rdr.GetOrdinal("Reworking agin"))? (DateTime?)null : Convert.ToDateTime(rdr["Reworking agin"]), InReview = rdr.IsDBNull(rdr.GetOrdinal("In Review"))? (DateTime?)null : Convert.ToDateTime(rdr["In Review"]), Rework = rdr.IsDBNull(rdr.GetOrdinal("Rework"))? (DateTime?)null : Convert.ToDateTime(rdr["Rework"]), CorrectedErrors = rdr.IsDBNull(rdr.GetOrdinal("Corrected Errors"))? (DateTime?)null : Convert.ToDateTime(rdr["Corrected Errors"]), Approved = rdr.IsDBNull(rdr.GetOrdinal("Approved"))? (DateTime?)null : Convert.ToDateTime(rdr["Approved"]) }); } //Need to bring other 3 data sets and assign them appropriately. rdr.NextResult(); objRep.list_ap = FillList(rdr); rdr.NextResult(); objRep.list_ex = FillList(rdr); rdr.NextResult(); objRep.list_fpna = FillList(rdr); CloseReader(rdr); } } catch (Exception ex) { Logger.Log(Logger.LogType.Error, ex.ToString()); } return(objRep); }
static void Main(string[] args) { try { //Run the report and Create the excel sheet attach it to email and send. repository objRepository = new repository(); //Added below two dates for shashank's request for weekly frequency DateTime?startDt, endDt; startDt = endDt = null; startDt = DateTime.Now.AddDays(-Freq); endDt = DateTime.Now; String team = Convert.ToString(args[0]); WMReportDataViewModal objRpt = objRepository.GetRawData(startDt, endDt); XLExport objExport = new XLExport(objRpt); String fileName = objExport.GenerateExcel(ConfigurationManager.AppSettings["ExcelPath"], team); //Send an email with attachment from this file. SendEmail(fileName); Logger.Log(Logger.LogType.Info, "Email Has been generated for the day"); } catch (Exception ex) { Logger.Log(Logger.LogType.Error, ex.ToString()); } }
/// <summary> /// Schedular report constructor /// </summary> /// <param name="data"></param> public XLExport(WMReportDataViewModal data) { _dailyData = data; }