Esempio n. 1
0
        public ActionResult ReportLayout(string name)
        {
            ReportHeader      header = new ReportHeaderService(_unitOfWork).GetReportHeaderByName(name);
            List <ReportLine> lines  = _ReportLineService.GetReportLineList(header.ReportHeaderId).ToList();

            Dictionary <int, string> DefaultValues = TempData["ReportLayoutDefaultValues"] as Dictionary <int, string>;

            TempData["ReportLayoutDefaultValues"] = DefaultValues;
            foreach (var item in lines)
            {
                if (DefaultValues != null && DefaultValues.ContainsKey(item.ReportLineId))
                {
                    item.DefaultValue = DefaultValues[item.ReportLineId];
                }
            }

            ReportMasterViewModel vm = new ReportMasterViewModel();

            if (TempData["closeOnSelectOption"] != null)
            {
                vm.closeOnSelect = (bool)TempData["closeOnSelectOption"];
            }

            vm.ReportHeader   = header;
            vm.ReportLine     = lines;
            vm.ReportHeaderId = header.ReportHeaderId;

            return(View(vm));
        }
Esempio n. 2
0
        public ActionResult PackingReportLayout(string name, int Id = 0)
        {
            ReportHeader      header = new ReportHeaderService(_unitOfWork).GetReportHeaderByName(name);
            List <ReportLine> lines  = _ReportLineService.GetReportLineList(header.ReportHeaderId).ToList();

            ReportMasterViewModel vm = new ReportMasterViewModel();

            vm.ReportHeader   = header;
            vm.ReportLine     = lines;
            vm.ReportHeaderId = header.ReportHeaderId;

            ViewBag.DataHeaderId = Id;
            return(View(vm));
        }
Esempio n. 3
0
        public ActionResult Report(int id)
        {
            DocumentType Dt = new DocumentType();

            Dt = new DocumentTypeService(_unitOfWork).Find(id);

            PackingSetting SEttings = new PackingSettingService(_unitOfWork).GetPackingSettingForDocument(Dt.DocumentTypeId, (int)System.Web.HttpContext.Current.Session["DivisionId"], (int)System.Web.HttpContext.Current.Session["SiteId"]);

            Dictionary <int, string> DefaultValue = new Dictionary <int, string>();

            //if (!Dt.ReportMenuId.HasValue)
            //    throw new Exception("Report Menu not configured in document types");

            if (!Dt.ReportMenuId.HasValue)
            {
                return(Redirect((string)System.Configuration.ConfigurationManager.AppSettings["JobsDomain"] + "/GridReport/GridReportLayout/?MenuName=Packing Report&DocTypeId=" + id.ToString()));
            }


            Model.Models.Menu menu = new MenuService(_unitOfWork).Find(Dt.ReportMenuId ?? 0);

            if (menu != null)
            {
                ReportHeader header = new ReportHeaderService(_unitOfWork).GetReportHeaderByName(menu.MenuName);

                ReportLine Line = new ReportLineService(_unitOfWork).GetReportLineByName("DocumentType", header.ReportHeaderId);
                if (Line != null)
                {
                    DefaultValue.Add(Line.ReportLineId, id.ToString());
                }
                ReportLine Site = new ReportLineService(_unitOfWork).GetReportLineByName("Site", header.ReportHeaderId);
                if (Site != null)
                {
                    DefaultValue.Add(Site.ReportLineId, ((int)System.Web.HttpContext.Current.Session["SiteId"]).ToString());
                }
                ReportLine Division = new ReportLineService(_unitOfWork).GetReportLineByName("Division", header.ReportHeaderId);
                if (Division != null)
                {
                    DefaultValue.Add(Division.ReportLineId, ((int)System.Web.HttpContext.Current.Session["DivisionId"]).ToString());
                }
                //ReportLine Process = new ReportLineService(_unitOfWork).GetReportLineByName("Process", header.ReportHeaderId);
                //if (Process != null)
                //    DefaultValue.Add(Process.ReportLineId, ((int)SEttings.ProcessId).ToString());
            }

            TempData["ReportLayoutDefaultValues"] = DefaultValue;

            return(Redirect((string)System.Configuration.ConfigurationManager.AppSettings["JobsDomain"] + "/Report_ReportPrint/ReportPrint/?MenuId=" + Dt.ReportMenuId));
        }
