public byte[] DirectPrint(DataTable Data, string UserName, string ReportFileType = ReportFileTypeConstants.PDF) { var SubReportDataList = new List <DataTable>(); var SubReportNameList = new List <string>(); string mimtype; ReportGenerateService c = new ReportGenerateService(); string mimetype = ""; return(c.ReportGenerate(Data, out mimtype, ReportFileTypeConstants.PDF, null, SubReportDataList, null, SubReportNameList, UserName)); }
public ActionResult ReportPrint(FormCollection form, string ReportFileType) { var SubReportDataList = new List <DataTable>(); var SubReportNameList = new List <string>(); DataTable ReportData = new DataTable(); Dictionary <string, string> ReportFilters = new Dictionary <string, string>(); StringBuilder queryString = new StringBuilder(); string ReportHeaderId = (form["ReportHeaderId"].ToString()); ReportHeader header = _ReportHeaderService.GetReportHeader(Convert.ToInt32(ReportHeaderId)); List <ReportLineViewModel> lines = _ReportLineService.GetReportLineList(header.ReportHeaderId).ToList(); if (string.IsNullOrEmpty(header.ReportSQL)) { List <string> SubReportProcList = new List <string>(); queryString.Append(header.SqlProc); using (SqlConnection sqlConnection = new SqlConnection(connectionString)) { SqlCommand cmd = new SqlCommand(queryString.ToString(), sqlConnection); foreach (var item in lines) { if (item.SqlParameter != "" && item.SqlParameter != null) { if (item.SqlParameter == "@LoginSite" || item.SqlParameter == "@LoginDivision") { if (item.SqlParameter == "@LoginSite") { cmd.Parameters.AddWithValue(item.SqlParameter, (int)System.Web.HttpContext.Current.Session[SessionNameConstants.LoginSiteId]); } //cmd.Parameters.AddWithValue(item.SqlParameter, 17); else if (item.SqlParameter == "@LoginDivision") { cmd.Parameters.AddWithValue(item.SqlParameter, (int)System.Web.HttpContext.Current.Session[SessionNameConstants.LoginDivisionId]); } } else if (item.FieldName == "Site" && form[item.FieldName].ToString() == "") { cmd.Parameters.AddWithValue(item.SqlParameter, (int)System.Web.HttpContext.Current.Session[SessionNameConstants.LoginSiteId]); } else if (item.FieldName == "Division" && form[item.FieldName].ToString() == "") { cmd.Parameters.AddWithValue(item.SqlParameter, (int)System.Web.HttpContext.Current.Session[SessionNameConstants.LoginDivisionId]); } else { if (form[item.FieldName].ToString() != "") { if (item.DataType == "Date") { cmd.Parameters.AddWithValue(item.SqlParameter, (form[item.FieldName].ToString() != "" ? String.Format("{0:MMMM dd yyyy}", form[item.FieldName].ToString()) : "Null")); } else { cmd.Parameters.AddWithValue(item.SqlParameter, (form[item.FieldName].ToString() != "" ? form[item.FieldName].ToString() : "Null")); } } } } } cmd.CommandTimeout = 200; SqlDataAdapter sqlDataAapter = new SqlDataAdapter(cmd); sqlDataAapter.SelectCommand.CommandType = CommandType.StoredProcedure; sqlDataAapter.Fill(ReportData); if (ReportData.Rows.Count > 0) { if (ReportData.Columns.Contains("SubReportProcList")) { SubReportProcList.Add(ReportData.Rows[0]["SubReportProcList"].ToString()); } DataTable SubRepData = new DataTable(); String SubReportProc; if (SubReportProcList != null) { if (SubReportProcList.Count > 0) { SubRepData = ReportData.Copy(); SqlConnection Con = new SqlConnection(connectionString); while (SubRepData.Rows.Count > 0 && SubRepData.Columns.Contains("SubReportProcList")) { SubReportProc = SubRepData.Rows[0]["SubReportProcList"].ToString(); if (SubReportProc != "") { String query = "Web." + SubReportProc; SqlDataAdapter sqlDataAapter1 = new SqlDataAdapter(query.ToString(), Con); sqlDataAapter1.SelectCommand.CommandTimeout = 200; SubRepData.Reset(); sqlDataAapter1.Fill(SubRepData); DataTable SubDataTable = new DataTable(); SubDataTable = SubRepData.Copy(); string SubRepName = ""; if (SubDataTable.Rows.Count > 0) { SubReportDataList.Add(SubDataTable); SubRepName = (string)SubDataTable.Rows[0]["ReportName"]; SubReportNameList.Add(SubRepName); } SubDataTable.Dispose(); } else { //SubRepData = null; break; } } } } } } if (ReportData.Rows.Count > 0) { var Paralist = new List <string>(); foreach (var item in lines) { if (item.SqlParameter == "@LoginSite" || item.SqlParameter == "@LoginDivision") { } else { if (item.SqlParameter != "" && item.SqlParameter != null && form[item.FieldName].ToString() != "") { if (item.DataType == "Date") { if (!string.IsNullOrEmpty(form[item.FieldName].ToString())) { Paralist.Add(item.DisplayName + " : " + form[item.FieldName].ToString()); ReportFilters.Add(item.DisplayName, form[item.FieldName].ToString()); } } else if (item.DataType == "Single Select") { if (!string.IsNullOrEmpty(item.ListItem)) { Paralist.Add(item.DisplayName + " : " + form[item.FieldName].ToString()); } else if (!string.IsNullOrEmpty(form[item.FieldName].ToString())) { Paralist.Add(item.DisplayName + " : " + form[item.FieldName + "Names"].ToString()); ReportFilters.Add(item.DisplayName, form[item.FieldName + "Names"].ToString()); } } //else if (item.DataType == "Constant Value") //{ // //if (!string.IsNullOrEmpty(form[item.FieldName].ToString())) { Paralist.Add(item.DisplayName + " : " + form[item.FieldName + "Names"].ToString()); } //} else if (item.DataType == "Multi Select") { if (form[item.FieldName].ToString() != "") { Paralist.Add(item.DisplayName + " : " + form[item.FieldName + "Names"].ToString()); ReportFilters.Add(item.DisplayName, form[item.FieldName + "Names"].ToString()); } } else { if (form[item.FieldName].ToString() != "") { Paralist.Add(item.DisplayName + " : " + form[item.FieldName].ToString()); ReportFilters.Add(item.DisplayName, form[item.FieldName].ToString()); } } } } } string mimtype; ReportGenerateService c = new ReportGenerateService(); byte[] BAR; //BAR = c.ReportGenerate(ReportData, out mimtype, ReportFileType, Paralist, SubReportDataList); BAR = c.ReportGenerate(ReportData, out mimtype, ReportFileType, Paralist, SubReportDataList, null, SubReportNameList, User.Identity.Name); XElement s = new XElement(CustomStringOp.CleanCode(header.ReportName)); XElement Name = new XElement("Filters"); foreach (var Rec in ReportFilters) { Name.Add(new XElement(CustomStringOp.CleanCode(Rec.Key), Rec.Value)); } s.Add(Name); _logger.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = _documentTypeService.Find(TransactionDoctypeConstants.Report).DocumentTypeId, DocId = header.ReportHeaderId, ActivityType = (int)ActivityTypeContants.Report, xEModifications = s, })); if (BAR.Length == 1) { ViewBag.Message = "Report Name is not define."; return(View("Close")); } else if (BAR.Length == 2) { ViewBag.Message = "Report Title is not define."; return(View("Close")); } else { //if (mimtype != "application/pdf") if (mimtype == "application/vnd.ms-excel") { return(File(BAR, mimtype, header.ReportName + ".xls")); } else { return(File(BAR, mimtype)); } } } else { ViewBag.Message = "No Record to Print."; return(View("Close")); } } else { List <ReportParameter> Params = new List <ReportParameter>(); string ReportName = ""; foreach (var item in lines) { if (item.SqlParameter != "" && item.SqlParameter != null) { if (item.SqlParameter == "@LoginSite" || item.SqlParameter == "@LoginDivision") { if (item.SqlParameter == "@LoginSite") { ReportParameter Param = new ReportParameter(); Param.Name = CustomStringOp.CleanCode(item.SqlParameter); Param.Values.Add(Convert.ToString(System.Web.HttpContext.Current.Session[SessionNameConstants.LoginSiteId])); Params.Add(Param); } else if (item.SqlParameter == "@LoginDivision") { ReportParameter Param = new ReportParameter(); Param.Name = CustomStringOp.CleanCode(item.SqlParameter); Param.Values.Add(Convert.ToString(System.Web.HttpContext.Current.Session[SessionNameConstants.LoginDivisionId])); Params.Add(Param); } } else if (item.FieldName == "Site" && form[item.FieldName].ToString() == "") { ReportParameter Param = new ReportParameter(); Param.Name = CustomStringOp.CleanCode(item.SqlParameter); Param.Values.Add(Convert.ToString(System.Web.HttpContext.Current.Session[SessionNameConstants.LoginSiteId])); Params.Add(Param); } else if (item.FieldName == "Division" && form[item.FieldName].ToString() == "") { ReportParameter Param = new ReportParameter(); Param.Name = CustomStringOp.CleanCode(item.SqlParameter); Param.Values.Add(Convert.ToString(System.Web.HttpContext.Current.Session[SessionNameConstants.LoginDivisionId])); Params.Add(Param); } else { if (form[item.FieldName].ToString() != "") { if (item.DataType == "Date") { ReportParameter Param = new ReportParameter(); Param.Name = CustomStringOp.CleanCode(item.SqlParameter); Param.Values.Add((form[item.FieldName].ToString() != "" ? String.Format("{0:MMMM dd yyyy}", form[item.FieldName].ToString()) : "Null")); Params.Add(Param); } else { ReportParameter Param = new ReportParameter(); Param.Name = CustomStringOp.CleanCode(item.SqlParameter); Param.Values.Add((form[item.FieldName].ToString() != "" ? form[item.FieldName].ToString() : "Null")); Params.Add(Param); } } } } } int i = 0; foreach (var item in lines) { if (item.SqlParameter == "@LoginSite" || item.SqlParameter == "@LoginDivision") { } else { if (item.SqlParameter != "" && item.SqlParameter != null && form[item.FieldName].ToString() != "") { if (item.DataType == "Date") { if (!string.IsNullOrEmpty(form[item.FieldName].ToString())) { ReportParameter Param = new ReportParameter(); Param.Name = "FilterStr" + ++i; Param.Values.Add(item.DisplayName + " : " + form[item.FieldName].ToString()); Params.Add(Param); ReportFilters.Add(item.DisplayName, form[item.FieldName].ToString()); } } else if (item.DataType == "Single Select") { if (!string.IsNullOrEmpty(item.ListItem) && !string.IsNullOrEmpty(form[item.FieldName])) { ReportParameter Param = new ReportParameter(); Param.Name = "FilterStr" + ++i; Param.Values.Add(item.DisplayName + " : " + form[item.FieldName].ToString()); Params.Add(Param); } else if (!string.IsNullOrEmpty(form[item.FieldName].ToString()) && !string.IsNullOrEmpty(form[item.FieldName + "Names"])) { ReportParameter Param = new ReportParameter(); Param.Name = "FilterStr" + ++i; Param.Values.Add(item.DisplayName + " : " + form[item.FieldName + "Names"].ToString()); Params.Add(Param); ReportFilters.Add(item.DisplayName, form[item.FieldName + "Names"].ToString()); } } else if (item.DataType == "Multi Select") { if (form[item.FieldName].ToString() != "" && !string.IsNullOrEmpty(form[item.FieldName + "Names"])) { ReportParameter Param = new ReportParameter(); Param.Name = "FilterStr" + ++i; Param.Values.Add(item.DisplayName + " : " + form[item.FieldName + "Names"].ToString()); Params.Add(Param); ReportFilters.Add(item.DisplayName, form[item.FieldName + "Names"].ToString()); } } else { if (form[item.FieldName].ToString() != "" && !string.IsNullOrEmpty(form[item.FieldName])) { ReportParameter Param = new ReportParameter(); Param.Name = "FilterStr" + ++i; Param.Values.Add(item.DisplayName + " : " + form[item.FieldName].ToString()); Params.Add(Param); ReportFilters.Add(item.DisplayName, form[item.FieldName].ToString()); } } } } } var uid = Guid.NewGuid(); _reportUidValuesService.InsertRange(Params, uid); ReportName = _ReportHeaderService.GetReportNameFromProcedure(header.ReportSQL.Replace("REPORTUID", uid.ToString())); _reportUidValuesService.DeleteRange(uid); ReportParameter UserName = new ReportParameter(); UserName.Name = "PrintedBy"; UserName.Values.Add(User.Identity.Name); Params.Add(UserName); ReportParameter ConString = new ReportParameter(); ConString.Name = "DatabaseConnectionString"; ConString.Values.Add(connectionString); //Data Source=192.168.2.17;Initial Catalog=RUG;Integrated Security=false; User Id=sa; pwd= Params.Add(ConString); string mimtype; ReportGenerateService c = new ReportGenerateService(); byte[] BAR; BAR = c.ReportGenerateCustom(out mimtype, ReportFileType, User.Identity.Name, Params, ReportName); XElement s = new XElement(CustomStringOp.CleanCode(header.ReportName)); XElement Name = new XElement("Filters"); foreach (var Rec in ReportFilters) { Name.Add(new XElement(CustomStringOp.CleanCode(Rec.Key), Rec.Value)); } s.Add(Name); _logger.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = _documentTypeService.Find(TransactionDoctypeConstants.Report).DocumentTypeId, DocId = header.ReportHeaderId, ActivityType = (int)ActivityTypeContants.Report, })); if (BAR.Length == 1) { ViewBag.Message = "Report Name is not define."; return(View("Close")); } else if (BAR.Length == 2) { ViewBag.Message = "Report Title is not define."; return(View("Close")); } else { if (mimtype == "application/vnd.ms-excel") { return(File(BAR, mimtype, header.ReportName + ".xls")); } else { return(File(BAR, mimtype)); } } } }
public byte[] DirectDocumentPrint(String queryString, string UserName, int DocumentId = 0, string ReportFileType = ReportFileTypeConstants.PDF) { var SubReportDataList = new List <DataTable>(); var SubReportNameList = new List <string>(); DataTable Dt = new DataTable(); DataTable SubRepData = new DataTable(); String SubReportProc; String MainQuery; if (DocumentId != 0) { MainQuery = queryString + " " + DocumentId.ToString(); } else { MainQuery = queryString; } String StrSubReportProcList; using (SqlConnection sqlConnection = new SqlConnection((string)System.Web.HttpContext.Current.Session["DefaultConnectionString"])) { SqlDataAdapter sqlDataAapter = new SqlDataAdapter(MainQuery, sqlConnection); dsRep.EnforceConstraints = false; sqlDataAapter.Fill(Dt); } if (Dt.Columns.Contains("SubReportProcList")) { StrSubReportProcList = Dt.Rows[0]["SubReportProcList"].ToString(); } else { //ViewBag.Message = "SubReportProcList is not define."; //return View("Close"); } SubRepData = Dt.Copy(); SqlConnection Con = new SqlConnection((string)System.Web.HttpContext.Current.Session["DefaultConnectionString"]); while (SubRepData.Rows.Count > 0 && SubRepData.Columns.Contains("SubReportProcList")) { SubReportProc = SubRepData.Rows[0]["SubReportProcList"].ToString(); if (SubReportProc != "") { String query = "Web." + SubReportProc; SqlDataAdapter sqlDataAapter1 = new SqlDataAdapter(query.ToString(), Con); dsRep.EnforceConstraints = false; SubRepData.Reset(); sqlDataAapter1.Fill(SubRepData); DataTable SubDataTable = new DataTable(); SubDataTable = SubRepData.Copy(); string SubRepName = ""; if (SubDataTable.Rows.Count > 0) { SubReportDataList.Add(SubDataTable); SubRepName = (string)SubDataTable.Rows[0]["ReportName"]; SubReportNameList.Add(SubRepName); } SubDataTable.Dispose(); } else { //SubRepData = null; break; } } string mimtype; ReportGenerateService c = new ReportGenerateService(); string mimetype = ""; return(c.ReportGenerate(Dt, out mimtype, ReportFileTypeConstants.PDF, null, SubReportDataList, null, SubReportNameList, UserName)); }
public static string CreateFiles(String QueryProcedure, string FileName, string FilterParameter) { string queryString = "Web." + QueryProcedure; DataTable Dt = new DataTable(); var SubReportDataList = new List <DataTable>(); var SubReportNameList = new List <string>(); List <string> SubReportProcList = new List <string>(); String StrSubReportProcList; String ReportTitle; try { using (SqlConnection sqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString.ToString())) { SqlDataAdapter sqlDataAapter = new SqlDataAdapter(queryString.ToString(), sqlConnection); sqlDataAapter.Fill(Dt); } if (Dt.Columns.Contains("SubReportProcList")) { StrSubReportProcList = Dt.Rows[0]["SubReportProcList"].ToString(); } else { return("SubReportProcList Not Define"); } if (Dt.Columns.Contains("ReportTitle")) { ReportTitle = Dt.Rows[0]["ReportTitle"].ToString(); } else { return("ReportTitle Not Define"); } if (Dt.Rows.Count > 0) { if (Dt.Columns.Contains("SubReportProcList")) { SubReportProcList.Add(Dt.Rows[0]["SubReportProcList"].ToString()); } DataTable SubRepData = new DataTable(); String SubReportProc; if (SubReportProcList != null) { if (SubReportProcList.Count > 0) { SubRepData = Dt.Copy(); SqlConnection Con = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString.ToString()); while (SubRepData.Rows.Count > 0 && SubRepData.Columns.Contains("SubReportProcList")) { SubReportProc = SubRepData.Rows[0]["SubReportProcList"].ToString(); if (SubReportProc != "") { String query = "Web." + SubReportProc; SqlDataAdapter sqlDataAapter1 = new SqlDataAdapter(query.ToString(), Con); SubRepData.Reset(); sqlDataAapter1.Fill(SubRepData); DataTable SubDataTable = new DataTable(); SubDataTable = SubRepData.Copy(); string SubRepName = ""; if (SubDataTable.Rows.Count > 0) { SubReportDataList.Add(SubDataTable); SubRepName = (string)SubDataTable.Rows[0]["ReportName"]; SubReportNameList.Add(SubRepName); } SubDataTable.Dispose(); } else { break; } } } } } ReportGenerateService c = new ReportGenerateService(); string mimetype = ""; string ReportFileName = ""; ReportFileName = FileName == "" ? ReportTitle : FileName; var Paralist = new List <string>(); string[] ParaA = null; if (FilterParameter != "") { ParaA = FilterParameter.Split(new Char[] { ',' }); } if (ParaA.Length > 0) { foreach (var Para in ParaA) { Paralist.Add(Para); } } string Filename = GenerateDocument(c.ReportGenerate(Dt, out mimetype, ReportFileTypeConstants.PDF, Paralist, SubReportDataList, null, SubReportNameList), ReportFileName + "_" + DateTime.Now.ToString("dd-MMM-yyyy-HH_mm_ss"), mimetype); // message.Body += ReportTitle + "'<br />'"; return(Filename); } catch (Exception ex) { using (StreamWriter writer = new StreamWriter(@"c:\temp\Cachecallback.txt", true)) { writer.WriteLine("Excp:" + ex.Message + "EX2:" + ex.InnerException.Message + "EX3:" + ex.InnerException.InnerException.Message + "EX4:" + ex.InnerException.InnerException.InnerException.Message); writer.Close(); } return(ex.Message); } }
public static string CreateFiles(String QueryProcedure, String QueryParameter, string ReportFormatType, string BaseDirectoryPath = null) { string queryString = QueryProcedure + " " + QueryParameter; DataTable Dt = new DataTable(); var SubReportDataList = new List <DataTable>(); String StrSubReportProcList; String ReportTitle; try { using (SqlConnection sqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString.ToString())) { SqlDataAdapter sqlDataAapter = new SqlDataAdapter(queryString.ToString(), sqlConnection); sqlDataAapter.Fill(Dt); } if (Dt.Columns.Contains("SubReportProcList")) { StrSubReportProcList = Dt.Rows[0]["SubReportProcList"].ToString(); } else { return("SubReportProcList Not Define"); } if (Dt.Columns.Contains("ReportTitle")) { ReportTitle = Dt.Rows[0]["ReportTitle"].ToString(); } else { return("ReportTitle Not Define"); } if (StrSubReportProcList != "") { string[] SubReportProcList = StrSubReportProcList.Split(new Char[] { ',' }); if (SubReportProcList.Length > 0) { SqlConnection sqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString.ToString()); foreach (var SubReportProc in SubReportProcList) { String query = "Web." + SubReportProc; DataTable SubReport1Data = new DataTable(); SqlDataAdapter sqlDataAapter1 = new SqlDataAdapter(query.ToString(), sqlConnection); sqlDataAapter1.Fill(SubReport1Data); SubReportDataList.Add(SubReport1Data); SubReport1Data = null; } } } ReportGenerateService c = new ReportGenerateService(); string mimetype = ""; string Filename = GenerateDocument(c.ReportGenerate(Dt, out mimetype, ReportFormatType, null, SubReportDataList, BaseDirectoryPath), ReportTitle + "_" + DateTime.Now.ToString("dd-MMM-yyyy-HH_mm_ss"), mimetype); return(Filename); } catch (Exception ex) { return(null); } }
public ActionResult DocumentPrint(String queryString, int DocumentId = 0, string ReportFileType = ReportFileTypeConstants.PDF) { var SubReportDataList = new List <DataTable>(); DataTable Dt = new DataTable(); String StrSubReportProcList; using (SqlConnection sqlConnection = new SqlConnection(connectionString)) { SqlDataAdapter sqlDataAapter = new SqlDataAdapter(queryString.ToString(), sqlConnection); dsRep.EnforceConstraints = false; sqlDataAapter.Fill(Dt); } if (Dt.Columns.Contains("SubReportProcList")) { StrSubReportProcList = Dt.Rows[0]["SubReportProcList"].ToString(); } else { ViewBag.Message = "SubReportProcList is not define."; return(View("Close")); } if (StrSubReportProcList != "") { //Dim mPartyItem_UidArr As String() = Split(DtTemp.Rows(I)("PartyItem_Uid"), "|") string[] SubReportProcList = StrSubReportProcList.Split(new Char[] { ',' }); if (SubReportProcList.Length > 0) { SqlConnection sqlConnection = new SqlConnection(connectionString); foreach (var SubReportProc in SubReportProcList) { String query = "Web." + SubReportProc + " " + DocumentId.ToString(); DataTable SubReport1Data = new DataTable(); SqlDataAdapter sqlDataAapter1 = new SqlDataAdapter(query.ToString(), sqlConnection); dsRep.EnforceConstraints = false; sqlDataAapter1.Fill(SubReport1Data); SubReportDataList.Add(SubReport1Data); SubReport1Data = null; } } } string mimtype; ReportGenerateService c = new ReportGenerateService(); byte[] BAR; //BAR = c.ReportGenerate(Dt, out mimtype, ReportFileTypeConstants.PDF); BAR = c.ReportGenerate(Dt, out mimtype, ReportFileType, null, SubReportDataList); return(File(BAR, mimtype)); }
public static void DailyPackingReviewEmail() { try { using (StreamWriter writer = new StreamWriter(@"c:\temp\Cachecallback.txt", true)) { writer.WriteLine("Calling Email Event", DateTime.Now); writer.Close(); } } catch (Exception x) { Debug.WriteLine(x); } string FilePath = ""; EmailMessage message = new EmailMessage(); message.Subject = "Packing Summary Details"; string ToAddress = (ConfigurationManager.AppSettings["MD"]); string CCAddress = (ConfigurationManager.AppSettings["Surya"]) + "," + (ConfigurationManager.AppSettings["SalesManager"]) + "," + (ConfigurationManager.AppSettings["CA"]) + "," + (ConfigurationManager.AppSettings["AdminEmail"]); string domain = ConfigurationManager.AppSettings["domain"]; //message.To = "*****@*****.**"; message.To = ToAddress; message.CC = CCAddress; string ToDate = DateTime.Now.ToString("dd/MMM/yyyy"); string FromDate = DateTime.Now.Subtract(TimeSpan.FromDays(7)).ToString("dd/MMM/yyyy"); // ApplicationDbContext Db = new ApplicationDbContext(); String queryString = "Web.ProcDailyPackingReview '" + ToDate + "' "; String SubqueryString = "Web.ProcDailyPackingReview1 '" + ToDate + "' "; //String queryString = Db.strSchemaName + ".[ProcSaleOrderReport] NULL,NULL, '31/Mar/2015' "; DataTable Dt = new DataTable(); DataTable Dt2 = new DataTable(); var SubReportDataList = new List <DataTable>(); var SubReportNameList = new List <string>(); try { using (SqlConnection sqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString.ToString())) { SqlDataAdapter sqlDataAapter = new SqlDataAdapter(queryString.ToString(), sqlConnection); sqlDataAapter.Fill(Dt); SqlDataAdapter sqlDataAapter2 = new SqlDataAdapter(SubqueryString.ToString(), sqlConnection); sqlDataAapter2.Fill(Dt2); } SubReportDataList.Add(Dt2); SubReportNameList.Add("DailyPackingReview_SubRep1"); ReportGenerateService c = new ReportGenerateService(); string mimetype = ""; string Filename = GenerateDocument(c.ReportGenerate(Dt, out mimetype, ReportFileTypeConstants.PDF, null, SubReportDataList, null, SubReportNameList), "PackingSummary_" + DateTime.Now.ToString("dd-MMM-yyyy-HH_mm_ss"), mimetype); message.Body += "Packing Summary Details. PFA with detailed information"; SendEmail.SendEmailMsgWithAttachment(message, Filename); } catch (Exception ex) { return; } }
public ActionResult ReportPrint(FormCollection form, string ReportFileType) { var SubReportDataList = new List <DataTable>(); DataTable ReportData = new DataTable(); StringBuilder queryString = new StringBuilder(); string ReportHeaderId = (form["ReportHeaderId"].ToString()); ReportHeader header = new ReportHeaderService(_unitOfWork).GetReportHeader(Convert.ToInt32(ReportHeaderId)); List <ReportLine> lines = _ReportLineService.GetReportLineList(header.ReportHeaderId).ToList(); List <string> SubReportProcList = new ReportHeaderService(_unitOfWork).GetSubReportProcList(Convert.ToInt32(ReportHeaderId)); ApplicationDbContext Db = new ApplicationDbContext(); queryString.Append(db.strSchemaName + "." + header.SqlProc); using (SqlConnection sqlConnection = new SqlConnection(connectionString)) { SqlCommand cmd = new SqlCommand(queryString.ToString(), sqlConnection); foreach (var item in lines) { if (item.SqlParameter != "" && item.SqlParameter != null) { if (item.SqlParameter == "@LoginSite" || item.SqlParameter == "@LoginDivision") { if (item.SqlParameter == "@LoginSite") { //cmd.Parameters.AddWithValue(item.SqlParameter, (int)System.Web.HttpContext.Current.Session[SessionNameConstants.LoginSiteId]); cmd.Parameters.AddWithValue(item.SqlParameter, 17); } else if (item.SqlParameter == "@LoginDivision") { cmd.Parameters.AddWithValue(item.SqlParameter, (int)System.Web.HttpContext.Current.Session[SessionNameConstants.LoginDivisionId]); } } else { if (form[item.FieldName].ToString() != "") { if (item.DataType == "Date") { cmd.Parameters.AddWithValue(item.SqlParameter, (form[item.FieldName].ToString() != "" ? String.Format("{0:MMMM dd yyyy}", form[item.FieldName].ToString()) : "Null")); } else { cmd.Parameters.AddWithValue(item.SqlParameter, (form[item.FieldName].ToString() != "" ? form[item.FieldName].ToString() : "Null")); } } } } } SqlDataAdapter sqlDataAapter = new SqlDataAdapter(cmd); sqlDataAapter.SelectCommand.CommandType = CommandType.StoredProcedure; dsRep.EnforceConstraints = false; sqlDataAapter.Fill(ReportData); if (SubReportProcList != null) { if (SubReportProcList.Count > 0) { foreach (var SubReportProc in SubReportProcList) { SqlCommand cmd1 = new SqlCommand("[Web].[" + SubReportProc + "]", sqlConnection); DataTable SubReport1Data = new DataTable(); foreach (var item in lines) { if (item.SqlParameter != "" && item.SqlParameter != null) { if (item.SqlParameter == "@LoginSite" || item.SqlParameter == "@LoginDivision") { if (item.SqlParameter == "@LoginSite") { //cmd1.Parameters.AddWithValue(item.SqlParameter, (int)System.Web.HttpContext.Current.Session[SessionNameConstants.LoginSiteId]); cmd.Parameters.AddWithValue(item.SqlParameter, 17); } else if (item.SqlParameter == "@LoginDivision") { cmd1.Parameters.AddWithValue(item.SqlParameter, (int)System.Web.HttpContext.Current.Session[SessionNameConstants.LoginDivisionId]); } } else { if (form[item.FieldName].ToString() != "") { if (item.DataType == "Date") { cmd1.Parameters.AddWithValue(item.SqlParameter, (form[item.FieldName].ToString() != "" ? String.Format("{0:MMMM dd yyyy}", form[item.FieldName].ToString()) : "Null")); } else { cmd1.Parameters.AddWithValue(item.SqlParameter, (form[item.FieldName].ToString() != "" ? String.Format("{0:MMMM dd yyyy}", form[item.FieldName].ToString()) : "Null")); } } } } } SqlDataAdapter sqlDataAapter1 = new SqlDataAdapter(cmd1); sqlDataAapter1.SelectCommand.CommandType = CommandType.StoredProcedure; dsRep.EnforceConstraints = false; sqlDataAapter1.Fill(SubReport1Data); SubReportDataList.Add(SubReport1Data); SubReport1Data = null; } } } } if (ReportData.Rows.Count > 0) { var Paralist = new List <string>(); foreach (var item in lines) { if (item.SqlParameter == "@LoginSite" || item.SqlParameter == "@LoginDivision") { } else { if (item.SqlParameter != "" && item.SqlParameter != null && form[item.FieldName].ToString() != "") { if (item.DataType == "Date") { if (!string.IsNullOrEmpty(form[item.FieldName].ToString())) { Paralist.Add(item.DisplayName + " : " + form[item.FieldName].ToString()); } } else if (item.DataType == "Single Select") { if (!string.IsNullOrEmpty(form[item.FieldName].ToString())) { Paralist.Add(item.DisplayName + " : " + form[item.FieldName + "Names"].ToString()); } } else if (item.DataType == "Constant Value") { //if (!string.IsNullOrEmpty(form[item.FieldName].ToString())) { Paralist.Add(item.DisplayName + " : " + form[item.FieldName + "Names"].ToString()); } } else { if (form[item.FieldName].ToString() != "") { Paralist.Add(item.DisplayName + " : " + form[item.FieldName + "Names"].ToString()); } } } } } string mimtype; ReportGenerateService c = new ReportGenerateService(); byte[] BAR; BAR = c.ReportGenerate(ReportData, out mimtype, ReportFileType, Paralist, SubReportDataList); if (BAR.Length == 1) { ViewBag.Message = "Report Name is not define."; return(View("Close")); } else if (BAR.Length == 2) { ViewBag.Message = "Report Title is not define."; return(View("Close")); } else { if (mimtype != "application/pdf") { return(File(BAR, mimtype, "Sale Order Report")); } else { return(File(BAR, mimtype)); } } } else { ViewBag.Message = "No Record to Print."; return(View("Close")); } }
public ActionResult DocumentPrint(String queryString, int DocumentId = 0, string ReportFileType = ReportFileTypeConstants.PDF) { var SubReportDataList = new List <DataTable>(); var SubReportNameList = new List <string>(); DataTable Dt = new DataTable(); DataTable SubRepData = new DataTable(); String SubReportProc; String MainQuery = queryString + " " + DocumentId.ToString(); String StrSubReportProcList; using (SqlConnection sqlConnection = new SqlConnection(connectionString)) { SqlDataAdapter sqlDataAapter = new SqlDataAdapter(MainQuery, sqlConnection); dsRep.EnforceConstraints = false; sqlDataAapter.Fill(Dt); } if (Dt.Columns.Contains("SubReportProcList")) { StrSubReportProcList = Dt.Rows[0]["SubReportProcList"].ToString(); } else { ViewBag.Message = "SubReportProcList is not define."; return(View("Close")); } SubRepData = Dt.Copy(); SqlConnection Con = new SqlConnection(connectionString); while (SubRepData.Rows.Count > 0 && SubRepData.Columns.Contains("SubReportProcList")) { SubReportProc = SubRepData.Rows[0]["SubReportProcList"].ToString(); if (SubReportProc != "") { String query = "Web." + SubReportProc; SqlDataAdapter sqlDataAapter1 = new SqlDataAdapter(query.ToString(), Con); dsRep.EnforceConstraints = false; SubRepData.Reset(); sqlDataAapter1.Fill(SubRepData); DataTable SubDataTable = new DataTable(); SubDataTable = SubRepData.Copy(); string SubRepName = ""; if (SubDataTable.Rows.Count > 0) { SubReportDataList.Add(SubDataTable); SubRepName = (string)SubDataTable.Rows[0]["ReportName"]; SubReportNameList.Add(SubRepName); } SubDataTable.Dispose(); } else { //SubRepData = null; break; } } string mimtype; ReportGenerateService c = new ReportGenerateService(); byte[] BAR; //BAR = c.ReportGenerate(Dt, out mimtype, ReportFileTypeConstants.PDF); BAR = c.ReportGenerate(Dt, out mimtype, ReportFileType, null, SubReportDataList, null, SubReportNameList, User.Identity.Name); return(File(BAR, mimtype)); }