public ActionResult Detail(int id, int? pageNo, string parm, OpenBidProjectQuery query) { Dictionary<string, string> sitemaster = GetSiteMaster(); ViewData["SiteMaster"] = sitemaster; if (sitemaster["istest"] == "1") { int uid = Int32.Parse(sitemaster["userid"]); IList<int> openprojectlist = CRMMapper.Get().QueryForList<int>("OpenBidNumForTest.myselectopen", uid); //先检查一共看的数目 if (openprojectlist.Count > 0) { //如果有看得记录,先检查是否是看过的 Hashtable htt = new Hashtable(); htt["pid"] = id; htt["uid"] = uid; IList<int> sawid = CRMMapper.Get().QueryForList<int>("OpenBidNumForTest.myselectopenpid", htt); //如果没看过,就检查是否超过最大值 if (sawid.Count == 0) { if (openprojectlist.Count < 5) { //没超过就写入记录 OpenBidNumForTest ob = new OpenBidNumForTest(); ob.OpenprojectNum = id; ob.UserID = uid; new OpenBidNumForTestDao().Insert(ob); } else { //超过了 return RedirectToAction("List"); } } } else { //之前没有看过也写入记录 OpenBidNumForTest ob = new OpenBidNumForTest(); ob.OpenprojectNum = id; ob.UserID = uid; new OpenBidNumForTestDao().Insert(ob); } } DOpenProjectDao mDOpenProjectDao = new DOpenProjectDao(); DOpenProject mDOpenProject = mDOpenProjectDao.Find(id); int interval = 0; if (EnterPriseMemberInfo.Memberlevel == 201) interval = 6; if (EnterPriseMemberInfo.Memberlevel == 301) interval = 12; DateTime limitedate = DateTime.Now.AddMonths(interval); if ((EnterPriseMemberInfo.Memberlevel == 201 || EnterPriseMemberInfo.Memberlevel == 301) && mDOpenProject.OpenDate > limitedate) { return RedirectToAction("MemberLevelError", "Base"); } ViewData["ProjectDescription"] = mDOpenProject.NewProjectDescription; ViewData["Summary"] = mDOpenProject.Summary; ViewData["OID"] = mDOpenProject.OID; //如果有参数 if (query.IsHaveProperty()) { parm = query.GetParameter(); ViewData["Query"] = query; return RedirectToAction("Detail", new { id = id, pageNo = 1, parm = parm }); } else { int PageNo = pageNo ?? 1; //表明第一次进来 if (query.CommonName != null) { query.LoadProperties(parm); } if (string.IsNullOrEmpty(query.CommonName) && string.IsNullOrEmpty(query.ProductEnterpriseName) && string.IsNullOrEmpty(query.TenderEnterpriseName) && query.CommonName.Length < 3) { pageNo = 1; } else { query.IsSearched = "1"; } //页码与记录数 int count = 0; //是否竞品条件 bool compete = false; //取数据与记录数 List<string> th = new List<string>(); DOpenMedicineDao m = new DOpenMedicineDao(); DataTable data = m.GetData(id, PageNo, PageSizeDetail, query, out count, ref compete,ref th); #region 数据处理 if (data == null) { data = new DataTable(); } if (!data.Columns.Contains("ID")) { DataColumn dc = new DataColumn(); dc.ColumnName = "ID"; data.Columns.Add(dc); } int beginNo = 0; if (!compete) { beginNo = (PageNo - 1) * PageSizeDetail; } for (int i = 1; i<= data.Rows.Count; i++) { data.Rows[i-1]["ID"] =(beginNo+ i).ToString(); } if (data.Columns.Contains("ROWID")) { data.Columns.Remove("ROWID"); } if (data.Columns.Contains("OID")) { data.Columns.Remove("OID"); } List<DataRow> listRow = new List<DataRow>(); foreach (DataRow dr in data.Rows) { listRow.Add(dr); } PagedList<DataRow> list; if (compete) { list = new PagedList<DataRow>(listRow, PageNo, PageSizeDetail); } else { list = new PagedList<DataRow>(listRow, PageNo, PageSizeDetail, count); } ViewData["Compete"] = compete; ViewData["Query"] = query; ViewData["Count"] = count; ViewData["Th"] = th; #endregion #region excel if (sitemaster["istest"] == "0" && query.Excel == "1") { ExcelExport mx = new ExcelExport(); mx.InitTh(); if (query.CommonName != null) mx._fileName = query.CommonName + DateTime.Now.ToShortDateString() + ".xls"; else { if (query.ProductEnterpriseName != null) mx._fileName = query.ProductEnterpriseName + DateTime.Now.ToShortDateString() + ".xls"; else mx._fileName = query.TenderEnterpriseName + DateTime.Now.ToShortDateString() + ".xls"; } //项目名称 TableItemStyle tiName = new TableItemStyle(); tiName.Font.Size = 14; tiName.ForeColor = System.Drawing.Color.Red; tiName.HorizontalAlign = HorizontalAlign.Center; mx.HeadExtrInfo.Add(mDOpenProject.NewProjectName, tiName); //项目备注 TableItemStyle tiRemark = new TableItemStyle(); tiRemark.Font.Size = 13; tiRemark.ForeColor = System.Drawing.Color.Red; tiRemark.HorizontalAlign = HorizontalAlign.Left; mx.HeadExtrInfo.Add("项目备注说明:", tiRemark); //项目备注 TableItemStyle tiRemarkContent = new TableItemStyle(); tiRemarkContent.Font.Size = 12; tiRemarkContent.HorizontalAlign = HorizontalAlign.Left; mx.HeadExtrInfo.Add(mDOpenProject.NewProjectDescription, tiRemarkContent); TableItemStyle tiCount = new TableItemStyle(); tiCount.Font.Size = 12; tiCount.HorizontalAlign = HorizontalAlign.Left; mx.HeadExtrInfo.Add("共有" + count.ToString() + "条", tiCount); if (data.Columns.Contains("ID")) { data.Columns.Remove("ID"); } //20111019修改按显示表头导出,去掉多余列 if (data.Columns.Contains("Mine")) { data.Columns.Remove("Mine"); } mx._thName = th.ToArray();//20111019修改按显示表头导出 mx.DataTableToExcel(data); } #endregion return View(list); } }
public ActionResult Detail(int id, int? pageNo, string parm, OpenBidProjectQuery query) { Dictionary<string, string> sitemaster = GetSiteMaster(); ViewData["SiteMaster"] = sitemaster; //SingleProjectDao mDOpenProjectDao = new SingleProjectDao(); SingleProject mDOpenProject = EmedDataCenterMapper.Get().QueryForObject<SingleProject>("SingleProject.Find", id); ViewData["ProjectDescription"] = mDOpenProject.NewProjectDescription; ViewData["Summary"] = mDOpenProject.Summary; ViewData["OID"] = mDOpenProject.OID; //如果有参数 if (query.IsHaveProperty()) { parm = query.GetParameter(); ViewData["Query"] = query; return RedirectToAction("Detail", new { id = id, pageNo = 1, parm = parm }); } else { int PageNo = pageNo ?? 1; //表明第一次进来 if (query.CommonName != null) { query.LoadProperties(parm); } if (string.IsNullOrEmpty(query.CommonName) && string.IsNullOrEmpty(query.ProductEnterpriseName) && string.IsNullOrEmpty(query.TenderEnterpriseName) && query.CommonName.Length < 3) { pageNo = 1; } else { query.IsSearched = "1"; } //页码与记录数 int count = 0; //是否竞品条件 bool compete = false; //取数据与记录数 List<string> th = new List<string>(); SingleMedicineDao m = new SingleMedicineDao(); DataTable data = m.GetData(id, PageNo, PageSizeDetail, query, out count, ref compete, ref th); #region 数据处理 if (data == null) { data = new DataTable(); } if (!data.Columns.Contains("ID")) { DataColumn dc = new DataColumn(); dc.ColumnName = "ID"; data.Columns.Add(dc); } int beginNo = 0; if (!compete) { beginNo = (PageNo - 1) * PageSizeDetail; } for (int i = 1; i <= data.Rows.Count; i++) { data.Rows[i - 1]["ID"] = (beginNo + i).ToString(); } if (data.Columns.Contains("ROWID")) { data.Columns.Remove("ROWID"); } if (data.Columns.Contains("OID")) { data.Columns.Remove("OID"); } List<DataRow> listRow = new List<DataRow>(); foreach (DataRow dr in data.Rows) { listRow.Add(dr); } foreach (DataRow dr in listRow) { if (dr.Table.Columns.Contains("FirstToLimit")) { string strFirstToLimit = dr["FirstToLimit"].ToString(); if (strFirstToLimit.Length > 0) { string subFirstToLimit = strFirstToLimit.Substring(0, strFirstToLimit.Length - 1); decimal fFirstToLimit = decimal.Parse(subFirstToLimit); string resultFirstToLimit = Math.Round(fFirstToLimit, 2).ToString() + "%"; dr["FirstToLimit"] = resultFirstToLimit; } } if (dr.Table.Columns.Contains("SecondToLimit")) { string strSecondToLimit = dr["SecondToLimit"].ToString(); if (strSecondToLimit.Length > 0) { string subSecondToLimit = strSecondToLimit.Substring(0, strSecondToLimit.Length - 1); decimal fSecondToLimit = decimal.Parse(subSecondToLimit); string resultSecondToLimit = Math.Round(fSecondToLimit, 2).ToString() + "%"; dr["SecondToLimit"] = resultSecondToLimit; } } if (dr.Table.Columns.Contains("SSecondToFirst")) { string strSSecondToFirst = dr["SSecondToFirst"].ToString(); if (strSSecondToFirst.Length > 0) { string subSSecondToFirst = strSSecondToFirst.Substring(0, strSSecondToFirst.Length - 1); decimal fSSecondToFirst = decimal.Parse(subSSecondToFirst); string resultSSecondToFirst = Math.Round(fSSecondToFirst, 2).ToString() + "%"; dr["SSecondToFirst"] = resultSSecondToFirst; } } if (dr.Table.Columns.Contains("SBidToFinal")) { string strSBidToFinal = dr["SBidToFinal"].ToString(); if (strSBidToFinal.Length > 0) { string subSBidToFinal = strSBidToFinal.Substring(0, strSBidToFinal.Length - 1); decimal fSBidToFinal = decimal.Parse(subSBidToFinal); string resultSBidToFinal = Math.Round(fSBidToFinal, 2).ToString() + "%"; dr["SBidToFinal"] = resultSBidToFinal; } } if (dr.Table.Columns.Contains("SBidToLimit")) { string strSBidToLimit = dr["SBidToLimit"].ToString(); if (strSBidToLimit.Length > 0) { string subSBidToLimit = strSBidToLimit.Substring(0, strSBidToLimit.Length - 1); decimal fSBidToLimit = decimal.Parse(subSBidToLimit); string resultSBidToLimit = Math.Round(fSBidToLimit, 2).ToString() + "%"; dr["SBidToLimit"] = resultSBidToLimit; } } if (dr.Table.Columns.Contains("STBidToTender")) { string strSTBidToTender = dr["STBidToTender"].ToString(); if (strSTBidToTender.Length > 0) { string subSTBidToTender = strSTBidToTender.Substring(0, strSTBidToTender.Length - 1); decimal fSBidToTender = decimal.Parse(subSTBidToTender); string resultSfSBidToTender = Math.Round(fSBidToTender, 2).ToString() + "%"; dr["STBidToTender"] = resultSfSBidToTender; } } } PagedList<DataRow> list; if (compete) { list = new PagedList<DataRow>(listRow, PageNo, PageSizeDetail); } else { list = new PagedList<DataRow>(listRow, PageNo, PageSizeDetail, count); } ViewData["Compete"] = compete; ViewData["Query"] = query; ViewData["Count"] = count; ViewData["Th"] = th; #endregion #region excel if (sitemaster["istest"]=="0" && query.Excel == "1") { ExcelExport mx = new ExcelExport(); mx.InitTh(); mx._fileName = "Emed-KB-" + DateTime.Now.ToShortDateString() + ".xls"; //项目名称 TableItemStyle tiName = new TableItemStyle(); tiName.Font.Size = 14; tiName.ForeColor = System.Drawing.Color.Red; tiName.HorizontalAlign = HorizontalAlign.Center; mx.HeadExtrInfo.Add(mDOpenProject.NewProjectName, tiName); //项目备注 TableItemStyle tiRemark = new TableItemStyle(); tiRemark.Font.Size = 13; tiRemark.ForeColor = System.Drawing.Color.Red; tiRemark.HorizontalAlign = HorizontalAlign.Left; mx.HeadExtrInfo.Add("项目备注说明:", tiRemark); //项目备注 TableItemStyle tiRemarkContent = new TableItemStyle(); tiRemarkContent.Font.Size = 12; tiRemarkContent.HorizontalAlign = HorizontalAlign.Left; mx.HeadExtrInfo.Add(mDOpenProject.NewProjectDescription, tiRemarkContent); TableItemStyle tiCount = new TableItemStyle(); tiCount.Font.Size = 12; tiCount.HorizontalAlign = HorizontalAlign.Left; mx.HeadExtrInfo.Add("共有" + count.ToString() + "条", tiCount); if (data.Columns.Contains("ID")) { data.Columns.Remove("ID"); } mx.DataTableToExcel(data); } #endregion return View(list); } }