Esempio n. 1
0
        public ActionResult Index(int page = 1)
        {
            //登入時取得session empolyeeID
            if (User.Identity.IsAuthenticated)
            {
                FormsIdentity             id     = (FormsIdentity)HttpContext.User.Identity;
                FormsAuthenticationTicket ticket = id.Ticket;
                int userdata = Convert.ToInt32(ticket.UserData);
                Session.Add("userdata", userdata);

                PCGEntities db = new PCGEntities();

                var query2 = (from ad in db.Administrators//使用者名稱SESSION
                              where ad.EmployeeID == userdata
                              select ad.Name).First();
                string name = query2;
                Session.Add("Name", name);

                if (userdata == 5)
                {
                    var query     = _db.Factories.OrderBy(x => x.ZoneID);
                    int pageIndex = page < 1 ? 1 : page;

                    var model = new FactoryListViewModel
                    {
                        SearchParaMeter = new FactorySearchViewModel(),
                        PageIndex       = pageIndex,
                        ZoneID          = new SelectList(this.ZoneID, "ZoneID", "Country"),       //地區
                        Factory         = new SelectList(this.Factory(null), "FacNo", "FacName"), //廠區
                        AttSearchList   = this.Att.ToPagedList(pageIndex, PageSize)               //AttSearchList = ?
                    };
                    return(View(model));
                }
                else
                {
                    Session.Add("Name", "Guset");
                    return(RedirectToAction("NoPermission"));
                }
            }
            return(View());
        }
Esempio n. 2
0
        public ActionResult Index(FactoryListViewModel model)

        {
            //var query = _db.Factories.AsQueryable();
            int empID = Convert.ToInt32(Session["EmployeeID"].ToString());
            var RS    = this.Att(empID);

            //var RSS = from F in _db.Factories
            //         join Z in _db.Zone on F.ZoneID equals Z.ZoneID
            //         join A in _db.Administrators on F.Supervisor equals A.EmployeeID into joined
            //         from j in joined.DefaultIfEmpty()
            //         orderby Z.ZoneID
            //         //where Z.ZoneID == ZId && F.FacNo == Fac
            //         select new AttS { FacID = F.FacID, Country = Z.Country, EmpName = j.Name, FacName = F.FacName, EditTime = F.EditTime, ZoneID = F.ZoneID, FacNo = F.FacNo };

            if (!string.IsNullOrWhiteSpace(model.SearchParaMeter.FactoryName))

            {
                RS = RS.Where(x => x.FacName.Contains(model.SearchParaMeter.FactoryName));
                //query = query.Where(

                //    x => x.FacName.Contains(model.SearchParaMeter.FactoryName));
            }

            if (!string.IsNullOrWhiteSpace(model.SearchParaMeter.FactoryID))

            {
                RS = RS.Where(

                    x => x.FacID.Contains(model.SearchParaMeter.FactoryID));
                //query = query.Where(

                //        x => x.FacID.Contains(model.SearchParaMeter.FactoryID));
            }


            if (!string.IsNullOrWhiteSpace(model.SearchParaMeter.ZoneID)
                &&
                int.TryParse(model.SearchParaMeter.ZoneID, out ZId))
            {
                RS = RS.Where(x => x.ZoneID == ZId);
                //query = query.Where(x => x.ZoneID == ZId);
            }



            if (!string.IsNullOrWhiteSpace(model.SearchParaMeter.Factory)
                &&
                int.TryParse(model.SearchParaMeter.Factory, out Fac))
            {   /*model.search = Fac;*/
                RS = RS.Where(x => x.FacNo == Fac);
                //query = query.Where(x => x.FacNo == Fac);
            }
            //query = query.OrderBy(x => x.ZoneID);
            RS = RS.OrderBy(x => x.ZoneID);
            int pageIndex = model.PageIndex < 1 ? 1 : model.PageIndex;


            var result = new FactoryListViewModel

            {
                AttSearchList   = RS.ToPagedList(pageIndex, PageSize),
                SearchParaMeter = model.SearchParaMeter,
                ZoneID          = new SelectList(
                    items: this.ZoneID(empID), dataValueField: "ZoneID",
                    dataTextField: "Country",
                    selectedValue: model.SearchParaMeter.ZoneID),
                Factory = new SelectList(
                    items: this.Att1(empID, ZId), dataValueField: "FacNo",
                    dataTextField: "FacName",
                    selectedValue: model.SearchParaMeter.Factory),
                PageIndex = model.PageIndex < 1 ? 1 : model.PageIndex,


                //廠別s = query.ToPagedList(pageIndex, PageSize),
            };


            //if (id != null)
            //{
            //    Factories factories = _db.Factories.Find(id);
            //    ViewBag.Supervisor = new SelectList(_db.Administrators, "EmployeeID", "Name", factories.Supervisor);
            //    ViewBag.ZoneID = new SelectList(_db.Zone, "ZoneID", "Country", factories.ZoneID);
            //    return PartialView("_EditPartial", factories);
            //}

            //else { return View(result); }
            return(View(result));
        }
