Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
                    }
                }
            }
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        public byte[] rsDirectDocumentPrintDisplay(String ReportSQL, string Route, string UserName, int DocumentId = 0, string ReportFileType = ReportFileTypeConstants.PDF)
        {
            ApplicationDbContext DB       = new ApplicationDbContext();
            string ReportName             = "";
            List <ReportParameter> Params = new List <ReportParameter>();

            var Settings = DB.StockInHandSetting.Where(m => m.ProductTypeId == DocumentId && m.UserName == UserName && m.TableName == Route).FirstOrDefault();

            if (Settings == null)
            {
                Settings = DB.StockInHandSetting.Where(m => m.ProductTypeId == DocumentId && m.TableName == Route).FirstOrDefault();
            }



            ReportParameter Param = new ReportParameter();

            Param.Name = CustomStringOp.CleanCode("@GroupOn");
            Param.Values.Add(Settings.GroupOn);
            Params.Add(Param);

            ReportParameter Param1 = new ReportParameter();

            Param1.Name = CustomStringOp.CleanCode("@Site");
            Param1.Values.Add(Settings.SiteIds);
            Params.Add(Param1);

            ReportParameter Param2 = new ReportParameter();

            Param2.Name = CustomStringOp.CleanCode("@FromDate");
            Param2.Values.Add((Settings.FromDate.ToString() != "" ? String.Format("{0:MMMM dd yyyy}", Settings.FromDate.ToString()) : "Null").ToString());
            Params.Add(Param2);

            ReportParameter Param3 = new ReportParameter();

            Param3.Name = CustomStringOp.CleanCode("@ToDate");
            Param3.Values.Add((Settings.ToDate.ToString() != "" ? String.Format("{0:MMMM dd yyyy}", Settings.ToDate.ToString()) : "Null").ToString());
            Params.Add(Param3);

            ReportParameter Param4 = new ReportParameter();

            Param4.Name = CustomStringOp.CleanCode("@ProductType");
            Param4.Values.Add(DocumentId.ToString());
            Params.Add(Param4);

            ReportParameter Param5 = new ReportParameter();

            Param5.Name = CustomStringOp.CleanCode("@ShowBalance");
            Param5.Values.Add(Settings.ShowBalance.ToString());
            Params.Add(Param5);

            ReportParameter Param6 = new ReportParameter();

            Param6.Name = CustomStringOp.CleanCode("@ShowOpening");
            Param6.Values.Add((Settings.ShowOpening == true ? 1 : 0).ToString());
            Params.Add(Param6);

            ReportParameter Param7 = new ReportParameter();

            Param7.Name = CustomStringOp.CleanCode("@TableName");
            Param7.Values.Add(Settings.TableName);
            Params.Add(Param7);

            ReportParameter rpUserName = new ReportParameter();

            rpUserName.Name = "PrintedBy";
            rpUserName.Values.Add(UserName);
            Params.Add(rpUserName);



            ReportParameter ConString = new ReportParameter();

            ConString.Name = "DatabaseConnectionString";
            ConString.Values.Add((string)System.Web.HttpContext.Current.Session["DefaultConnectionString"]);
            //Data Source=192.168.2.17;Initial Catalog=RUG;Integrated Security=false; User Id=sa; pwd=
            Params.Add(ConString);

            var uid = Guid.NewGuid();

            using (ApplicationDbContext context = new ApplicationDbContext())
            {
                foreach (var item in Params)
                {
                    ReportUIDValues rid = new ReportUIDValues();
                    rid.UID   = uid;
                    rid.Type  = item.Name;
                    rid.Value = item.Values[0];

                    rid.ObjectState = Model.ObjectState.Added;
                    context.ReportUIDValues.Add(rid);
                }
                context.SaveChanges();
            }

            using (ApplicationDbContext context = new ApplicationDbContext())
            {
                ReportName = context.Database.SqlQuery <string>(ReportSQL.Replace("REPORTUID", uid.ToString())).FirstOrDefault();

                var Items = context.ReportUIDValues.Where(m => m.UID == uid).ToList();

                foreach (var item in Items)
                {
                    item.ObjectState = Model.ObjectState.Deleted;
                    context.ReportUIDValues.Remove(item);
                }
                context.SaveChanges();
            }

            string mimtype;
            ReportGenerateService c = new ReportGenerateService();

            byte[] BAR;

            BAR = c.ReportGenerateCustom(out mimtype, ReportFileType, UserName, Params, ReportName);

            return(BAR);

            //if (mimtype == "application/vnd.ms-excel")
            //    return File(BAR, mimtype, ReportName + ".xls");
            //else
            //    return File(BAR, mimtype);
        }
