public ActionResult Index(int?page) { DateTime dt = DateTime.Now; DateTime endTime = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d"))); NameValueCollection q = new NameValueCollection(); q.Add("CreatedAtStart", endTime.AddDays(-1).ToString("yyyy/MM/dd 10:00")); q.Add("CreatedAtEnd", DateTime.Now.AddHours(1).ToString("yyyy/MM/dd HH:00")); InspectOriginQueryModel query = new InspectOriginQueryModel(q); IPagedList <InspectOrigin> inspects = null; using (var txn = new System.Transactions.TransactionScope(TransactionScopeOption.Required, new TransactionOptions { IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted })) { using (IUnitOfWork unitOfWork = new TskDataDataContext(DbUtil.ConnectionString)) { int currentPageIndex = page.HasValue ? (page.Value <= 0 ? 0 : page.Value - 1) : 0; IInspectOriginRep inspectOriginRep = new InspectOriginRep(unitOfWork); inspects = inspectOriginRep.Queryable(query.CreatedAtStart, query.CreatedAtEnd).ToPagedList(currentPageIndex, int.Parse(Resources.PageSize)); } } ViewBag.Query = query; return(View(inspects)); }
private IQueryable <InspectOrigin> GenerateQuery(IUnitOfWork unitOfWork, InspectOriginQueryModel query) { IInspectOriginRep inspectRep = new InspectOriginRep(unitOfWork); return(inspectRep.Queryable().Where(item => //(string.IsNullOrEmpty(query.Text) ? true : item.Text.Contains(query.Text))&& (query.ProcessResult.HasValue ? item.ProcessResult.Equals(query.ProcessResult) : true) && (query.CreatedAtStart.HasValue ? item.CreatedAt >= query.CreatedAtStart : true) && (query.CreatedAtEnd.HasValue ? item.CreatedAt <= query.CreatedAtEnd : true) )); }
private List <InspectOrigin> ExportInspectOrigin(InspectOriginQueryModel query) { List <InspectOrigin> inspects = new List <InspectOrigin>(); using (IUnitOfWork unitOfWork = new TskDataDataContext(DbUtil.ConnectionString)) { IInspectOriginRep inspectRep = new InspectOriginRep(unitOfWork); inspects = GenerateQuery(unitOfWork, query).ToList <InspectOrigin>(); } return(inspects); }
private IPagedList <InspectOrigin> QueryInspectOrigin(InspectOriginQueryModel query, int?currentPageIndex, int?pageSize) { IPagedList <InspectOrigin> inspects; using (IUnitOfWork unitOfWork = new TskDataDataContext(DbUtil.ConnectionString)) { IInspectOriginRep inspectRep = new InspectOriginRep(unitOfWork); inspects = GenerateQuery(unitOfWork, query).ToPagedList(currentPageIndex.Value, pageSize.Value); } return(inspects); }
public ActionResult Query() { InspectOriginQueryModel query = new InspectOriginQueryModel(Request.QueryString); int currentPageIndex = 0; int.TryParse(Request.QueryString.Get("page"), out currentPageIndex); currentPageIndex = currentPageIndex <= 0 ? 0 : currentPageIndex - 1; int pageSize = int.Parse(Resources.PageSize); ViewBag.Query = query; return(View("Index", QueryInspectOrigin(query, currentPageIndex, pageSize))); }
public void Export() { InspectOriginQueryModel query = new InspectOriginQueryModel(Request.QueryString); ViewBag.Query = query; List <InspectOrigin> inspects = ExportInspectOrigin(query); MemoryStream ms = new MemoryStream(); using (StreamWriter sw = new StreamWriter(ms, Encoding.UTF8)) { // write head // string max = sw.WriteLine(string.Join(",", InspectOriginQueryModel.CsvHead.ToArray())); foreach (InspectOrigin i in inspects) { List <string> ii = new List <string>(); foreach (string field in InspectOriginQueryModel.Fileds) { // var p = i.GetType().GetProperties(); var value = i.GetType().GetProperty(field).GetValue(i, null); ii.Add(value == null ? "" : value.ToString()); } sw.WriteLine(string.Join(",", ii.ToArray())); } //sw.WriteLine(max); } var filename = "InspectOrigin" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".csv"; var contenttype = "text/csv"; Response.Clear(); Response.ContentEncoding = Encoding.UTF8; Response.ContentType = contenttype; Response.AddHeader("content-disposition", "attachment;filename=" + filename); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.BinaryWrite(ms.ToArray()); Response.End(); }