Esempio n. 4
0
        public ActionResult GridReportLayout(int?MenuId, string MenuName, int?DocTypeId)
        {
            Menu              menu   = new Menu();
            ReportHeader      header = null;
            List <ReportLine> lines  = new List <ReportLine>();

            if (MenuId != null)
            {
                menu   = new MenuService(_unitOfWork).Find((int)MenuId);
                header = new ReportHeaderService(_unitOfWork).GetReportHeaderByName(menu.MenuName);
                if (header != null)
                {
                    lines = new ReportLineService(_unitOfWork).GetReportLineList(header.ReportHeaderId).ToList();
                }
                else
                {
                    new GridReportService().GetGridReportByName(menu.MenuName, ref header, ref lines, null);
                }
            }
            else
            {
                new GridReportService().GetGridReportByName(MenuName, ref header, ref lines, null);
            }


            if (DocTypeId != null)
            {
                ReportLine ReportLineDocType = (from L in lines where L.FieldName == "DocumentType" select L).FirstOrDefault();
                ReportLineDocType.DefaultValue = DocTypeId.ToString();
            }


            Dictionary <int, string> DefaultValues = TempData["ReportLayoutDefaultValues"] as Dictionary <int, string>;

            TempData["ReportLayoutDefaultValues"] = DefaultValues;
            foreach (var item in lines)
            {
                if (DefaultValues != null && DefaultValues.ContainsKey(item.ReportLineId))
                {
                    item.DefaultValue = DefaultValues[item.ReportLineId];
                }
            }

            ReportMasterViewModel vm = new ReportMasterViewModel();

            if (TempData["closeOnSelectOption"] != null)
            {
                vm.closeOnSelect = (bool)TempData["closeOnSelectOption"];
            }

            vm.ReportHeader   = header;
            vm.ReportLine     = lines;
            vm.ReportHeaderId = header.ReportHeaderId;


            if (DocTypeId != null)
            {
                DocumentType DocType = db.DocumentType.Find(DocTypeId);
                vm.ReportTitle = DocType.DocumentTypeName + " Report";
            }

            vm.ReportHeaderCompanyDetail = new GridReportService().GetReportHeaderCompanyDetail();

            return(View(vm));
        }
