public ActionResult Index(int id = 1) { int PageSize = 20; int NowPageCount = (id - 1) * PageSize; var context = new ApplicationDbContext(); var user = context.Users.Where(x => x.UserName == User.Identity.Name).FirstOrDefault(); var unSignMainList = from item in context.FlowMainList where item.flowStatus == 1 && item.defId != "EventSchedule" select item.id; var mySignSubList = (from item in context.FlowSubList where item.workNo == user.workNo && item.signResult == 0 && unSignMainList.Contains(item.pid) orderby item.signDate select item.pid).ToList <string>(); var mySignMainList = context.FlowMainList.Where(x => mySignSubList.Contains(x.id)).ToList <FlowMain>(); List <vwFlowMain> list = new List <vwFlowMain>(); foreach (FlowMain item in mySignMainList) { var Status = context.flowStatusList().Where(x => x.id == item.flowStatus).FirstOrDefault(); var sender = context.Users.Where(x => x.workNo.Equals(item.senderNo)).FirstOrDefault(); vwFlowMain vwItem = new vwFlowMain { id = item.id, sender = sender.workNo + " " + sender.cName, billNo = item.billNo, billDate = item.billDate, flowName = item.flowName, flowStatus = Status == null ? "簽核中" : Status.nm }; list.Add(vwItem); } var rlist = list.OrderByDescending(x => x.billDate).ToList <vwFlowMain>(); return(View(rlist)); }
public ActionResult Query() { var context = new ApplicationDbContext(); var user = context.Users.Where(x => x.UserName == User.Identity.Name).FirstOrDefault(); var signOkSubList = from item in context.FlowSubList where item.signResult != 0 && item.signResult != 99 select item.pid; var mySignSubList = (from item in context.FlowSubList where item.workNo == user.workNo && signOkSubList.Contains(item.pid) select item.pid).ToList <string>(); var mySignMainList = context.FlowMainList.Where(x => mySignSubList.Contains(x.id)) .OrderByDescending(x => x.billDate).ToList <FlowMain>(); List <vwFlowMain> list = new List <vwFlowMain>(); foreach (FlowMain item in mySignMainList) { var Status = context.flowStatusList().Where(x => x.id == item.flowStatus).FirstOrDefault(); var sender = context.Users.Where(x => x.workNo.Equals(item.senderNo)).FirstOrDefault(); vwFlowMain vwItem = new vwFlowMain { id = item.id, sender = sender.workNo + " " + sender.cName, billDate = item.billDate, signDate = item.signDate, billNo = item.billNo, flowName = item.flowName, flowStatus = Status == null ? "簽核中" : Status.nm }; list.Add(vwItem); } ViewBag.FlowPageType = "Query"; return(View(list.OrderByDescending(x => x.billDate).ToList <vwFlowMain>())); }
public ActionResult HRCheckFlow() { return(RedirectToAction("onWorking", "Account")); var user = ctx.Users.Where(x => x.UserName == User.Identity.Name).FirstOrDefault(); var signOkSubList = from item in ctx.FlowSubList where item.signResult != 0 && item.signResult != 99 && item.workNo == user.workNo select item.pid; var mySignSubList = (from item in ctx.FlowSubList where item.workNo == user.workNo && signOkSubList.Contains(item.pid) select item.pid).ToList <string>(); var mySignMainList = ctx.FlowMainList.Where(x => mySignSubList.Contains(x.id)) .OrderByDescending(x => x.billDate).ToList <FlowMain>(); List <vwFlowMain> list = new List <vwFlowMain>(); foreach (FlowMain item in mySignMainList) { var Status = ctx.flowStatusList().Where(x => x.id == item.flowStatus).FirstOrDefault(); var sender = ctx.Users.Where(x => x.workNo.Equals(item.senderNo)).FirstOrDefault(); vwFlowMain vwItem = new vwFlowMain { id = item.id, sender = sender.workNo + " " + sender.cName, billDate = item.billDate, flowName = item.flowName, flowStatus = Status == null ? "簽核中" : Status.nm }; list.Add(vwItem); } ViewBag.FlowPageType = "HRCheck"; return(View(list.OrderByDescending(x => x.billDate).ToList <vwFlowMain>())); }
public ActionResult ListAll(string status = "0", int page = 1) { int PageSize = 10; int NowPageCount = (page - 1) * PageSize; var context = new ApplicationDbContext(); List <SelectListItem> StatusItems = new List <SelectListItem>(); StatusItems.Add(new SelectListItem { Text = "全部", Value = "0" }); foreach (var item in context.flowStatusList()) { StatusItems.Add(new SelectListItem { Text = item.nm, Value = item.id.ToString() }); } ViewBag.SignResultItems = StatusItems; int iStatus = int.Parse(status); List <FlowMain> SignMainList = null; var totalListCount = 0; if (iStatus == 0) { SignMainList = (from item in context.FlowMainList where item.flowStatus != 99 orderby item.billDate descending select item).Skip(NowPageCount).Take(PageSize).ToList <FlowMain>(); totalListCount = (from item in context.FlowMainList where item.flowStatus != 99 select item.id ).Count(); } else { SignMainList = (from item in context.FlowMainList where item.flowStatus != 99 orderby item.billDate descending where item.flowStatus == iStatus select item).Skip(NowPageCount).Take(PageSize).ToList <FlowMain>(); totalListCount = (from item in context.FlowMainList where item.flowStatus != 99 orderby item.billDate descending where item.flowStatus == iStatus select item.id).Count(); } ViewBag.Count = totalListCount; ViewBag.PageSize = PageSize; ViewBag.CurrentPage = page; List <vwFlowMain> list = new List <vwFlowMain>(); foreach (FlowMain item in SignMainList) { var Status = context.flowStatusList().Where(x => x.id == item.flowStatus).FirstOrDefault(); var sender = context.Users.Where(x => x.workNo.Equals(item.senderNo)).FirstOrDefault(); if (sender != null) { vwFlowMain vwItem = new vwFlowMain { id = item.id, sender = sender.workNo + " " + sender.cName, billNo = item.billNo, billDate = item.billDate, signDate = item.signDate, flowName = item.flowName, flowStatus = Status == null ? "簽核中" : Status.nm }; list.Add(vwItem); } } return(View(list.OrderByDescending(x => x.billDate).ToList <vwFlowMain>())); }