public ActionResult bct_TaoMoiDieuPhoi(FormCollection f) { if (xulyChung.duocCapNhat(idOfPage, "7")) { string ndThongBao = ""; int kqLuu = 0; qlCaPheEntities db = null; BangGiaoViec bgv = new BangGiaoViec(); try { db = new qlCaPheEntities(); this.layDuLieuTrenView(bgv, f, db); db.BangGiaoViecs.Add(bgv); kqLuu = db.SaveChanges(); if (kqLuu > 0) { this.themCtBangGiaoViecVaoDatabase(bgv, db); ndThongBao = createHTML.taoNoiDungThongBao("Phân công cho thành viên", xulyDuLieu.traVeKyTuGoc(bgv.tenDangNhap), "bct_TableDieuPhoi"); this.resetData(); this.taoDuLieuChoCbb(db, 0); xulyChung.ghiNhatKyDtb(2, "Điều phối công tác của \" " + xulyDuLieu.traVeKyTuGoc(bgv.tenDangNhap) + " \""); } } catch (Exception ex) { this.doDuLieuLenView(bgv, db); ndThongBao = ex.Message; xulyFile.ghiLoi("Class: BangCongTacController - Function: bct_TaoMoiDieuPhoi_Post", ex.Message); } ViewBag.ScriptAjax = createScriptAjax.scriptGetInfoComboboxClick("cbbThanhVien", "ThanhVien/AjaxGetInforThanhVienByTaiKhoan?param=", "vungThanhVien"); ViewBag.ThongBao = createHTML.taoThongBaoLuu(ndThongBao); } return(View()); }
public ActionResult bct_ChinhSuaDieuPhoi(FormCollection f) { string ndThongBao = ""; qlCaPheEntities db = null; BangGiaoViec bgv = new BangGiaoViec(); try { if (xulyChung.duocCapNhat(idOfPage, "7")) { string param = xulyChung.nhanThamSoTrongSession(); //param = maBang; if (param.Length > 0) { int maBang = xulyDuLieu.doiChuoiSangInteger(param), kqLuu = 0; db = new qlCaPheEntities(); bgv = db.BangGiaoViecs.SingleOrDefault(s => s.maBang == maBang); if (bgv != null) { List <ctBangGiaoViec> listChiTiet = bgv.ctBangGiaoViecs.ToList(); this.layDuLieuTrenView(bgv, f, db); //---------Cập nhật dự liệu trong bảng BangGiaoViec db.Entry(bgv).State = System.Data.Entity.EntityState.Modified; kqLuu = db.SaveChanges(); if (kqLuu > 0) { //-------Cập nhật bảng chi tiết. THỰC HIỆN XÓA DỮ LIỆU TRONG BẢNG CHI TIẾT VÀ TẠO MỚI LẠI this.xoaChiTietDieuPhoi(db, listChiTiet); this.themCtBangGiaoViecVaoDatabase(bgv, db); xulyChung.ghiNhatKyDtb(4, "Điều phối công tác của \" " + xulyDuLieu.traVeKyTuGoc(bgv.tenDangNhap) + " \""); this.resetData(); return(RedirectToAction("bct_TableDieuPhoi")); } } else { throw new Exception("Bảng giao việc không tồn tại để cập nhật"); } } else { throw new Exception("Chưa nhận được tham số"); } } } catch (Exception ex) { xulyFile.ghiLoi("Class: BangCongTacController - Function: capNhatTrangThai", ex.Message); ndThongBao = ex.Message; this.doDuLieuLenView(bgv, db); } ViewBag.ThongBao = createHTML.taoThongBaoLuu(ndThongBao); return(View()); }
/// <summary> /// Hàm thực hiện xóa 1 điều phối khỏi CSDL /// Sau khi xóa sẽ thực hiện load lại danh sách bằng javascript /// </summary> /// <param name="maBang">Mã bảng điều phối cần xóa</param> public void xoaDieuPhoi(string maBang) { try { if (xulyChung.duocCapNhat(idOfPage, "7")) { int maXoa = xulyDuLieu.doiChuoiSangInteger(maBang); int kqLuu = 0; if (maXoa > 0) { qlCaPheEntities db = new qlCaPheEntities(); BangGiaoViec bgv = db.BangGiaoViecs.SingleOrDefault(b => b.maBang == maXoa); if (bgv != null) { //-------Xóa tất cả chi tiết của điều phối trước. List <ctBangGiaoViec> listChiTiet = bgv.ctBangGiaoViecs.ToList(); int soLuongChiTiet = listChiTiet.Count, chiTietDaXoa = 0; if (listChiTiet.Count > 0) { chiTietDaXoa = xoaChiTietDieuPhoi(db, listChiTiet); } if (soLuongChiTiet == chiTietDaXoa) { //----Nếu đã xóa hết chi tiết thì xóa bảng DieuPhoi db.BangGiaoViecs.Remove(bgv); kqLuu = db.SaveChanges(); if (kqLuu > 0) { xulyChung.ghiNhatKyDtb(3, "Điều phối của \"" + xulyDuLieu.traVeKyTuGoc(bgv.tenDangNhap) + " \""); } } } else { throw new Exception("Bảng giao việc cần xóa không tồn tại"); } } else { throw new Exception("Mã bảng giao việc cần xóa không chính xác"); } } } catch (Exception ex) { xulyFile.ghiLoi("Class: BangCongTacController - Function: capNhatTrangThai", ex.Message); Response.Redirect(xulyChung.layTenMien() + "/Home/PageNotFound"); } }
/// <summary> /// Hàm thực hiện thêm chi tiết bảng giao việc trong giỏ vào database /// </summary> /// <param name="bgv"></param> /// <param name="db"></param> private void themCtBangGiaoViecVaoDatabase(BangGiaoViec bgv, qlCaPheEntities db) { try { cartDieuPhoi cart = (cartDieuPhoi)Session["dieuPhoi"]; foreach (ctBangGiaoViec item in cart.Info.Values) { ctBangGiaoViec ctAdd = new ctBangGiaoViec(); ctAdd.ghiChu = item.ghiChu; ctAdd.maBang = bgv.maBang; ctAdd.maCa = item.maCa; db.ctBangGiaoViecs.Add(ctAdd); db.SaveChanges(); } } catch (Exception ex) { throw new Exception(ex.Message); } }
/// <summary> /// Hàm thực hiện lấy dữ liệu có trên giao diện gán cho các thuộc tính của object BangGiaoViec /// </summary> /// <param name="bgv"></param> /// <param name="f"></param> private void layDuLieuTrenView(BangGiaoViec bgv, FormCollection f, qlCaPheEntities db) { bgv.ngayLap = DateTime.Now; bgv.ghiChu = xulyDuLieu.xulyKyTuHTML(f["txtGhiChu"]); bgv.trangThai = true; bgv.tenDangNhap = xulyDuLieu.xulyKyTuHTML(f["cbbThanhVien"]); if (bgv.tenDangNhap.Equals("-1")) { throw new Exception("Vui lòng chọn tài khoản thành viên cần điều phối"); } bgv.taiKhoan = db.taiKhoans.SingleOrDefault(t => t.tenDangNhap.Equals(bgv.tenDangNhap)); cartDieuPhoi cart = (cartDieuPhoi)Session["dieuPhoi"]; if (cart.Info.Values.Count <= 0) { throw new Exception("Vui lòng chọn ca cần điều phối cho nhân viên"); } }
/// <summary> /// Hàm tạo giao diện form chỉnh sửa điều phối của nhân viên /// </summary> /// <returns></returns> public ActionResult bct_ChinhSuaDieuPhoi() { try { if (xulyChung.duocTruyCap(idOfPage)) { string param = xulyChung.nhanThamSoTrongSession(); //param = maBang; if (param.Length > 0) { int maBang = xulyDuLieu.doiChuoiSangInteger(param); qlCaPheEntities db = new qlCaPheEntities(); BangGiaoViec bgv = db.BangGiaoViecs.SingleOrDefault(s => s.maBang == maBang); if (bgv != null) { //-----Đổ dữ liệu chi tiết lên giao diện this.docChiTietVaThemVaoGio(bgv); //-----Đổ thông tin điều phối lên giao diện this.doDuLieuLenView(bgv, db); //----Chèn script ajax hiện thông tin thành viên khi người dùng click chọn trên combobox ViewBag.ScriptAjax = createScriptAjax.scriptGetInfoComboboxClick("cbbThanhVien", "ThanhVien/AjaxGetInforThanhVienByTaiKhoan?param=", "vungThanhVien"); xulyChung.ghiNhatKyDtb(1, "Chỉnh sửa điều phối của \" " + xulyDuLieu.traVeKyTuGoc(bgv.tenDangNhap) + " \""); } else { throw new Exception("Bảng giao việc không tồn tại để cập nhật"); } } else { throw new Exception("Chưa nhận được tham số"); } } } catch (Exception ex) { xulyFile.ghiLoi("Class: BangCongTacController - Function: capNhatTrangThai", ex.Message); return(RedirectToAction("/Home/PageNotFound")); } return(View()); }
/// <summary> /// Hàm thực hiện cập nhật trạng thái của 1 công tác. /// Tham số là mã bảng được lưu trữ trong Session /// </summary> /// <returns>Trả về giao diện danh mục Bảng công tác</returns> public ActionResult capNhatTrangThai() { try { if (xulyChung.duocCapNhat(idOfPage, "7")) { int kqLuu = 0; string param = xulyChung.nhanThamSoTrongSession(); //param = maBang if (param.Length > 0) { int maBang = xulyDuLieu.doiChuoiSangInteger(param); qlCaPheEntities db = new qlCaPheEntities(); BangGiaoViec bgv = db.BangGiaoViecs.SingleOrDefault(s => s.maBang == maBang); if (bgv != null) { bgv.trangThai = !bgv.trangThai; db.Entry(bgv).State = System.Data.Entity.EntityState.Modified; kqLuu = db.SaveChanges(); if (kqLuu > 0) { xulyChung.ghiNhatKyDtb(4, "Cập nhật trạng thái điều phối của\" " + xulyDuLieu.traVeKyTuGoc(bgv.tenDangNhap) + " \""); } } else { throw new Exception("Bảng công tác có mã " + maBang.ToString() + " không tồn tại để cập nhật"); } } else { throw new Exception("không nhận được tham số"); } } } catch (Exception ex) { xulyFile.ghiLoi("Class: BangCongTacController - Function: capNhatTrangThai", ex.Message); } return(RedirectToAction("bct_TableDieuPhoi")); }
/// <summary> /// Hàm thực hiện đổ dữ liệu của bảng giao việc đã có sẵn lên view /// </summary> /// <param name="bgv">Object chứa các thông tin bảng giao việc</param> /// <param name="db"></param> private void doDuLieuLenView(BangGiaoViec bgv, qlCaPheEntities db) { try { ViewBag.txtGhiChu = xulyDuLieu.traVeKyTuGoc(bgv.ghiChu); ViewBag.VungChiTiet = this.taoGiaoDienChiTiet(); if (bgv.taiKhoan != null) { //-----------Hiển thị thông tin thành viên ViewBag.hinhDD = xulyChung.DrawInforThanhVienWithTaiKhoan(bgv.taiKhoan); this.taoDuLieuChoCbb(db, bgv.taiKhoan.maTV); } else { this.taoDuLieuChoCbb(db, 0); } } catch (Exception ex) { xulyFile.ghiLoi("Class: BangCongTacController - Function: doDuLieuLenView", ex.Message); } }
/// <summary> /// Hàm thực hiện đọc các thông tin chi tiết có trong database và thêm vào giỏ /// </summary> /// <param name="bgv"></param> private void docChiTietVaThemVaoGio(BangGiaoViec bgv) { try { this.resetData(); cartDieuPhoi cart = (cartDieuPhoi)Session["dieuPhoi"]; foreach (ctBangGiaoViec ct in bgv.ctBangGiaoViecs.ToList()) { ctBangGiaoViec ctTam = new ctBangGiaoViec(); ctTam.maCa = ct.maCa; ctTam.BangGiaoViec = bgv; ctTam.caLamViec = ct.caLamViec; ctTam.ghiChu = ct.ghiChu; ctTam.maBang = ct.maBang; cart.addCart(ctTam); Session["dieuPhoi"] = cart; } } catch (Exception ex) { xulyFile.ghiLoi("Class: BangCongTacController - Function: docChiTietVaThemVaoGio", ex.Message); } }
/// <summary> /// Hàm tạo bảng chi tiết có trong modal chi tiết phân công tại danh mục /// </summary> /// <param name="bgv">Object chứa Điều phối cần xem</param> /// <returns>Chuỗi html tạo bảng nội dung</returns> private string taoBangChiTietDieuPhoi(BangGiaoViec bgv) { string htmlDetail = ""; try { htmlDetail += " <div class=\"body table-responsive\">"; htmlDetail += " <table class=\"table table-bordered table-striped table-hover js-basic-example dataTable\" id=\"DataTables_Table_0\" role=\"grid\" aria-describedby=\"DataTables_Table_0_info\">"; htmlDetail += " <thead>"; htmlDetail += " <tr>"; htmlDetail += " <th>Tên ca</th>"; htmlDetail += " <th>Buổi</th>"; htmlDetail += " <th>Thời gian làm việc</th>"; htmlDetail += " <th>Ghi chú</th>"; htmlDetail += " </tr>"; htmlDetail += " </thead>"; htmlDetail += " <tbody>"; //----Lặp qua bảng chi tiết để xem chi tiết đã phân công foreach (ctBangGiaoViec ct in bgv.ctBangGiaoViecs.ToList().OrderBy(c => c.caLamViec.buoi)) { htmlDetail += " <tr role=\"row\" class=\"odd\">"; htmlDetail += " <td>" + xulyDuLieu.traVeKyTuGoc(ct.caLamViec.tenCa) + "</td>"; htmlDetail += " <td>" + this.layBuoiLamViec(ct.caLamViec.buoi) + "</td>"; htmlDetail += " <td>" + ct.caLamViec.batDau.ToString() + " - " + ct.caLamViec.ketThuc.ToString() + "</td>"; htmlDetail += " <td>" + xulyDuLieu.traVeKyTuGoc(ct.ghiChu) + "</td>"; htmlDetail += " </tr>"; } htmlDetail += " </tbody>"; htmlDetail += " </table>"; htmlDetail += "</div>"; } catch (Exception ex) { xulyFile.ghiLoi("Class: BangCongTacController - Function: AjaxXemChiTietCaCuaTaiKhoan", ex.Message); } return(htmlDetail); }