Esempio n. 5
0
        public JsonResult GridReportFill(FormCollection form)
        {
            bool      IsDatabaseReport  = false;
            var       SubReportDataList = new List <DataTable>();
            var       SubReportNameList = new List <string>();
            DataTable ReportData        = new DataTable();
            var       list = new List <dynamic>();
            Dictionary <string, string> ReportFilters = new Dictionary <string, string>();
            StringBuilder queryString = new StringBuilder();

            string ReportName = (form["ReportHeader.ReportName"].ToString());

            ReportHeader      header = null;
            List <ReportLine> lines  = new List <ReportLine>();

            if (Convert.ToInt32(form["ReportHeaderId"]) != 0)
            {
                IsDatabaseReport = true;
            }

            if (IsDatabaseReport)
            {
                header = new ReportHeaderService(_unitOfWork).GetReportHeaderByName(ReportName);
                lines  = new ReportLineService(_unitOfWork).GetReportLineList(header.ReportHeaderId).ToList();
            }
            else
            {
                new GridReportService().GetGridReportByName(ReportName, ref header, ref lines, form);
            }


            List <string> SubReportProcList = new List <string>();

            ApplicationDbContext Db = new ApplicationDbContext();

            if (IsDatabaseReport)
            {
                if (header.SqlProc.Contains("Web.") == false)
                {
                    header.SqlProc = "Web." + header.SqlProc;
                }
            }

            queryString.Append(header.SqlProc);


            using (SqlConnection sqlConnection = new SqlConnection(connectionString))
            {
                SqlCommand cmd = new SqlCommand(queryString.ToString(), sqlConnection);
                foreach (var item in lines)
                {
                    if (form[item.FieldName] != null)
                    {
                        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]);
                                }
                                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 = 2000;
                SqlDataAdapter sqlDataAapter        = new SqlDataAdapter(cmd);
                ReportHeader   DatabaseReportHeader = new ReportHeaderService(_unitOfWork).GetReportHeaderByName(ReportName);
                if (IsDatabaseReport)
                {
                    sqlDataAapter.SelectCommand.CommandType = CommandType.StoredProcedure;
                }
                else
                {
                    sqlDataAapter.SelectCommand.CommandType = CommandType.Text;
                }
                sqlDataAapter.Fill(ReportData);
            }


            ReportData.Columns.Add("SysParamType");


            DataRow DRowAggregate = ReportData.NewRow();

            DRowAggregate["SysParamType"] = "Aggregate";


            List <string> RemoveColumnList = new List <string>();

            foreach (DataColumn column in ReportData.Columns)
            {
                DataRow[] NullValueColumn = ReportData.Select("[" + column.ColumnName + "] is not null ");

                if (NullValueColumn.Length == 0)
                {
                    RemoveColumnList.Add(column.ColumnName);
                }


                if (column.DataType.ToString() == "System.Int32" || column.DataType.ToString() == "System.Decimal" ||
                    column.DataType.ToString() == "System.Float" || column.DataType.ToString() == "System.Double")
                {
                    DataRow[] ZeroValueColumn = ReportData.Select("[" + column.ColumnName + "] <> 0 ");
                    if (!RemoveColumnList.Contains(column.ColumnName))
                    {
                        if (ZeroValueColumn.Length == 0)
                        {
                            RemoveColumnList.Add(column.ColumnName);
                        }
                    }
                }

                if (column.ColumnName == form["DealUnitColumnCaption"].ToString())
                {
                    DataRow[] DealQtyValueColumn = ReportData.Select("[" + form["DealUnitColumnCaption"].ToString() + "] <> " + "[" + form["UnitColumnCaption"].ToString() + "]");
                    if (DealQtyValueColumn.Length == 0)
                    {
                        if (!RemoveColumnList.Contains(form["DealUnitColumnCaption"].ToString()))
                        {
                            RemoveColumnList.Add(form["DealUnitColumnCaption"].ToString());
                        }
                        if (!RemoveColumnList.Contains(form["DealQtyColumnCaption"].ToString()))
                        {
                            RemoveColumnList.Add(form["DealQtyColumnCaption"].ToString());
                        }
                    }
                }

                switch (column.DataType.ToString())
                {
                case "System.Decimal":
                {
                    DRowAggregate[column.ColumnName] = 2;
                    break;
                }
                }
            }

            foreach (string ColumnName in RemoveColumnList)
            {
                if (ColumnName != "SysParamType")
                {
                    ReportData.Columns.Remove(ColumnName);
                }
            }

            ReportData.Rows.Add(DRowAggregate);


            if (ReportData.Rows.Count > 0)
            {
                //List<DataRow> Row = ReportData.Rows.Cast<DataRow>().ToList();

                //var temp = ReportData.Select().ToList();

                //var list = new List<dynamic>();



                foreach (DataRow row in ReportData.Rows)
                {
                    dynamic dyn = new ExpandoObject();
                    list.Add(dyn);
                    foreach (DataColumn column in ReportData.Columns)
                    {
                        var dic = (IDictionary <string, object>)dyn;
                        dic[column.ColumnName] = row[column];
                    }
                }


                JsonResult json = Json(new { Success = true, Data = list.ToList() }, JsonRequestBehavior.AllowGet);
                json.MaxJsonLength = int.MaxValue;
                return(json);
            }

            else
            {
                ViewBag.Message = "No Record to Print.";
                return(Json(new { Success = true, Data = list.ToList() }, JsonRequestBehavior.AllowGet));
            }
        }
        public ActionResult ProcedureExcute(FormCollection form, string ReportFileType)
        {
            DataTable ReportData = new DataTable();
            Dictionary <string, string> ReportFilters = new Dictionary <string, string>();
            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();



            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]);
                            }
                            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;
                dsRep.EnforceConstraints = false;
                sqlDataAapter.Fill(ReportData);
            }

            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 == "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());
                            }
                        }
                    }
                }
            }

            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);


            LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
            {
                DocTypeId       = new DocumentTypeService(_unitOfWork).FindByName(TransactionDoctypeConstants.Report).DocumentTypeId,
                DocId           = header.ReportHeaderId,
                Narration       = header.ReportName,
                ActivityType    = (int)ActivityTypeContants.Report,
                xEModifications = s,
            }));

            if (ReportData.Rows.Count > 0)
            {
                if (ReportData.Rows[0][0].ToString() == "Success")
                {
                    return(View("Success"));
                }
                else
                {
                    ViewBag.Error = ReportData.Rows[0][0].ToString();
                    return(View("Error"));
                }
            }

            else
            {
                ViewBag.Message = "No Record to Print.";
                return(View("Close"));
            }
        }
