//[HttpPost] //public ActionResult purviewMain(FormCollection frm) //人員權限主檔,人員權限明細檔-廠別權限 //{ // string employee_workNumber = Request["employee_workNumber"]; // var q = from o in db.Authority // where o.authority_workNumber == employee_workNumber // select o; // var q1 = from o in db.Employee // where o.employee_workNumber == employee_workNumber // select o; // //var q2 = from o in db.Factory // // from o1 in db.Authority // // where o1.employee_workNumber==employee_workNumber // // select new { factory_id=o.factory_id,factory_area=o.factory_area, factory_name=o.factory_name,factory_contract=o.factory_contract}; // ViewModel_empAu data = new ViewModel_empAu(); // data.AuthView = q.ToList(); // data.EmpView = q1.ToList(); // //data.Factory = new List<Factory>(); // // List<Factory> q2.ToList(); // //List. // return View(data); // //I) //} //編輯員工權限 public ActionResult EditfactoryAuthority(FormCollection frm) { //宣告employeeworkNumber接傳回來的employeeworkNumber值 string employeeworkNumber = Request["employeeworkNumber"]; // 查詢員工編號與權限沒停用的資料 var q1 = from o in db.Authority where o.authority_workNumber == employeeworkNumber && o.authority_IsDisable == "N" select o; //查詢廠別資料 var q2 = from o in db.Factory select o; //宣告一個新的ViewModel_AuFa ViewModel_AuFa data = new ViewModel_AuFa(); //把查詢到的權限資料跟廠別資料放入 data.Factory = q2.ToList(); data.AuthView = q1.ToList(); return(View(data)); }
public ActionResult EditFactoryAuthority(ViewModel_AuFa auth) { //宣告變數 string workNumber = Session["employee_acc"].ToString(); string employee_workNumber = Request["employee_workNumber"]; string auth_workNumber = Request["authority_workNumber"]; string factoryid = Request["factoryId"]; //action為0表示新增,為1表示停用 int action = Convert.ToInt32(Request["AddorRemove"].ToString()); //引用Emp類別 Emp emp = new Emp(); try { //action==0時,表示新增權限 if (action == 0) { //用員工編號跟廠別ID查詢 var query = (from o in db.Authority where o.authority_workNumber == workNumber && o.authority_factoryId == factoryid select o).ToList(); //當查無資料時query陣列沒有元素 if (query.Count() == 0) { //創新的Authority資料行 Authority authfac = new Authority() { authority_workNumber = auth_workNumber, authority_factoryId = factoryid, authority_IsDisable = "N", authority_role = emp.GetRole(employee_workNumber), authority_updateTime = DateTime.Now, authority_updateuser = emp.Name(employee_workNumber) }; //把資料行加入Authority資料表,並儲存 db.Authority.Add(authfac); db.SaveChanges(); } //當查詢員工編號跟廠別編號有值時 else if (query.Count() != 0) { //把資料行內的每個元素做變更 foreach (var item in query) { item.authority_Id = item.authority_Id; item.authority_factoryId = item.authority_factoryId; item.authority_workNumber = item.authority_workNumber; item.authority_IsDisable = "N"; item.authority_updateuser = emp.Name(employee_workNumber); item.authority_updateTime = DateTime.Now; } //寫回資料表 db.SaveChanges(); } } //當action為1時,表示停用該權限 if (action == 1) { //查詢員工編號與廠別代碼的資料 var query = (from o in db.Authority where o.authority_workNumber == workNumber && o.authority_factoryId == factoryid select o); var qtoList = query.ToList(); //取出每個資料數值並更新 foreach (var item in query) { item.authority_Id = item.authority_Id; item.authority_factoryId = item.authority_factoryId; item.authority_workNumber = item.authority_workNumber; item.authority_IsDisable = "Y"; item.authority_updateuser = emp.Name(employee_workNumber); item.authority_updateTime = DateTime.Now; } //寫回資料表 db.SaveChanges(); } } catch (Exception ex) //寫回錯誤輸出SQL錯誤碼 { return(Content(ex.ToString())); } //查詢員工編號與權限沒停用的資料 var q1 = from o in db.Authority where o.authority_workNumber == workNumber && o.authority_IsDisable == "N" select o; //查詢廠別資料 var q2 = from o in db.Factory select o; //引用ViewModel_AuFa類別 ViewModel_AuFa data = new ViewModel_AuFa(); //把查詢到的廠別資料給ViewModel_AuFa 下 Factoroy data.Factory = q2.ToList(); //把查詢到的權限資料給ViewModel_AuFa 下 AuthView data.AuthView = q1.ToList(); return(View(data)); }