public ActionResult startHand() { //宣告變數 string factoryId = Request["factoryId"]; int startId = Convert.ToInt32(Request["StartID"]); //需告一個新的ViewModel_StHanEmp ViewModel_StHanEmp data = new ViewModel_StHanEmp(); //查詢空資料行 var query = (from o in db.Employee where o.employee_factoryId == "" select o).ToList(); //把空員工資料行與啟動作業編號丟入 data.Employee = query; data.StartId = startId; return(View(data)); }
public ActionResult startHand(ViewModel_StHanEmp data) { //宣告變數接收傳回值 string employee_workNumber = Request["employee_WorkNumber"]; string employee_name = Request["employee_Name"]; string factory_Id = Request["factoryId"]; int startId = data.StartId; //用action決定動作 0表示查詢顯示資料 int action = Convert.ToInt32(Request["action"]); try { //action =1時,新增新資料行 if (action == 1) { //找出年度 var query1 = from o in db.StartCheck where o.Start_id == startId select o.start_year; int year = query1.FirstOrDefault(); //產生流水號 var query8 = from o in db.StartHand where o.startHand_checkId == startId orderby o.startHand_serialNumber descending select o.startHand_serialNumber; int serialNumber = query8.FirstOrDefault() + 1; string stringSerialNumber = serialNumber.ToString(); //找出廠別代碼 var query9 = from o in db.Employee where o.employee_workNumber == employee_workNumber select o.employee_factoryId; string factoryId = query9.FirstOrDefault(); //找出更新者 string updateUserWorkNumber = Session["employee_workNumber"].ToString(); var query2 = from o in db.Employee where o.employee_workNumber == updateUserWorkNumber select o.employee_name; string updateUserName = query2.FirstOrDefault(); StartHand startHand = new StartHand() { startHand_checkId = startId, startHand_workNumber = employee_workNumber, startHand_type = "手動收集", startHand_No = "RG" + year.ToString() + stringSerialNumber.PadLeft(5, '0') + factoryId.PadLeft(4, '0'), startHand_serialNumber = serialNumber, standHand_updateUser = updateUserName, startHand_updateTime = DateTime.Now }; //StartHand加入新資料行 db.StartHand.Add(startHand); //寫回資料庫 db.SaveChanges(); } //action=2,刪除資料表 if (action == 2) { //查詢要刪除的資料行 var q2 = (from o in db.StartHand where o.startHand_checkId == startId && o.startHand_workNumber == employee_workNumber select o).FirstOrDefault(); //把該筆資料標記為刪除 db.StartHand.Remove(q2); //存回資料庫,並刪除該筆 db.SaveChanges(); } //try有錯時,拋出錯誤 } catch (Exception ex) { return(Content(ex.ToString())); } //假如employee_workNumber為空 if (string.IsNullOrEmpty(employee_workNumber)) { //把employee_workNumber值設為空字串 employee_workNumber = ""; } //假如employee_name為空 if (string.IsNullOrEmpty(employee_name)) { //把employee_name值設為空字串 employee_name = ""; } //假如factory_Id為空 if (string.IsNullOrEmpty(factory_Id)) { //把factory_Id值設為空字串 factory_Id = ""; } //模糊查詢員工編號、員工姓名、廠別代號 var query = from o in db.Employee where o.employee_workId == 3 && o.employee_workNumber.Contains(employee_workNumber) && o.employee_name.Contains(employee_name) && o.employee_factoryId.Contains(factory_Id) select o; //把查詢到的員工資料丟入ViewModel_StHanEmp裡 data.Employee = query.ToList(); data.StartId = data.StartId; return(View(data)); }