Esempio n. 7
0
        public ActionResult FetchReport(int ID, string ReportType, Dictionary <string, string> nameValuePairs, int?ReportColumnId)
        {
            int SubReportId = ID;

            SubReport sr = new SubReportService(_unitOfWork).Find(ID);

            ReportHeader      header = new ReportHeaderService(_unitOfWork).GetReportHeader(sr.ReportHeaderId);
            List <ReportLine> lines  = _ReportLineService.GetReportLineList(header.ReportHeaderId).ToList();

            using (SqlConnection sqlConnection = new SqlConnection(connectionString))
            {
                SqlCommand cmd = new SqlCommand();

                var Filters = (Dictionary <string, string>)TempData["TestTemp"];

                foreach (var item in lines.Where(m => m.Type == "2.Filter"))
                {
                    string value = "";

                    bool Success = Filters.TryGetValue(item.SqlParameter, out value);

                    if (Success)
                    {
                        cmd.Parameters.AddWithValue(item.SqlParameter, value);
                    }
                }
                if (!string.IsNullOrEmpty(ReportType))
                {
                    cmd.Parameters.AddWithValue("ReportType", ReportType);
                }
                else
                {
                    cmd.Parameters.AddWithValue("ReportType", sr.SubReportName);
                }

                DataTable dt = new DataTable();
                dt.Clear();
                dt.Columns.Add("Name");
                dt.Columns.Add("Value");

                if (ReportColumnId.HasValue && ReportColumnId.Value > 0)
                {
                    var rc     = new ReportColumnService(_unitOfWork).Find(ReportColumnId.Value);
                    var rcList = new ReportColumnService(_unitOfWork).GetREportColumnListFromReportColumn(ReportColumnId.Value);

                    var Records = (from p in nameValuePairs
                                   join t in rcList on p.Key equals t.FieldName
                                   select new
                    {
                        key = t.ReportColumnId,
                        val = p.Value,
                    }).ToDictionary(m => m.key, m => m.val);

                    if (Records.Count > 0)
                    {
                        foreach (var item in Records)
                        {
                            DataRow dr = dt.NewRow();
                            dr["Name"]  = item.Key;
                            dr["Value"] = item.Value;
                            dt.Rows.Add(dr);
                        }
                    }

                    DataRow SubReportTypeRow = dt.NewRow();
                    SubReportTypeRow["Name"]  = "SubReportId";
                    SubReportTypeRow["Value"] = rc.SubReportId;
                    dt.Rows.Add(SubReportTypeRow);
                }

                DataRow ReportHeaderIdRow = dt.NewRow();
                ReportHeaderIdRow["Name"]  = "ReportColumnId";
                ReportHeaderIdRow["Value"] = ReportColumnId;
                dt.Rows.Add(ReportHeaderIdRow);

                DataRow SubReportHeaderId = dt.NewRow();
                SubReportHeaderId["Name"]  = "NextSubReportId";
                SubReportHeaderId["Value"] = ID;
                dt.Rows.Add(SubReportHeaderId);


                cmd.Parameters.AddWithValue("ReportColumnDictionary", dt);

                cmd.CommandText    = db.strSchemaName + "." + header.SqlProc;
                cmd.Connection     = sqlConnection;
                cmd.CommandTimeout = 180;
                SqlDataAdapter sqlDataAapter = new SqlDataAdapter(cmd);
                sqlDataAapter.SelectCommand.CommandType = CommandType.StoredProcedure;
                dsRep.EnforceConstraints = false;
                DataSet ds = new DataSet();
                sqlDataAapter.Fill(ds);

                TempData.Keep("TestTemp");

                AddIncrement(ds);

                var tem      = JsonConvert.SerializeObject(ds.Tables[0]);
                var ColNames = GetColumnNames(header.ReportHeaderId, string.IsNullOrEmpty(ReportType) ? sr.SubReportName : ReportType);

                var ReportTypes = new SubReportService(_unitOfWork).GetSubReportList(header.ReportHeaderId);

                return(Json(new { success = true, data = tem, columns = ColNames, reportType = ReportTypes.Select(m => m.SubReportName).ToList(), selectedReportType = string.IsNullOrEmpty(ReportType) ? sr.SubReportName : ReportType, ReportName = header.ReportName }));

                //return View("GridReport");
            }
        }