Esempio n. 3
0
        public ActionResult Index(FactoryListViewModel model)
        {
            //從資料庫搜尋 Administrators/Factories/Zone 資料表的資料 放進 AttS
            //int empID = Convert.ToInt32(Session["EmployeeID"].ToString());
            //if (empID == 5) {
            //    //int.TryParse(sn, out empID);

            //var query = from P in _db.Permission
            //            join F in _db.Factories on P.FacNo equals F.FacNo
            //            join A in _db.Administrators on F.FacID equals A.FacID
            //            join Z in _db.Zone on F.ZoneID equals Z.ZoneID
            //where P.EmployeeID == empID
            //以上權限控管暫時不需要
            var query = from F in _db.Factories
                        join A in _db.Administrators on F.FacID equals A.FacID
                        join Z in _db.Zone on F.ZoneID equals Z.ZoneID
                        orderby Z.ZoneID
                        select new AttS {
                FacNo = F.FacNo, ZoneID = Z.ZoneID, Country = Z.Country, FacName = F.FacName, Character = A.Character, EmpName = A.Name, EmpEmail = A.Email
            };

            //把需要用到的資料都塞進去

            //如果 ZoneID 不等於空值或空白 AND ZoneID 轉成 int ZId 然後 query =  用 ZId 比對 ZoneID
            if (!string.IsNullOrWhiteSpace(model.SearchParaMeter.ZoneID)
                &&
                int.TryParse(model.SearchParaMeter.ZoneID, out ZId))
            {
                query = query.Where(x => x.ZoneID == ZId);
            }
            //如果 Factory 不等於空值或空白 AND Factory 轉成 int Fac 然後 query =  用 Fac 比對 Factory
            if (!string.IsNullOrWhiteSpace(model.SearchParaMeter.Factory)
                &&
                int.TryParse(model.SearchParaMeter.Factory, out Fac))     /*model.search = Fac;*/
            {
                query = query.Where(x => x.FacNo == Fac);
            }

            query = query.OrderBy(x => x.ZoneID);
            int pageIndex = model.PageIndex < 1 ? 1 : model.PageIndex;
            var result    = new FactoryListViewModel
            {
                SearchParaMeter = model.SearchParaMeter,
                ZoneID          = new SelectList( //回傳地區下拉式選單
                    items: this.ZoneID, dataValueField: "ZoneID",
                    dataTextField: "Country",
                    selectedValue: model.SearchParaMeter.ZoneID),
                Factory = new SelectList(   //回傳廠區下拉式選單
                    items: this.Factory(ZId), dataValueField: "FacNo",
                    dataTextField: "FacName",
                    selectedValue: model.SearchParaMeter.Factory),     //
                PageIndex = model.PageIndex < 1 ? 1 : model.PageIndex, //回傳頁數

                AttSearchList = query.ToPagedList(pageIndex, PageSize)
            };

            return(View(result));
            //}
            //else {
            //    return RedirectToRoute("Login");
            //}
        }
Esempio n. 4
0
        public ActionResult Index(int page = 1)
        {
            //登入時取得session empolyeeID

            if (User.Identity.IsAuthenticated)
            {
                FormsIdentity             id     = (FormsIdentity)HttpContext.User.Identity;
                FormsAuthenticationTicket ticket = id.Ticket;
                int userdata = Convert.ToInt32(ticket.UserData);
                Session.Add("EmployeeID", userdata);

                PCGEntities db = new PCGEntities();

                var queryname = (from ad in db.Administrators
                                 where ad.EmployeeID == userdata
                                 select ad.Name).First();
                string name = queryname;
                Session.Add("Name", name);
            }
            else
            {
                Session.Add("Name", "Guset");
            }



            int    empID;
            string xxx = "";

            if (Session["EmployeeID"] != null)
            {
                xxx = Session["EmployeeID"].ToString();
            }

            int.TryParse(xxx, out empID);



            //int empID = Convert.ToInt32(Session["EmployeeID"].ToString());
            //.Where(y=> y.EmployeeID == empID);
            var querry = this.Att(empID).OrderBy(x => x.ZoneID);
            var query  = _db.Factories.OrderBy(x => x.ZoneID);
            //var qry = from gu in _db.Factories
            //          from cu in _db.Zone
            //          where gu.ZoneID == cu.ZoneID
            //          select new { cu, gu };
            int pageIndex = page < 1 ? 1 : page;

            var model = new FactoryListViewModel
            {
                SearchParaMeter = new FactorySearchViewModel(),
                PageIndex       = pageIndex,
                Factory         = new SelectList(this.Factory(null), "FacNo", "FacName"),
                ZoneID          = new SelectList(this.ZoneID(empID), "ZoneID", "Country"),
                廠別s             = query.ToPagedList(pageIndex, PageSize),
                AttSearchList   = querry.ToPagedList(pageIndex, PageSize)
            };

            //if (id == null)
            //{
            //    return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            //}
            //Factories factories = _db.Factories.Find(id);
            //if (factories == null)
            //{
            //    return HttpNotFound();
            //}

            //ViewBag.Supervisor = new SelectList(_db.Administrators, "EmployeeID", "Name", factories.Supervisor);
            //ViewBag.ZoneID = new SelectList(_db.Zone, "ZoneID", "Country", factories.ZoneID);



            return(View(model));
        }