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()); }
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)); }
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"); //} }
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)); }