Esempio n. 8
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 = new ReportHeaderService(_unitOfWork).GetReportHeader(Convert.ToInt32(ReportHeaderId));
            List <ReportLine> lines  = _ReportLineService.GetReportLineList(header.ReportHeaderId).ToList();


            if (string.IsNullOrEmpty(header.ReportSQL))
            {
                //List<string> SubReportProcList = new ReportHeaderService(_unitOfWork).GetSubReportProcList (Convert.ToInt32(ReportHeaderId));
                List <string> SubReportProcList = new List <string>();

                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 (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;
                    dsRep.EnforceConstraints = false;
                    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          = db.strSchemaName + "." + SubReportProc;
                                        SqlDataAdapter sqlDataAapter1 = new SqlDataAdapter(query.ToString(), Con);
                                        sqlDataAapter1.SelectCommand.CommandTimeout = 200;
                                        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;
                                    }
                                }
                            }
                        }
                    }
                }

                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);

                    LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
                    {
                        DocTypeId       = new DocumentTypeService(_unitOfWork).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             = "";

                ApplicationDbContext Db = new ApplicationDbContext();

                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();
                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();
                }



                ReportName = Db.Database.SqlQuery <string>(header.ReportSQL.Replace("REPORTUID", uid.ToString())).FirstOrDefault();

                using (ApplicationDbContext context = new ApplicationDbContext())
                {
                    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();
                }

                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);


                LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
                {
                    DocTypeId       = new DocumentTypeService(_unitOfWork).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/vnd.ms-excel")
                    {
                        return(File(BAR, mimtype, header.ReportName + ".xls"));
                    }
                    else
                    {
                        return(File(BAR, mimtype));
                    }
                }
            }
        }