Beispiel #5
0
        public byte[] rsDirectDocumentPrint(String ReportSQL, string UserName, int DocumentId = 0, string ReportFileType = ReportFileTypeConstants.PDF)
        {
            string ReportName             = "";
            List <ReportParameter> Params = new List <ReportParameter>();

            ReportParameter Param = new ReportParameter();

            Param.Name = "Id";
            Param.Values.Add(DocumentId.ToString());

            Params.Add(Param);

            ReportParameter rpUserName = new ReportParameter();

            rpUserName.Name = "PrintedBy";
            rpUserName.Values.Add(UserName);
            Params.Add(rpUserName);

            ReportParameter ConString = new ReportParameter();

            ConString.Name = "DatabaseConnectionString";
            ConString.Values.Add((string)System.Web.HttpContext.Current.Session["DefaultConnectionString"]);
            //Data Source=192.168.2.17;Initial Catalog=RUG;Integrated Security=false; User Id=sa; pwd=
            Params.Add(ConString);

            var uid = Guid.NewGuid();

            using (ApplicationDbContext context = new ApplicationDbContext())
            {
                ReportUIDValues rid = new ReportUIDValues();
                rid.UID   = uid;
                rid.Type  = "Id";
                rid.Value = Params.Where(m => m.Name == "Id").FirstOrDefault().Values[0];

                rid.ObjectState = Model.ObjectState.Added;
                context.ReportUIDValues.Add(rid);

                context.SaveChanges();
            }

            using (ApplicationDbContext context = new ApplicationDbContext())
            {
                ReportName = context.Database.SqlQuery <string>(ReportSQL.Replace("REPORTUID", uid.ToString())).FirstOrDefault();

                var Items = context.ReportUIDValues.Where(m => m.UID == uid).ToList();

                foreach (var item in Items)
                {
                    item.ObjectState = Model.ObjectState.Deleted;
                    context.ReportUIDValues.Remove(item);
                }
                context.SaveChanges();
            }

            string mimtype;
            ReportGenerateService c = new ReportGenerateService();

            byte[] BAR;

            BAR = c.ReportGenerateCustom(out mimtype, ReportFileType, UserName, Params, ReportName);

            return(BAR);
        }
Beispiel #6
0
        public static string CreateFilesFromSQLReporting(String ReportName, string FileName, string FilterParameter, string UserNameValue, string Parameters, string ParameterValue)
        {
            List <ReportParameter> Params = new List <ReportParameter>();


            string[] ParameterList      = Parameters.Split(',');
            string[] ParameterValueList = ParameterValue.Split(',');


            int Length = 0;

            foreach (string item in ParameterList)
            {
                ReportParameter Parameter = new ReportParameter();
                Parameter.Name = ParameterList[Length];
                Parameter.Values.Add(ParameterValueList[Length]);
                Params.Add(Parameter);
                Length = Length + 1;
            }


            ReportParameter UserName = new ReportParameter();

            UserName.Name = "PrintedBy";
            UserName.Values.Add(UserNameValue);
            Params.Add(UserName);

            ReportParameter ConString = new ReportParameter();

            ConString.Name = "DatabaseConnectionString";
            ConString.Values.Add(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString.ToString());
            Params.Add(ConString);



            ReportGenerateService c = new ReportGenerateService();
            string mimetype         = "";
            string ReportFileName   = "";

            ReportFileName = FileName;



            try
            {
                string Filename = GenerateDocument(c.ReportGenerateCustom(out mimetype, ReportFileTypeConstants.PDF, "Satyam.Tripathi", Params, ReportName), ReportFileName + "_" + DateTime.Now.ToString("dd-MMM-yyyy-HH_mm_ss"), mimetype);



                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);
            }
        }
Beispiel #7
0
        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);
            }
        }
Beispiel #8
0
        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));
        }