public JsonResult UpdateSoQD(string id, string SoQD) { QuangHanhManufacturingEntities db = new QuangHanhManufacturingEntities(); using (DbContextTransaction dbct = db.Database.BeginTransaction()) { try { if (!SoQD.Equals("")) { string query = @"select * from HumanResources.Decision where number = @SoQD"; List <Decision> qdList = db.Database.SqlQuery <Decision>(query, new SqlParameter("SoQD", SoQD)).ToList(); if (qdList.Count > 0) { return(Json(new { success = false, message = "Số quyết định trùng" }, JsonRequestBehavior.AllowGet)); } else { int MaQD = Convert.ToInt32(id); Decision qd = db.Decisions.Where(x => x.decision_id == MaQD).FirstOrDefault(); qd.number = SoQD; qd.date = DateTime.Now.AddDays(2); db.Entry(qd).State = EntityState.Modified; List <string> maNV = db.Terminations.Where(x => x.decision_id == qd.decision_id). Select(x => x.employee_id).ToList(); foreach (var item in maNV) { var Nv = db.Employees.Where(nv => nv.employee_id == item).FirstOrDefault(); Nv.current_status_id = 2; db.Entry(Nv).State = EntityState.Modified; } db.SaveChanges(); dbct.Commit(); } } else { return(Json(new { success = false, message = "Chưa nhập số quyết định" }, JsonRequestBehavior.AllowGet)); } return(Json(new { success = true, message = "Thêm thành công" }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { dbct.Rollback(); return(Json(new { success = false, message = "Có lỗi khi thêm" }, JsonRequestBehavior.AllowGet)); } } }
public void EditSupply_duphong(String supplyid, int quantity) { QuangHanhManufacturingEntities db = new QuangHanhManufacturingEntities(); RepairRegularly1 duphong = db.RepairRegularly1.Where(x => x.supply_id == supplyid).FirstOrDefault(); if (duphong != null) { duphong.quantity -= quantity; db.Entry(duphong).State = EntityState.Modified; } db.SaveChanges(); }
private void EditSupply_duphong(string oldEquipmentId, string oldSupplyid, int oldQuantity, string newEquipmentId, string newSupplyid, int newQuantity) { //find old supplies by device. QuangHanhManufacturingEntities db = new QuangHanhManufacturingEntities(); using (DbContextTransaction transaction = db.Database.BeginTransaction()) { try { //if equipmentId and supplyId doesn't change after editing. if (oldEquipmentId == newEquipmentId && oldSupplyid == newSupplyid) { RepairRegularly1 duphong = db.RepairRegularly1.Where(x => (x.supply_id == newSupplyid && x.equipment_id == newEquipmentId)).FirstOrDefault(); if (duphong != null) { duphong.quantity += oldQuantity; duphong.quantity -= newQuantity; db.Entry(duphong).State = EntityState.Modified; } } else { //update quantity of old and new supplies remaining by each eqID. RepairRegularly1 oldRecord = db.RepairRegularly1.Where(x => (x.supply_id == oldSupplyid && x.equipment_id == oldEquipmentId)).FirstOrDefault(); RepairRegularly1 newRecord = db.RepairRegularly1.Where(x => (x.supply_id == newSupplyid && x.equipment_id == newEquipmentId)).FirstOrDefault(); oldRecord.quantity += oldQuantity; // if new doesn't exist => create new with quantity = -newQuantity if (newRecord == null) { RepairRegularly1 sp = new RepairRegularly1() { supply_id = newSupplyid, equipment_id = newEquipmentId, quantity = -newQuantity }; db.RepairRegularly1.Add(sp); } else { newRecord.quantity -= newQuantity; } } db.SaveChanges(); transaction.Commit(); } catch (Exception) { transaction.Rollback(); } } }
public JsonResult ResetPassword(string oldPass, string newPass, string rePass) { try { int id = Convert.ToInt32(Session["account_id"]); string passXc = new XCryptEngine(XCryptEngine.AlgorithmType.MD5).Encrypt(oldPass, "pl"); string rePasss = new XCryptEngine(XCryptEngine.AlgorithmType.MD5).Encrypt(rePass, "pl"); var user = db.Accounts.Where(x => x.ID == id).FirstOrDefault(); if (string.IsNullOrEmpty(oldPass) || string.IsNullOrEmpty(newPass) || string.IsNullOrEmpty(rePass)) { return(Json(new Result() { CodeError = 1, Data = "Mật khẩu không được để trống" }, JsonRequestBehavior.AllowGet)); } if (!newPass.Equals(rePass)) { return(Json(new Result() { CodeError = 1, Data = "2 mật khẩu không trùng khớp" }, JsonRequestBehavior.AllowGet)); } if (!user.Password.Equals(passXc)) { return(Json(new Result() { CodeError = 1, Data = "Mật khẩu cũ không đúng" }, JsonRequestBehavior.AllowGet)); } user.Password = rePasss; db.Entry(user).State = EntityState.Modified; db.SaveChanges(); return(Json(new Result() { CodeError = 2, Data = "Thay đổi mật khẩu thành công" }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(new Result() { CodeError = 1, Data = "Có lỗi xảy ra. Vui lòng thử lại!" }, JsonRequestBehavior.AllowGet)); } }
public JsonResult updateStatus(string id) { try { foreach (var r in id.Split(',')) { int i = int.Parse(r); var up = db.Notifications.Where(x => x.id_noti == i).SingleOrDefault(); up.isread = true; db.Entry(up).State = EntityState.Modified; } db.SaveChanges(); return(Json("", JsonRequestBehavior.AllowGet)); } catch (Exception) { return(Json("", JsonRequestBehavior.AllowGet)); } }
private void AddSupply_duphong(string newEquipmentId, string newSupplyid, int newQuantity) { //find old supplies by device. QuangHanhManufacturingEntities db = new QuangHanhManufacturingEntities(); using (DbContextTransaction transaction = db.Database.BeginTransaction()) { try { RepairRegularly1 duphong = db.RepairRegularly1.Where(x => (x.supply_id == newSupplyid && x.equipment_id == newEquipmentId)).FirstOrDefault(); //if existed if (duphong != null) { duphong.quantity -= newQuantity; db.Entry(duphong).State = EntityState.Modified; } //if doesn't exist before else { RepairRegularly1 sp = new RepairRegularly1() { supply_id = newSupplyid, equipment_id = newEquipmentId, quantity = -newQuantity }; db.RepairRegularly1.Add(sp); } db.SaveChanges(); transaction.Commit(); } catch (Exception) { transaction.Rollback(); } } }
public JsonResult AddNewUser(string Name, string Username, string Position, string Password, string RepeatPassword, string NVID, int module1, int module2, int module3, int module4, int module5, int module6, int module7, int module8, int module9, int module11, int module12, int module13, int module14, int module15, int module17, int module18, int module19, int module20, string rights) { if (db.Accounts.Where(x => x.Username == Username).Count() > 0) { return(Json(new Result() { CodeError = 2, Data = "Người dùng với tên đăng nhập <strong style='color:black; '>" + Username + "</strong> đã tồn tại!" }, JsonRequestBehavior.AllowGet)); } string InvalidFields = ""; if (!String.IsNullOrEmpty(NVID)) { if (db.Employees.Where(x => x.employee_id == NVID).Count() == 0) { return(Json(new Result() { CodeError = 2, Data = "Mã nhân viên <strong style='color:black; '>" + NVID + "</strong> không tồn tại!" }, JsonRequestBehavior.AllowGet)); } } else { InvalidFields += " Mã nhân viên -"; } if (String.IsNullOrEmpty(Name)) { InvalidFields += " Họ Tên -"; } if (String.IsNullOrEmpty(Username)) { InvalidFields += " Tên đăng nhập -"; } if (String.IsNullOrEmpty(Position)) { InvalidFields += " Chức vụ -"; } if (InvalidFields != "") { return(Json(new Result() { CodeError = 1, Data = InvalidFields.Substring(0, InvalidFields.Length) + " không được để trống !!!" }, JsonRequestBehavior.AllowGet)); } if (String.IsNullOrEmpty(Password) || String.IsNullOrEmpty(RepeatPassword)) { return(Json(new Result() { CodeError = 1, Data = "Mật khẩu không được để trống !!!" }, JsonRequestBehavior.AllowGet)); } else { if (Password != RepeatPassword) { return(Json(new Result() { CodeError = 1, Data = "Mật khẩu nhập lại không khớp !!!" }, JsonRequestBehavior.AllowGet)); } } if (InvalidFields != "") { return(Json(new Result() { CodeError = 1, Data = InvalidFields }, JsonRequestBehavior.AllowGet)); } else { string passXc = new XCryptEngine(XCryptEngine.AlgorithmType.MD5).Encrypt(Password, "pl"); using (DbContextTransaction trans = db.Database.BeginTransaction()) { try { Account a = new Account() { Name = Name, Username = Username, Password = passXc, Position = Position, NVID = NVID, Role = 3, CDVT = Convert.ToBoolean(module1), TCLD = Convert.ToBoolean(module2), KCS = Convert.ToBoolean(module3), DK = Convert.ToBoolean(module4), BGD = Convert.ToBoolean(module5), PXKT = Convert.ToBoolean(module6), PXDL = Convert.ToBoolean(module8), PXVT = Convert.ToBoolean(module9), PXPV = Convert.ToBoolean(module11), PXDS = Convert.ToBoolean(module12), PXCDM = Convert.ToBoolean(module13), PXTGQLM = Convert.ToBoolean(module14), PXXD = Convert.ToBoolean(module15), AT = Convert.ToBoolean(module17), PXCKSC = Convert.ToBoolean(module19), KCM = Convert.ToBoolean(module18), PXCBT = Convert.ToBoolean(module20) }; db.Accounts.Add(a); db.SaveChanges(); var acc = db.Accounts.Where(x => x.Username == Username).FirstOrDefault(); var rightsSplit = rights.Split(','); foreach (var r in rightsSplit) { if (!String.IsNullOrEmpty(r)) { Account_Right_Detail rd = new Account_Right_Detail() { AccountID = acc.ID, RightID = int.Parse(r) }; db.Account_Right_Detail.Add(rd); } } db.SaveChanges(); addModule(module1, acc.ID, 1); addModule(module2, acc.ID, 2); addModule(module3, acc.ID, 3); addModule(module4, acc.ID, 4); addModule(module5, acc.ID, 5); addModule(module6, acc.ID, 6); addModule(module8, acc.ID, 8); addModule(module9, acc.ID, 9); addModule(module11, acc.ID, 11); addModule(module12, acc.ID, 12); addModule(module13, acc.ID, 13); addModule(module14, acc.ID, 14); addModule(module15, acc.ID, 15); addModule(module17, acc.ID, 17); addModule(module18, acc.ID, 18); addModule(module19, acc.ID, 19); addModule(module20, acc.ID, 20); if (module7 == 1) { var user = db.Accounts.SingleOrDefault(x => x.ID == acc.ID); user.Name = Name; user.Username = Username; user.Password = passXc; user.Position = Position; user.Role = 2; user.NVID = NVID; user.CDVT = false; user.TCLD = false; user.KCS = false; user.DK = false; user.BGD = false; user.PXKT = false; user.ADMIN = true; user.PXDL = false; user.PXVT = false; user.PXPV = false; user.PXDS = false; user.PXCDM = false; user.PXTGQLM = false; user.PXXD = false; user.AT = false; user.KCM = false; user.PXCKSC = false; user.PXCBT = false; db.Entry(user).State = EntityState.Modified; db.SaveChanges(); } trans.Commit(); return(Json(new Result() { CodeError = 0, Data = "Tài khoản <strong style='color:black;'>" + Username + " </strong> đã được thêm mới thành công cho <strong style='color:black;'>" + Name + "</strong>" }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { trans.Rollback(); return(Json(new Result() { CodeError = 2, Data = "Có lỗi vui lòng kiểm tra lại!" }, JsonRequestBehavior.AllowGet)); } } } }
public ActionResult TLHD(string selectedList) { QuangHanhManufacturingEntities db = new QuangHanhManufacturingEntities(); using (DbContextTransaction dbct = db.Database.BeginTransaction()) { try { Decision qd = new Decision(); var js = new JavaScriptSerializer(); var result = JsonConvert.DeserializeObject <List <GetListEmployees_Result> >(selectedList); //string[] date = result[0].terminate_date.Split('/'); var emp = new Employee(); if (result[0].decision_number.Equals("")) { qd.number = ""; foreach (var item in result) { emp = db.Employees.Where(x => x.employee_id == item.employee_id).FirstOrDefault(); emp.current_status_id = 4; } } else { string decision_number = result[0].decision_number + ""; List <Decision> check_list = db.Decisions.Where(x => x.number.Equals(decision_number)).ToList(); if (check_list.Count > 0) { return(Json(new { success = false, message = "Số quyết định trùng" }, JsonRequestBehavior.AllowGet)); } else { qd.number = decision_number; foreach (var item in result) { emp = db.Employees.Where(x => x.employee_id == item.employee_id).FirstOrDefault(); emp.current_status_id = 2; } } } qd.date = DateTime.ParseExact(result[0].terminate_date + "", "dd/MM/yyyy", null); db.Entry(emp).State = EntityState.Modified; db.Decisions.Add(qd); db.SaveChanges(); int maqd = db.Decisions.Select(n => n.decision_id).DefaultIfEmpty(0).Max(); foreach (var item in result) { Termination tlhd = new Termination(); tlhd.employee_id = item.employee_id; tlhd.decision_id = maqd; tlhd.terminate_date = DateTime.ParseExact(result[0].terminate_date + "", "dd/MM/yyyy", null); tlhd.termination_type_id = item.termination_type_id; db.Terminations.Add(tlhd); } db.SaveChanges(); dbct.Commit(); return(Json(new { success = true, message = "Tạo quyết định thành công" }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { dbct.Rollback(); return(Json(new { success = false, message = "Lỗi" }, JsonRequestBehavior.AllowGet)); } } }
public ActionResult SaveEdit(Employee emp, string position, string hiddenSalary, string[] giaDinh, string[] ngaySinhGiaDinh, string[] hoTen, string[] moiQuanHe, string[] lyLich, string[] donVi, string[] chucDanh, string[] chucVu, string[] tuNgayDenNgay) { QuangHanhManufacturingEntities db = new QuangHanhManufacturingEntities(); using (DbContextTransaction dbct = db.Database.BeginTransaction()) { try { List <Work> Jobdb = db.Works.ToList <Work>(); foreach (Work cv in Jobdb) { if (position.Trim().Equals(cv.name.Trim())) { emp.current_work_id = cv.work_id; break; } } if (giaDinh != null) { for (int i = 0; i < giaDinh.Length; i++) { if (giaDinh[i].Equals("") || moiQuanHe[i].Equals("")) { continue; } Family family = new Family(); family.full_name = hoTen[i]; if (ngaySinhGiaDinh[i] != "") { family.date_of_birth = DateTime.ParseExact(ngaySinhGiaDinh[i], "dd/MM/yyyy", null); } else { family.date_of_birth = null; } family.background = lyLich[i]; family.family_relationship_id = Int32.Parse(moiQuanHe[i]); family.family_type_id = Int32.Parse(giaDinh[i]); family.employee_id = emp.employee_id; db.Families.Add(family); } db.SaveChanges(); } if (donVi != null) { List <WorkingProcess> list = db.WorkingProcesses.ToList(); for (int i = 0; i < donVi.Length; i++) { if (!donVi[i].Equals("")) { string[] ngay = tuNgayDenNgay[i].Split('-'); string DonViCongTacX = donVi[i]; string[] ngayFix = ngay[0].Trim().Split('/'); List <WorkingProcess> ct = db.WorkingProcesses.Where(qtct => (qtct.employee_id.Equals(emp.employee_id)) && (qtct.office.Equals(DonViCongTacX))).ToList(); if (ct.Count == 0) { WorkingProcess qtct = new WorkingProcess(); qtct.employee_id = emp.employee_id; qtct.office = donVi[i]; if (ngay[0] != "" && ngay[1] != "") { string[] dateStart = ngay[0].Split('/'); qtct.date_start = Convert.ToDateTime(dateStart[1] + "/" + dateStart[0] + "/" + dateStart[2]); string[] dateEnd = ngay[1].Split('/'); qtct.date_end = Convert.ToDateTime(dateEnd[1] + "/" + dateEnd[0] + "/" + dateEnd[2]); } qtct.position = chucVu[i]; qtct.title = chucDanh[i]; db.WorkingProcesses.Add(qtct); } else { WorkingProcess qtct = new WorkingProcess(); qtct.employee_id = emp.employee_id; qtct.office = donVi[i]; var quaTrinh = db.WorkingProcesses.Where(congTac => (congTac.employee_id.Equals(emp.employee_id)) && (congTac.office.Equals(DonViCongTacX))).FirstOrDefault(); if (ngay[0] != "" && ngay[1] != "") { string[] dateStart = ngay[0].Split('/'); quaTrinh.date_start = Convert.ToDateTime(dateStart[1] + "/" + dateStart[0] + "/" + dateStart[2]); string[] dateEnd = ngay[1].Split('/'); quaTrinh.date_end = Convert.ToDateTime(dateEnd[1] + "/" + dateEnd[0] + "/" + dateEnd[2]); } quaTrinh.position = chucVu[i]; quaTrinh.title = chucDanh[i]; db.Entry(quaTrinh).State = EntityState.Modified; } } } db.SaveChanges(); } } catch (Exception e) { dbct.Rollback(); } if (hiddenSalary != "") { emp.current_salary_id = Convert.ToInt32(hiddenSalary); } else { emp.current_salary_id = null; } db.Entry(emp).State = EntityState.Modified; db.SaveChanges(); dbct.Commit(); } return(RedirectToAction("Search")); }
public ActionResult Edit(Equipment emp, string import, string inspec, string Insua, string BuyInspec, string BuyInsua, string used, string main, string sk, string sm, CarDB cdb, string yearSX) { using (QuangHanhManufacturingEntities db = new QuangHanhManufacturingEntities()) { using (DbContextTransaction dbc = db.Database.BeginTransaction()) { try { string[] date; string date_fix; //import date if (!import.Equals("")) { date = import.Split('/'); date_fix = date[1] + "/" + date[0] + "/" + date[2]; emp.date_import = Convert.ToDateTime(date_fix); } //durationOfInspection if (!inspec.Equals("")) { date = inspec.Split('/'); date_fix = date[1] + "/" + date[0] + "/" + date[2]; string check = "select * from Equipment.Inspection e where e.equipment_id = @eid order by inspect_id desc"; Inspection checkNull = db.Database.SqlQuery <Inspection>(check, new SqlParameter("eid", emp.equipment_id)).FirstOrDefault(); if (checkNull == null) { Inspection temp = new Inspection { equipment_id = emp.equipment_id, inspect_date = Convert.ToDateTime(date_fix) }; db.Inspections.Add(temp); db.SaveChanges(); } else { checkNull.inspect_date = Convert.ToDateTime(date_fix); db.SaveChanges(); } emp.duration_of_inspection = Convert.ToDateTime(date_fix); } //BuyOfInsurance if (!BuyInsua.Equals("")) { date = BuyInsua.Split('/'); date_fix = date[1] + "/" + date[0] + "/" + date[2]; emp.insurance_date = Convert.ToDateTime(date_fix); } //BuyOfInspection if (!BuyInspec.Equals("")) { date = BuyInspec.Split('/'); date_fix = date[1] + "/" + date[0] + "/" + date[2]; emp.inspect_date = Convert.ToDateTime(date_fix); } //durationOfInsurance if (!Insua.Equals("")) { date = Insua.Split('/'); date_fix = date[1] + "/" + date[0] + "/" + date[2]; DateTime buyDate; string check = "select * from Equipment.Insurance e where e.equipment_id = @eid order by insurance_id desc"; Insurance checkNull = db.Database.SqlQuery <Insurance>(check, new SqlParameter("eid", emp.equipment_id)).FirstOrDefault(); if (checkNull == null) { if (emp.insurance_date != null) { buyDate = emp.insurance_date.Value; } else { int yearBuy = Convert.ToInt32(date[2]) - 1; String dateTemp = date[1] + "/" + date[0] + "/" + yearBuy; buyDate = Convert.ToDateTime(dateTemp); } Insurance temp = new Insurance { equipment_id = emp.equipment_id, insurance_start_date = buyDate, insurance_end_date = Convert.ToDateTime(date_fix), }; db.Insurances.Add(temp); db.SaveChanges(); } else { db.Database.ExecuteSqlCommand("Update Equipment.Insurance set insurance_end_date = @date where insurance_id = @id" , new SqlParameter("date", Convert.ToDateTime(date_fix)) , new SqlParameter("id", checkNull.insurance_id)); //checkNull.insurance_end_date = Convert.ToDateTime(date_fix); db.SaveChanges(); } emp.duration_of_insurance = Convert.ToDateTime(date_fix); } //usedDay if (!used.Equals("")) { date = used.Split('/'); date_fix = date[1] + "/" + date[0] + "/" + date[2]; emp.used_day = Convert.ToDateTime(date_fix); } //nearest_Maintenance_Day if (!main.Equals("")) { date = main.Split('/'); date_fix = date[1] + "/" + date[0] + "/" + date[2]; emp.duration_of_maintainance = Convert.ToDateTime(date_fix); } if (sk != "" && sm != "") { Car ca = db.Cars.Where(x => x.equipment_id == emp.equipment_id).FirstOrDefault(); ca.chassis_number = sk; ca.engine_number = sm; ca.GPS = cdb.GPS; if (yearSX != "") { ca.manufacture_year = Convert.ToInt32(yearSX); } ca.fuel = cdb.fuel; db.Entry(ca).State = EntityState.Modified; } db.Entry(emp).State = EntityState.Modified; db.SaveChanges(); dbc.Commit(); return(Search("", "", "", "", "", "", "", "", "")); } catch (Exception e) { e.Message.ToString(); dbc.Rollback(); return(Json(new { success = false, message = e.Message }, JsonRequestBehavior.AllowGet)); } } } }
public ActionResult Index(string username, string password, string rm) { if (password == null) { return(RedirectToAction("Index")); } string passXc = new XCryptEngine(XCryptEngine.AlgorithmType.MD5).Encrypt(password, "pl"); var checkuser = db.Accounts.Where(x => x.Username == username).Where(y => y.Password == passXc).SingleOrDefault(); if (checkuser != null) { if (checkuser.Username.Equals(username) && checkuser.Password.Equals(passXc)) { Session["UserID"] = checkuser.ID; Session["time"] = DateTime.Now; int id = checkuser.ID; var Name = db.Database.SqlQuery <InfoAccount>(@"select a.ID, ep.BASIC_INFO_full_name, a.Username, a.Position, a.ADMIN, d.department_name, d.department_id, a.Role from Account.Account a, HumanResources.Employee ep , General.Department d where a.NVID = ep.employee_id and d.department_id = ep.current_department_id and a.ID = @id", new SqlParameter("id", id)).FirstOrDefault(); Session["departName"] = Name.department_name.Trim(); Session["departID"] = Name.department_id.Trim(); Session["account_id"] = Name.ID; Session["Name"] = Name.Ten; Session["username"] = Name.Username.Trim(); Session["Position"] = Name.Position.Trim(); Session["isAdmin"] = Name.ADMIN; Session["Role"] = Name.Role; GetPermission(id); //thư viện đang dùng cho hashpass không decrypt được nên phải dùng thư viện khác để set pass cookie string hashtoken = Hash.Encrypt.EncryptString(password, "quanghanhcoals"); if (!String.IsNullOrEmpty(rm)) { if (rm.Equals("on")) { HttpCookie remme = new HttpCookie("token"); remme["token"] = hashtoken; remme["uid"] = Name.ID.ToString(); remme.Expires = DateTime.Now.AddDays(365); remme.Secure = true; remme.HttpOnly = true; HttpContext.Response.Cookies.Add(remme); checkuser.token = hashtoken; try { db.Entry(checkuser).State = EntityState.Modified; db.SaveChanges(); } catch (Exception e) { } } } if (Name.ADMIN) { return(RedirectToAction("Index", "ManagementUser")); } string url = (string)Session["url"]; if (url == null) { ViewData["Notification"] = "Tài khoản chưa được kích hoạt"; Session.Abandon(); return(View()); } return(Redirect(url)); } else { ViewData["Notification"] = "Tên đăng nhập/mật khẩu không đúng!"; return(View()); } } else { ViewData["Notification"] = "Tên đăng nhập/mật khẩu không đúng!"; return(View()); } }
public ActionResult AddFuel(int consumption_value, string fuel_type, string date1, String equipmentId) { QuangHanhManufacturingEntities DBContext = new QuangHanhManufacturingEntities(); //bug : depend on supply_tieuhao. using (DbContextTransaction transaction = DBContext.Database.BeginTransaction()) { try { // only taken by each department. string department_id = Session["departID"].ToString(); Equipment e = DBContext.Equipments.Find(equipmentId); //check vehicle eq exist in department FuelDB check = DBContext.Database.SqlQuery <FuelDB>(@"select equipment_id , equipment_name from (select distinct e.equipment_id, e.equipment_name ,e.department_id from Equipment.Equipment e inner join Equipment.CategoryAttribute ea on ea.Equipment_category_id = e.Equipment_category_id where ea.Equipment_category_attribute_name = N'Số khung' or ea.Equipment_category_attribute_name = N'Số máy') as t where department_id = @department_id AND equipment_id = @equipmentId " , new SqlParameter("department_id", department_id) , new SqlParameter("equipmentId", equipmentId) ).First(); DateTime date = DateTime.ParseExact(date1, "dd/MM/yyyy", null); Supply s = DBContext.Supplies.Where(x => x.supply_id == fuel_type).First(); EditSupply_duphong(fuel_type, consumption_value); FuelActivitiesConsumption f = DBContext.Database.SqlQuery <FuelActivitiesConsumption>("select * from Equipment.FuelActivitiesConsumption " + "where fuel_type=@fueltype and equipment_id=@equipmentid and date=@date", new SqlParameter("fueltype", fuel_type), new SqlParameter("equipmentid", equipmentId), new SqlParameter("date", date)).FirstOrDefault(); if (f != null) { f.consumption_value = f.consumption_value + consumption_value; DBContext.Entry(f).State = EntityState.Modified; } else { FuelActivitiesConsumption fuel_Activities_Consumption = new FuelActivitiesConsumption() { department_id = department_id, consumption_value = consumption_value, equipment_id = equipmentId, fuel_type = fuel_type, date = DateTime.ParseExact(date1, "dd/MM/yyyy", null) }; DBContext.FuelActivitiesConsumptions.Add(fuel_Activities_Consumption); DBContext.SaveChanges(); } //Update : //get new DBContext.SaveChanges(); transaction.Commit(); return(Json("", JsonRequestBehavior.AllowGet)); } catch (Exception) { transaction.Rollback(); string output = ""; if (DBContext.Equipments.Where(x => x.equipment_id == equipmentId).Count() == 0) { output += "Mã thiết bị không tồn tại\n"; } if (output == "") { output += "Có lỗi xảy ra, xin vui lòng nhập lại"; } Response.Write(output); return(new HttpStatusCodeResult(400)); } } }
public ActionResult Edit(float quantity, string activity_name, int hours_per_day, string date1, String equipmentId, int activityid) { QuangHanhManufacturingEntities DBContext = new QuangHanhManufacturingEntities(); using (DbContextTransaction transaction = DBContext.Database.BeginTransaction()) { try { // only taken by each department. string department_id = Session["departID"].ToString(); Equipment i = DBContext.Equipments.Find(equipmentId); //check vehicle eq exist in department FuelDB f = DBContext.Database.SqlQuery <FuelDB>(@"select equipment_id , equipment_name from (select distinct e.equipment_id, e.equipment_name ,e.department_id from Equipment.Equipment e inner join Equipment.CategoryAttribute ea on ea.Equipment_category_id = e.Equipment_category_id where ea.Equipment_category_attribute_name = N'Số khung' or ea.Equipment_category_attribute_name = N'Số máy') as t where department_id = @department_id AND equipment_id = @equipmentId " , new SqlParameter("department_id", department_id) , new SqlParameter("equipmentId", equipmentId) ).First(); //Activity q = DBContext.Activities.Where(x => x.activityid == activityid).SingleOrDefault(); Activity q = DBContext.Activities.Find(activityid); Activity fixBug = DBContext.Activities.Find(activityid); string oldEq = fixBug.equipment_id; q.equipment_id = i.equipment_id; string date = DateTime.ParseExact(date1, "dd/MM/yyyy", null).ToString("MM-dd-yyyy"); q.date = DateTime.Parse(date); q.hours_per_day = hours_per_day; q.quantity = quantity; q.activity_name = activity_name; q.activity_id = activityid; DBContext.Entry(q).State = EntityState.Modified; DBContext.SaveChanges(); //after update activity. //get old and new. //string oldEq = q.equipmentid; string newEq = equipmentId; //update old: double hoursOld = DBContext.Database.SqlQuery <double>( @" select case when sum(hours_per_day) is null then 0 else sum(hours_per_day) end as total from Equipment.Activity where equipment_id = @equipmentId" , new SqlParameter("", oldEq)).First(); int totalHourOld = (int)hoursOld; DBContext.Database.ExecuteSqlCommand("update Equipment.Equipment set total_operating_hours = @hour where equipment_id = @equipmentId", new SqlParameter("hour", totalHourOld), new SqlParameter("equipmentId", oldEq)); //update new: double hoursNew = DBContext.Database.SqlQuery <double>("" + " select sum(hours_per_day) as total from Equipment.Activity " + " where equipment_id = @equipmentId" , new SqlParameter("equipmentId", newEq)).First(); int totalHourNew = (int)hoursNew; DBContext.Database.ExecuteSqlCommand("update Equipment.Equipment set total_operating_hours = @hour where equipment_id = @equipmentId", new SqlParameter("hour", totalHourNew), new SqlParameter("equipmentId", newEq)); transaction.Commit(); return(new HttpStatusCodeResult(201)); } catch (Exception ex) { transaction.Rollback(); string output = ""; if (DBContext.Database.SqlQuery <Equipment>("SELECT * FROM Equipment.Equipment WHERE equipment_id = N'" + equipmentId + "'").Count() == 0) { output += "Mã thiết bị không tồn tại\n"; } if (output == "") { output += "Có lỗi xảy ra, xin vui lòng nhập lại"; } Response.Write(output); return(new HttpStatusCodeResult(400)); } } }
public ActionResult AddFuel(int consumption_value, string fuel_type, string date1, string equipmentId) { string output = ""; // only taken by each department. string department_id = Session["departID"].ToString(); QuangHanhManufacturingEntities DBContext = new QuangHanhManufacturingEntities(); using (DbContextTransaction transaction = DBContext.Database.BeginTransaction()) { try { //check eq in department. //Only add equipment in deparment of user. Equipment e = DBContext.Equipments.Where(x => (x.department_id == department_id && x.equipment_id == equipmentId)).First(); Supply s = DBContext.Database.SqlQuery <Supply>("select * from Supply.Supply where supply_id=@fueltype", new SqlParameter("fueltype", fuel_type)).First(); DateTime date = DateTime.ParseExact(date1, "dd/MM/yyyy", null); FuelActivitiesConsumption f = DBContext.Database.SqlQuery <FuelActivitiesConsumption>("select * from Equipment.FuelActivitiesConsumption " + "where fuel_type=@fueltype and equipment_id=@equipmentid and date=@date", new SqlParameter("fueltype", fuel_type), new SqlParameter("equipmentid", equipmentId), new SqlParameter("date", date)).FirstOrDefault(); //Handling old equipment and supplies if (f != null) { f.consumption_value = f.consumption_value + consumption_value; DBContext.Entry(f).State = EntityState.Modified; } else { FuelActivitiesConsumption fuel_Activities_Consumption = new FuelActivitiesConsumption() { department_id = department_id, consumption_value = consumption_value, equipment_id = equipmentId, fuel_type = fuel_type, date = DateTime.ParseExact(date1, "dd/MM/yyyy", null) }; DBContext.FuelActivitiesConsumptions.Add(fuel_Activities_Consumption); } AddSupply_duphong(equipmentId, fuel_type, consumption_value); DBContext.SaveChanges(); transaction.Commit(); return(Json("", JsonRequestBehavior.AllowGet)); } catch (Exception ex) { transaction.Rollback(); if (DBContext.Equipments.Where(x => x.equipment_id == equipmentId).Count() == 0) { output += "Mã thiết bị không tồn tại\n"; } if (output == "") { output += "Có lỗi xảy ra, xin vui lòng nhập lại"; } Response.Write(output); return(new HttpStatusCodeResult(400)); } } }
public ActionResult Edit(float quantity, string activity_name, int hours_per_day, string date1, String equipmentId, int activityid) { QuangHanhManufacturingEntities DBContext = new QuangHanhManufacturingEntities(); using (DbContextTransaction transaction = DBContext.Database.BeginTransaction()) { try { //check //need to check equipment of each department. string department_id = Session["departID"].ToString(); Equipment i = DBContext.Equipments.Where(x => (x.department_id == department_id && x.equipment_id == equipmentId)).First(); Activity actiOldEq = DBContext.Activities.Find(activityid); string oldEq = actiOldEq.equipment_id; double oldHour = actiOldEq.hours_per_day; int newHour = hours_per_day; Activity q = DBContext.Activities.Find(activityid); q.equipment_id = i.equipment_id; q.date = DateTime.ParseExact(date1, "dd/MM/yyyy", null); q.hours_per_day = hours_per_day; q.quantity = quantity; q.activity_name = activity_name; q.activity_id = activityid; DBContext.Entry(q).State = EntityState.Modified; DBContext.SaveChanges(); //after update activity. //get old and new. string newEq = equipmentId; if (newEq.Equals(oldEq)) { i.total_operating_hours += (newHour - (int)oldHour); DBContext.Entry(i).State = EntityState.Modified; } else { Equipment olds = DBContext.Equipments.Where(x => (x.department_id == department_id && x.equipment_id == oldEq)).First(); Equipment news = DBContext.Equipments.Where(x => (x.department_id == department_id && x.equipment_id == newEq)).First(); olds.total_operating_hours -= (int)oldHour; news.total_operating_hours += newHour; DBContext.Entry(news).State = EntityState.Modified; } DBContext.SaveChanges(); transaction.Commit(); return(new HttpStatusCodeResult(201)); } catch (Exception ex) { transaction.Rollback(); string output = ""; if (DBContext.Database.SqlQuery <Equipment>("SELECT * FROM Equipment.Equipment WHERE equipment_id = N'" + equipmentId + "'").Count() == 0) { output += "Mã thiết bị không tồn tại\n"; } if (output == "") { output += "Có lỗi xảy ra"; } Response.Write(output); return(new HttpStatusCodeResult(400)); } } }