Esempio n. 9
0
        public ActionResult ReportGrid(FormCollection form)
        {
            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 = new ReportHeaderService(_unitOfWork).GetReportHeader(Convert.ToInt32(ReportHeaderId));
            List <ReportLine> lines  = _ReportLineService.GetReportLineList(header.ReportHeaderId).ToList();

            Dictionary <string, string> ReportFilters2 = new Dictionary <string, string>();

            List <string> SubReportProcList = new List <string>();

            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 (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"));
                                }
                            }
                        }

                        if (cmd.Parameters.Contains(item.SqlParameter))
                        {
                            ReportFilters2.Add(item.SqlParameter, cmd.Parameters[item.SqlParameter].Value.ToString());
                        }
                    }
                }


                cmd.CommandTimeout = 200;
                SqlDataAdapter sqlDataAapter = new SqlDataAdapter(cmd);
                sqlDataAapter.SelectCommand.CommandType = CommandType.StoredProcedure;
                dsRep.EnforceConstraints = false;
                DataSet ds = new DataSet();
                sqlDataAapter.Fill(ds);
                AddIncrement(ds);

                TempData["TestTemp"] = ReportFilters2;

                var tem         = JsonConvert.SerializeObject(ds.Tables[0]);
                var ColNames    = GetColumnNames(header.ReportHeaderId, cmd.Parameters["@ReportType"].Value.ToString());
                var ReportTypes = new SubReportService(_unitOfWork).GetSubReportList(header.ReportHeaderId);
                ViewBag.ReportTypes = ReportTypes.Select(m => new SubReportViewModel {
                    SubReportName = m.SubReportName
                }).ToList();
                ViewBag.SelectedReportType = cmd.Parameters["@ReportType"].Value.ToString();
                ViewBag.ReportDate         = tem;
                ViewBag.Id          = ReportTypes.Where(m => m.ReportHeaderId == header.ReportHeaderId && m.SubReportName == cmd.Parameters["@ReportType"].Value.ToString()).FirstOrDefault().SubReportId;
                ViewBag.ColumnNames = JsonConvert.SerializeObject(ColNames);

                var Paralist = new List <Tuple <string, string, Dictionary <string, string>, bool> >();

                foreach (var item in lines)
                {
                    if (item.SqlParameter == "@LoginSite" || item.SqlParameter == "@LoginDivision")
                    {
                    }
                    else if (item.Type == "2.Filter")
                    {
                        if (item.SqlParameter != "" && item.SqlParameter != null && form[item.FieldName].ToString() != "")
                        {
                            if (item.DataType == "Date")
                            {
                                if (!string.IsNullOrEmpty(form[item.FieldName].ToString()))
                                {
                                    Paralist.Add(new Tuple <string, string, Dictionary <string, string>, bool>(item.DisplayName, item.SqlParameter, new Dictionary <string, string>()
                                    {
                                        { form[item.FieldName].ToString(), form[item.FieldName].ToString() }
                                    }, item.IsMandatory)); ReportFilters.Add(item.DisplayName, form[item.FieldName].ToString());
                                }
                            }
                            else if (item.DataType == "Single Select")
                            {
                                if (!string.IsNullOrEmpty(item.ListItem))
                                {
                                    Paralist.Add(new Tuple <string, string, Dictionary <string, string>, bool>(item.DisplayName, item.SqlParameter, new Dictionary <string, string>()
                                    {
                                        { form[item.FieldName].ToString(), form[item.FieldName].ToString() }
                                    }, item.IsMandatory));
                                }
                                else if (!string.IsNullOrEmpty(form[item.FieldName].ToString()))
                                {
                                    Paralist.Add(new Tuple <string, string, Dictionary <string, string>, bool>(item.DisplayName, item.SqlParameter, new Dictionary <string, string>()
                                    {
                                        { form[item.FieldName].ToString(), form[item.FieldName + "Names"].ToString() }
                                    }, item.IsMandatory)); ReportFilters.Add(item.DisplayName, form[item.FieldName + "Names"].ToString());
                                }
                            }
                            else if (item.DataType == "Multi Select")
                            {
                                Dictionary <string, string> kevval = new Dictionary <string, string>();

                                var Count = form[item.FieldName].Split(',').Count();
                                for (int i = 0; i < Count; i++)
                                {
                                    var temp    = form[item.FieldName + "dic[" + i + "].Key"];
                                    var tempVal = form[item.FieldName + "dic[" + i + "].Value"];

                                    if (!string.IsNullOrEmpty(temp) && !string.IsNullOrEmpty(tempVal))
                                    {
                                        kevval.Add(temp, tempVal);
                                    }
                                }

                                if (form[item.FieldName].ToString() != "")
                                {
                                    Paralist.Add(new Tuple <string, string, Dictionary <string, string>, bool>(item.DisplayName, item.SqlParameter, kevval, item.IsMandatory)); ReportFilters.Add(item.DisplayName, form[item.FieldName + "Names"].ToString());
                                }
                            }
                            else
                            {
                                if (form[item.FieldName].ToString() != "")
                                {
                                    Paralist.Add(new Tuple <string, string, Dictionary <string, string>, bool>(item.DisplayName, item.SqlParameter, new Dictionary <string, string>()
                                    {
                                        { form[item.FieldName].ToString(), form[item.FieldName].ToString() }
                                    }, item.IsMandatory)); ReportFilters.Add(item.DisplayName, form[item.FieldName].ToString());
                                }
                            }
                        }
                    }
                }

                ViewBag.ReportFilters = Paralist;
                ViewBag.ReportName    = header.ReportName;

                return(View("GridReport"));
            }
        }
        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"));
            }
        }