コード例 #1
0
        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));
        }
コード例 #2
0
        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>()));
        }
コード例 #3
0
        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>()));
        }
コード例 #4
0
        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>()));
        }