Exemplo n.º 1
0
        public ActionResult Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            DM_NGUOIDUNGBusiness = Get <DM_NGUOIDUNGBusiness>();
            var userinfo = DM_NGUOIDUNGBusiness.GetUserInfo(model.Email);

            if (userinfo != null)
            {
                var pass = MaHoaMatKhau.Encode_Data(model.Password + userinfo.MAHOA_MK);
                if (userinfo.MATKHAU.Equals(pass))
                {
                    SessionManager.SetValue(SessionManager.USER_INFO, userinfo);
                    return(RedirectToAction("Index", "DashBoard"));
                }
                else
                {
                    return(View(model));
                }
            }
            else
            {
                return(View(model));
            }
        }
Exemplo n.º 2
0
        public ActionResult Approve(int pageIndex = 1, int pageSize = 20)
        {
            DM_NGUOIDUNGBusiness  = Get <DM_NGUOIDUNGBusiness>();
            ChiaSeTaiLieuBusiness = Get <ChiaSeTaiLieuBusiness>();
            ChiaSeTaiLieuViewModel model = new ChiaSeTaiLieuViewModel();
            var listUser = DM_NGUOIDUNGBusiness.GetByRole(ConfigurationManager.AppSettings["RoleShare"], user.ID);

            model.ListUserRequest = listUser;
            model.ListUserShare   = listUser;
            model.PageList        = ChiaSeTaiLieuBusiness.GetPage(null, pageIndex, pageSize);
            model.ListStatus      = new List <SelectListItem>()
            {
                new SelectListItem {
                    Text = "Chờ phê duyệt yêu cầu", Value = SHARE_STATUS_CONSTANT.YEU_CAU_CHIA_SE.ToString()
                },
                new SelectListItem {
                    Text = "Chờ chia sẻ", Value = SHARE_STATUS_CONSTANT.PHE_DUYET_CHIA_SE.ToString()
                },
                new SelectListItem {
                    Text = "Đã chia sẻ", Value = SHARE_STATUS_CONSTANT.DA_CHIA_SE.ToString()
                },
            };
            SessionManager.Remove("ShareApproveSearchModel");
            return(View(model));
        }
Exemplo n.º 3
0
        public PartialViewResult EditFastRoomRequest(QUANLY_PHONGHOP item)
        {
            AssignUserInfo();
            DM_NGUOIDUNGBusiness    = Get <DM_NGUOIDUNGBusiness>();
            QUANLY_PHONGHOPBusiness = Get <QUANLY_PHONGHOPBusiness>();
            QUANLY_PHONGHOP roomEntity;

            if (item.ID > 0)
            {
                roomEntity = QUANLY_PHONGHOPBusiness.Find(item.ID) ?? new QUANLY_PHONGHOP();
            }
            else
            {
                if (item.GIOBATDAU >= 8 && item.GIOBATDAU < 23)
                {
                    item.GIOKETTHUC = item.GIOBATDAU + 1;
                }
                else if (item.GIOBATDAU < 8)
                {
                    item.GIOBATDAU  = 8;
                    item.GIOKETTHUC = item.GIOBATDAU + 1;
                }
                else
                {
                    item.GIOKETTHUC = item.GIOBATDAU;
                }
                roomEntity = item;
            }
            EditVM viewModel = new EditVM(roomEntity);

            viewModel.groupLeaders = DM_NGUOIDUNGBusiness.GetDropDownByDeptParentId(currentUser.DeptParentID.GetValueOrDefault(), roomEntity.USER_ID);
            return(PartialView("EditPhong", viewModel));
        }
Exemplo n.º 4
0
        public PartialViewResult EditStorage(long id)
        {
            DungLuongLuuTruModel model = new DungLuongLuuTruModel();

            DUNGLUONG_LUUTRUBusiness = Get <DUNGLUONG_LUUTRUBusiness>();
            DM_NGUOIDUNGBusiness     = Get <DM_NGUOIDUNGBusiness>();
            CCTC_THANHPHANBusiness   = Get <CCTC_THANHPHANBusiness>();
            DUNGLUONG_LUUTRU Storage = DUNGLUONG_LUUTRUBusiness.GetDataByUser(id);

            if (Storage == null)
            {
                Storage           = new DUNGLUONG_LUUTRU();
                Storage.DUNGLUONG = ThuMucLuuTruConstant.DefaultStorage;
                Storage.TYPE      = ThuMucLuuTruConstant.DetaultType;
                Storage.USER_ID   = 0;
            }
            model.Storage = Storage;
            DM_NGUOIDUNG NguoiDung = DM_NGUOIDUNGBusiness.Find(id);

            if (NguoiDung == null)
            {
                NguoiDung = new DM_NGUOIDUNG();
            }
            CCTC_THANHPHAN DonVi = CCTC_THANHPHANBusiness.Find(NguoiDung.DM_PHONGBAN_ID);

            if (DonVi == null)
            {
                DonVi = new CCTC_THANHPHAN();
            }
            model.NguoiDung = NguoiDung;
            model.DonVi     = DonVi;
            return(PartialView("_SetupStorage", model));
        }
Exemplo n.º 5
0
        public ActionResult Index()
        {
            AssignUserInfo();
            var demo = currentUser;

            dmNguoiDungBusiness = Get <DM_NGUOIDUNGBusiness>();
            LichCongTacViewModel viewModel = new LichCongTacViewModel();

            viewModel.calendarType    = LICH_CONSTANT.NGAY;
            viewModel.groupOfLanhDaos = dmNguoiDungBusiness.GetDropDownByDeptParentId(currentUser.DeptParentID.GetValueOrDefault(), 0);
            viewModel.isLeader        = dmNguoiDungBusiness.CheckIsLeader(currentUser.ID);
            //kiểm tra là lãnh đạo
            if (viewModel.isLeader)
            {
                viewModel.groupOfLanhDaos = new List <SelectListItem>()
                {
                    new SelectListItem()
                    {
                        Value = currentUser.ID.ToString(),
                        Text  = currentUser.HOTEN
                    }
                };
            }

            DM_THAOTAC userFunction = currentUser.ListThaoTac.Where(o => o.MA_THAOTAC.ToUpper() == "TAO_LICHCONGTAC").FirstOrDefault();

            viewModel.canCreate = (userFunction != null && userFunction.DM_THAOTAC_ID > 0);
            return(View(viewModel));
        }
        public ChiaSeTaiLieuBO GetBO(int?id)
        {
            var find = this.Find(id);

            if (find == null)
            {
                return(new ChiaSeTaiLieuBO());
            }
            var result = new ChiaSeTaiLieuBO();

            result.DATE_CHIA_SE     = find.DATE_CHIA_SE;
            result.DATE_PHE_DUYET   = find.DATE_PHE_DUYET;
            result.DATE_YEU_CAU     = find.DATE_YEU_CAU;
            result.ID               = find.ID;
            result.NOIDUNG_CHIASE   = find.NOIDUNG_CHIASE;
            result.NOIDUNG_PHEDUYET = find.NOIDUNG_PHEDUYET;
            result.NOIDUNG_YEUCAU   = find.NOIDUNG_YEUCAU;
            result.STATUS           = find.STATUS;
            result.TIEUDE           = find.TIEUDE;
            result.USER_CHIA_SE     = find.USER_CHIA_SE;
            result.USER_PHE_DUYET   = find.USER_PHE_DUYET;
            result.USER_YEU_CAU     = find.USER_YEU_CAU;
            var NguoiDungBusiness = new DM_NGUOIDUNGBusiness(new UnitOfWork());

            result.USER_NAME_CHIA_SE   = NguoiDungBusiness.GetName(find.USER_CHIA_SE);
            result.USER_NAME_PHE_DUYET = NguoiDungBusiness.GetName(find.USER_PHE_DUYET);
            result.USER_NAME_YEU_CAU   = NguoiDungBusiness.GetName(find.USER_YEU_CAU);
            return(result);
        }
Exemplo n.º 7
0
        public PartialViewResult ResultDanhGiaCongViec(string FROM_QUERY_DATE, string TO_QUERY_DATE, string DONVI_ID, string NHANVIEN_ID)
        {
            HSCV_CONGVIECBusiness = Get <HSCV_CONGVIECBusiness>();
            DM_NGUOIDUNGBusiness  = Get <DM_NGUOIDUNGBusiness>();
            AssignUserInfo();
            DateTime date1     = FROM_QUERY_DATE.ToDateTime().Value;
            DateTime date2     = TO_QUERY_DATE.ToDateTime().Value;
            var      LstDeptId = new List <int>();

            if (!string.IsNullOrEmpty(DONVI_ID))
            {
                LstDeptId = DONVI_ID.ToListInt(',');
            }

            if (!string.IsNullOrEmpty(NHANVIEN_ID) && NHANVIEN_ID != "null")
            {
                var LstCongViec = HSCV_CONGVIECBusiness.GetDanhGiaCongViec(LstDeptId, NHANVIEN_ID.ToListLong(','), date1, date2);
                return(PartialView("_SearchResult", LstCongViec));
            }
            else
            {
                if (currentUser.DM_PHONGBAN_ID.HasValue)
                {
                    LstDeptId.Add(currentUser.DM_PHONGBAN_ID.Value);
                }

                List <DM_NGUOIDUNG> ListNguoiDung = DM_NGUOIDUNGBusiness.GetDataByUnitId(LstDeptId);
                var LstCongViec = HSCV_CONGVIECBusiness.GetDanhGiaCongViec(LstDeptId, ListNguoiDung.Select(x => x.ID).ToList(), date1, date2);
                return(PartialView("_SearchResult", LstCongViec));
            }
        }
Exemplo n.º 8
0
        public JsonResult RejectCarRegistration(FormCollection fc)
        {
            AssignUserInfo();
            JsonResultBO result = new JsonResultBO(false);

            qlDangKyXeBusiness  = Get <QL_DANGKY_XEBusiness>();
            dmNguoiDungBusiness = Get <DM_NGUOIDUNGBusiness>();
            sysTinNhanBusiness  = Get <SYS_TINNHANBusiness>();

            long         id           = fc["ID"].ToLongOrZero();
            QL_DANGKY_XE registration = qlDangKyXeBusiness.Find(id);

            if (registration != null && registration.IS_DELETE != true)
            {
                registration.TRANGTHAI   = TRANGTHAI_DANGKY_XE_CONSTANT.MOITAO_ID;
                registration.LYDO_TUCHOI = fc["LYDO_TUCHOI"].Trim();
                qlDangKyXeBusiness.Save(registration);
                result.Status  = true;
                result.Message = "Đã hủy tiếp nhận yêu cầu đăng ký xe";

                //gửi tin nhắn cho người tạo yêu cầu
                List <long> notifyUsers = new List <long>()
                {
                    registration.NGUOITAO.GetValueOrDefault()
                };
                string title   = "KHÔNG TIẾP NHẬN YÊU CẦU SỬ DỤNG XE";
                string content = string.Format("{0} đã từ chối tiếp nhận một yêu cầu sử dụng xe", currentUser.HOTEN);

                sysTinNhanBusiness.sendMessageMultipleUsers(notifyUsers, currentUser, title, content, Url.Action("Details", new { id = id }), string.Empty, false, id, 0);
            }
            return(Json(result));
        }
Exemplo n.º 9
0
        public PartialViewResult EditFastLichCongTac(int year, int month, int day, int hour = 0, int minute = 0, long id = 0)
        {
            AssignUserInfo();
            lichCongTacBusiness   = Get <LICHCONGTACBusiness>();
            dmNguoiDungBusiness   = Get <DM_NGUOIDUNGBusiness>();
            dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>();

            EditLichCongTacViewModel model = new EditLichCongTacViewModel();
            List <long> groupLanhDaoIds    = new List <long>();
            long        userId             = 0;

            if (id > 0)
            {
                LICHCONGTAC entity = lichCongTacBusiness.Find(id);
                if (entity != null && entity.IS_DELETE != true && entity.NGAY_CONGTAC.IsOldWeek() == false)
                {
                    model  = new EditLichCongTacViewModel(entity);
                    userId = entity.LANHDAO_ID.GetValueOrDefault();
                }
            }
            else
            {
                LICHCONGTAC entity = new LICHCONGTAC();
                entity.NGAY_CONGTAC = new DateTime(year, month, day);
                entity.GIO_CONGTAC  = hour;
                entity.PHUT_CONGTAC = minute;
                model = new EditLichCongTacViewModel(entity);
            }
            model.groupOfLanhDaos     = dmNguoiDungBusiness.GetDropDownByDeptParentId(currentUser.DeptParentID.GetValueOrDefault(), userId);
            model.groupOfDestinations = dmDanhMucDataBusiness.GetGroupTextByCode(DMLOAI_CONSTANT.DIEM_DEN);
            model.isPopUp             = true;
            return(PartialView("_EditFastLichCongTac", model));
        }
Exemplo n.º 10
0
        public JsonResult SendCarRegistration(long registrationId)
        {
            AssignUserInfo();
            JsonResultBO result = new JsonResultBO(false);

            qlDangKyXeBusiness  = Get <QL_DANGKY_XEBusiness>();
            dmNguoiDungBusiness = Get <DM_NGUOIDUNGBusiness>();
            sysTinNhanBusiness  = Get <SYS_TINNHANBusiness>();

            QL_DANGKY_XE registration = qlDangKyXeBusiness.Find(registrationId);

            if (registration != null && registration.IS_DELETE != true)
            {
                registration.TRANGTHAI = TRANGTHAI_DANGKY_XE_CONSTANT.DAGUI_ID;
                qlDangKyXeBusiness.Save(registration);
                result.Status  = true;
                result.Message = "Đã gửi yêu cầu đăng ký sử dụng xe";

                //gửi tin nhắn cho người có quyền xác nhận yêu cầu sử dụng xe
                List <long> notifyUsers = dmNguoiDungBusiness.GetListUsersByFunctionCodeAndDeptId(CONFIRM_CAR_REGISTRATION, currentUser.DeptParentID.GetValueOrDefault());
                string      title       = "YÊU CẦU SỬ DỤNG XE";
                string      content     = string.Format("{0} đã gửi một yêu cầu sử dụng xe", currentUser.HOTEN);

                sysTinNhanBusiness.sendMessageMultipleUsers(notifyUsers, currentUser, title, content, Url.Action("Details", new { id = registrationId }), string.Empty, false, registrationId, 0);
            }
            else
            {
                result.Message = "Không tìm thấy đăng ký xe";
            }
            return(Json(result));
        }
        public PartialViewResult ListUsers(int groupId)
        {
            UserBusiness = Get <DM_NGUOIDUNGBusiness>();
            var users = UserBusiness.GetUsersByRecipient(groupId, string.Empty);

            return(PartialView("_ListUsers", users));
        }
Exemplo n.º 12
0
        /// <summary>
        /// @author: duynn
        /// @description: kiểm tra các văn bản đến gửi nội bộ đã được đọc
        /// </summary>
        /// <param name="itemType"></param>
        /// <param name="itemId"></param>
        /// <param name="departmentId"></param>
        /// <returns></returns>
        public bool CheckIsRead(string itemType, long itemId, CCTC_THANHPHAN department, UserInfoBO currentUser)
        {
            bool isRead = false;

            if (itemType == MODULE_CONSTANT.VANBANDENNOIBO)
            {
                WF_MODULE module = null;
                if (department.TYPE == 10)
                {
                    module = this.context.WF_MODULE.Where(x => x.MODULE_CODE == MODULE_CONSTANT.VANBANDEN)
                             .FirstOrDefault();
                }
                else if (department.PARENT_ID == currentUser.DeptParentID)
                {
                    module = this.context.WF_MODULE.Where(x => x.MODULE_CODE == MODULE_CONSTANT.VANBANDENNOIBO)
                             .FirstOrDefault();
                }

                if (module != null)
                {
                    var       workFlowIds = module.WF_STREAM_ID.ToListInt(',');
                    WF_STREAM stream      = this.context.WF_STREAM.Where(x => x.LEVEL_ID == department.CATEGORY && workFlowIds.Contains(x.ID)).FirstOrDefault();
                    WF_STATE  state       = this.context.WF_STATE.Where(x => x.IS_START == true && x.WF_ID == stream.ID).FirstOrDefault();

                    var         userBusiness = new DM_NGUOIDUNGBusiness(new UnitOfWork());
                    List <long> userIds      = new List <long>();

                    if (department.TYPE == 10)
                    {
                        userIds = userBusiness
                                  .GetUserByRoleAndParentDept(state.VAITRO_ID.GetValueOrDefault(), department.ID)
                                  .Select(x => long.Parse(x.Value)).ToList();
                    }
                    else if (department.PARENT_ID == currentUser.DeptParentID)
                    {
                        userIds = userBusiness
                                  .GetUserByRoleAndDeptId(state.VAITRO_ID.GetValueOrDefault(), department.ID)
                                  .Select(x => long.Parse(x.Value)).ToList();
                    }

                    if (!userIds.Any())
                    {
                        //lấy người dùng có vai trò cao nhất
                        var highestPriorityUser = userBusiness.GetUserHighestPriority(department.ID);
                        userIds.Add(highestPriorityUser.ID);
                    }

                    isRead = (from read in this.context.HSCV_READVANBAN.Where(x => x.TYPE == 1)
                              join vanban in this.context.HSCV_VANBANDEN.Where(x => x.VANBANDI_ID == itemId)
                              on read.VANBAN_ID equals vanban.ID
                              join user in this.context.DM_NGUOIDUNG
                              on read.USER_ID equals user.ID
                              join dept in this.context.CCTC_THANHPHAN
                              on user.DM_PHONGBAN_ID equals dept.ID
                              select read.USER_ID).Where(x => userIds.Contains(x)).Count() > 0;
                }
            }
            return(isRead);
        }
Exemplo n.º 13
0
        public ActionResult Index()
        {
            AssignUserInfo();
            DM_NGUOIDUNGBusiness = Get <DM_NGUOIDUNGBusiness>();
            LichHopViewModel viewModel = new LichHopViewModel();

            viewModel.groupOfLeaders = DM_NGUOIDUNGBusiness.GetDropDownByDeptParentId(currentUser.DeptParentID.GetValueOrDefault(), 0);
            return(View(viewModel));
        }
Exemplo n.º 14
0
        public PartialViewResult SendEmail(long userId = 0)
        {
            AssignUserInfo();
            dmNguoiDungBusiness = Get <DM_NGUOIDUNGBusiness>();
            LichCongTacEmailViewModel viewModel = new LichCongTacEmailViewModel();

            viewModel.groupOfUsers = dmNguoiDungBusiness.GetDropDownByDeptParentId(currentUser.DeptParentID.GetValueOrDefault(), 0);
            return(PartialView("_SendEmailLichCongTac", viewModel));
        }
Exemplo n.º 15
0
        public ActionResult ReportTrip()
        {
            AssignUserInfo();
            dmNguoiDungBusiness = Get <DM_NGUOIDUNGBusiness>();
            ReportTripViewModel viewModel = new ReportTripViewModel();

            viewModel.groupOfUsers = dmNguoiDungBusiness.GetListUserByDeptParentId(currentUser.DeptParentID.GetValueOrDefault(), 0);
            return(View(viewModel));
        }
Exemplo n.º 16
0
        public PartialViewResult EditRoomRequest(long id)
        {
            AssignUserInfo();
            DM_NGUOIDUNGBusiness    = Get <DM_NGUOIDUNGBusiness>();
            QUANLY_PHONGHOPBusiness = Get <QUANLY_PHONGHOPBusiness>();
            QUANLY_PHONGHOP roomEntity = QUANLY_PHONGHOPBusiness.Find(id) ?? new QUANLY_PHONGHOP();
            EditVM          viewModel  = new EditVM(roomEntity);

            viewModel.groupLeaders = DM_NGUOIDUNGBusiness.GetDropDownByDeptParentId(currentUser.DeptParentID.GetValueOrDefault(), roomEntity.USER_ID);
            return(PartialView("EditPhong", viewModel));
        }
Exemplo n.º 17
0
        public ActionResult Edit(long id)
        {
            AssignUserInfo();

            dmNguoiDungBusiness = Get <DM_NGUOIDUNGBusiness>();
            qlDangKyXeBusiness  = Get <QL_DANGKY_XEBusiness>();
            QL_DANGKY_XE          register = qlDangKyXeBusiness.Find(id) ?? new QL_DANGKY_XE();
            DangKyXeEditViewModel model    = new DangKyXeEditViewModel(register);

            model.groupOfLanhDaos = dmNguoiDungBusiness.GetDropDownByDeptParentId(currentUser.DeptParentID.GetValueOrDefault(), register.CANBO_ID.GetValueOrDefault());
            return(View("EditDangKyXe", model));
        }
Exemplo n.º 18
0
        public PartialViewResult FormApprove(int?id = 0)
        {
            ChiaSeTaiLieuBusiness = Get <ChiaSeTaiLieuBusiness>();
            DM_NGUOIDUNGBusiness  = Get <DM_NGUOIDUNGBusiness>();
            var model = new ShareApproveFormModel();

            model.Share = new ChiaSeTaiLieuBO();
            model.Share = ChiaSeTaiLieuBusiness.GetBO(id);
            model.Share.DATE_PHE_DUYET = DateTime.Now;
            model.ListUser             = DM_NGUOIDUNGBusiness.GetByRole(ConfigurationManager.AppSettings["RoleShare"], user.ID);
            return(PartialView("_FormApprove", model));
        }
Exemplo n.º 19
0
        public PartialViewResult ChangeDonVi(string DONVI_ID)
        {
            DM_NGUOIDUNGBusiness = Get <DM_NGUOIDUNGBusiness>();
            List <SelectListItem> ListNguoiDung = DM_NGUOIDUNGBusiness.GetByPhongBan(DONVI_ID.ToListInt(','), 0, new List <int>())
                                                  .Select(x => new SelectListItem
            {
                Text  = x.HOTEN,
                Value = x.ID.ToString()
            }).ToList();

            return(PartialView("_ListNhanVien", ListNguoiDung));
        }
Exemplo n.º 20
0
        //private List<>
        #endregion
        #region Các hàm partialview
        public PartialViewResult GetUserPhongBan(int id)
        {
            DM_NGUOIDUNGBusiness   = Get <DM_NGUOIDUNGBusiness>();
            CCTC_THANHPHANBusiness = Get <CCTC_THANHPHANBusiness>();
            var        model = new DungLuongLuuTruModel();
            List <int> Ids   = CCTC_THANHPHANBusiness.GetDSChild(id).Select(x => x.ID).ToList();

            Ids.Add(id);
            var lstUser = DM_NGUOIDUNGBusiness.GetByPhongBan(Ids, 0, new List <int>());
            var node    = CCTC_THANHPHANBusiness.Find(id);

            model.Item          = node;
            model.ListNguoiDung = lstUser;
            return(PartialView("_DsNguoiDungPartial", model));
        }
Exemplo n.º 21
0
        public JsonResult SendEmail(FormCollection fc)
        {
            JsonResultBO result = new JsonResultBO(false);

            lichCongTacBusiness = Get <LICHCONGTACBusiness>();
            dmNguoiDungBusiness = Get <DM_NGUOIDUNGBusiness>();

            DateTime           currentDate = DateTime.Now;
            var                startOfWeek = currentDate.GetStartDayOfWeek();
            var                endOfWeek   = currentDate.GetEndDayOfWeek();
            LICHCONGTAC_SEARCH searchModel = new LICHCONGTAC_SEARCH();

            searchModel.startDate = startOfWeek;
            searchModel.endDate   = endOfWeek;
            List <long> userIds = fc["LANHDAO_ID"].ToListLong(',');
            string      subject = fc["TIEUDE"].Trim();

            string emailTemplatePath = Path.Combine(ConfigurationManager.AppSettings["FileUpload"], ConfigurationManager.AppSettings["LichCongTacEmailTemplate"]);
            string emailContent      = System.IO.File.ReadAllText(emailTemplatePath);

            foreach (var item in userIds)
            {
                DM_NGUOIDUNG user = dmNguoiDungBusiness.Find(item);
                if (user != null && string.IsNullOrEmpty(user.EMAIL) == false)
                {
                    searchModel.leaderId = user.ID;
                    List <LICHCONGTAC_BO> calendars        = lichCongTacBusiness.GetListLichCongTacs(searchModel);
                    List <LICHCONGTAC_BO> deletedCalendars = lichCongTacBusiness.GetListDeletedLichCongTacs(searchModel);
                    emailContent = emailContent.Replace("[[recipient]]", user.HOTEN);
                    emailContent = emailContent.Replace("[[week_header_title]]", currentDate.GetWeekNumber() + " (từ ngày " + startOfWeek.ToVietnameseDateFormat() + " đến ngày " + endOfWeek.ToVietnameseDateFormat() + ")");
                    emailContent = emailContent.Replace("[[week_title]]", currentDate.GetNameOfWeek() + " năm " + currentDate.Year);
                    emailContent = emailContent.Replace("[[week_start_end_date_title]]", currentDate.GetNameOfWeek() +
                                                        " (" + startOfWeek.GetNameOfDay() + ", "
                                                        + startOfWeek.ToVietnameseDateFormat() + " - "
                                                        + endOfWeek.GetNameOfDay() + ", "
                                                        + endOfWeek.ToVietnameseDateFormat() + ")");
                    emailContent = emailContent.Replace("[[email_main_content]]", this.GenerateLichCongTacEmailContent(calendars));
                    emailContent = emailContent.Replace("[[email_error_content]]", this.GenerateLichCongTacDeleteEmailContent(deletedCalendars));
                    List <string> address = new List <string>()
                    {
                        user.EMAIL
                    };
                    EmailProvider.sendEmail(emailContent, subject, address);
                }
            }
            result.Status = true;
            return(Json(result));
        }
Exemplo n.º 22
0
        public PartialViewResult ResultTheoDoiCongViec(string FROM_QUERY_DATE, string TO_QUERY_DATE, string DONVI_ID, string NHANVIEN_ID)
        {
            HSCV_CONGVIECBusiness                  = Get <HSCV_CONGVIECBusiness>();
            HSCV_CONGVIEC_LAPKEHOACHBusiness       = Get <HSCV_CONGVIEC_LAPKEHOACHBusiness>();
            HSCV_TRINHDUYETCONGVIECBusiness        = Get <HSCV_TRINHDUYETCONGVIECBusiness>();
            HSCV_CONGVIEC_XINLUIHANBusiness        = Get <HSCV_CONGVIEC_XINLUIHANBusiness>();
            PHIEUDANHGIACONGVIECBusiness           = Get <PHIEUDANHGIACONGVIECBusiness>();
            HSCV_CONGVIEC_NGUOITHAMGIAXULYBusiness = Get <HSCV_CONGVIEC_NGUOITHAMGIAXULYBusiness>();
            DM_NGUOIDUNGBusiness = Get <DM_NGUOIDUNGBusiness>();
            DateTime            date1         = FROM_QUERY_DATE.ToDateTime().Value;
            DateTime            date2         = TO_QUERY_DATE.ToDateTime().Value;
            var                 LstDeptId     = DONVI_ID.ToListInt(',');
            List <DM_NGUOIDUNG> ListNguoiDung = DM_NGUOIDUNGBusiness.GetDataByUnitId(LstDeptId);

            var LstCongViec = HSCV_CONGVIECBusiness.GetDsCongViec(LstDeptId, ListNguoiDung.Select(x => x.ID).ToList(), date1, date2);
            // Công việc gốc
            var LstCongViecRoot = LstCongViec.Where(x => x.IS_SUBTASK == null).ToList();

            List <long> ListJobId = LstCongViec.Select(x => x.ID).ToList();

            // Add thêm các công việc con được giao xuống nhưng có công việc cha ko nằm trong danh sách công việc hiện tại của phòng ban, danh sách người dùng
            foreach (var job in LstCongViec)
            {
                if (!ListJobId.Contains(job.ParentId) && !LstCongViecRoot.Contains(job))
                {
                    LstCongViecRoot.Add(job);
                }
            }
            var ListThamGia = HSCV_CONGVIEC_NGUOITHAMGIAXULYBusiness.GetData(ListJobId);
            var ListPlan    = HSCV_CONGVIEC_LAPKEHOACHBusiness.GetData(ListJobId);

            ListNguoiDung = DM_NGUOIDUNGBusiness.GetData(ListThamGia.Select(x => x.USER_ID).ToList());
            var    html     = "";
            var    idx      = 1;
            int    sizePlan = 0;
            int    size     = 0;
            string thamgia  = "";

            ListReportModel = new List <ReportExcelModel>();
            foreach (var item in LstCongViecRoot)
            {
                currentJobStt = idx;
                InitRow(LstCongViec, ListThamGia, ListPlan, ListNguoiDung, ref html, ref idx,
                        out sizePlan, out size, ref thamgia, item, "", true);
            }
            SessionManager.SetValue("ListReportModel", ListReportModel);
            return(PartialView("ResultTheoDoiCongViec", html));
        }
Exemplo n.º 23
0
        public JsonResult CancelRegistration(long registrationId)
        {
            AssignUserInfo();
            JsonResultBO result = new JsonResultBO(true);

            qlDangKyXeBusiness  = Get <QL_DANGKY_XEBusiness>();
            qlChuyenBusiness    = Get <QL_DANGKYXE_LAIXEBusiness>();
            dmNguoiDungBusiness = Get <DM_NGUOIDUNGBusiness>();
            sysTinNhanBusiness  = Get <SYS_TINNHANBusiness>();

            QL_DANGKY_XE registration = qlDangKyXeBusiness.Find(registrationId);

            if (registration != null && registration.IS_DELETE != true)
            {
                QL_DANGKYXE_LAIXE trip = qlChuyenBusiness.repository.All().Where(x => x.QL_DANGKY_XE_ID == registration.ID).FirstOrDefault();
                if (trip == null || trip.TRANGTHAI == TRANGTHAI_CHUYEN_CONSTANT.MOITAO_ID)
                {
                    if (trip != null)
                    {
                        qlChuyenBusiness.repository.Delete(trip);
                    }
                    registration.TRANGTHAI = TRANGTHAI_DANGKY_XE_CONSTANT.DA_HUY_ID;
                    qlDangKyXeBusiness.Save(registration);
                    result.Message = "Hủy yêu cầu thành công";

                    //gửi tin nhắn cho người có quyền xác nhận yêu cầu sử dụng xe
                    List <long> notifyUsers = dmNguoiDungBusiness.GetListUsersByFunctionCodeAndDeptId(CONFIRM_CAR_REGISTRATION, currentUser.DeptParentID.GetValueOrDefault());
                    string      title       = "HỦY YÊU CẦU SỬ DỤNG XE";
                    string      content     = string.Format("{0} đã hủy một yêu cầu sử dụng xe", currentUser.HOTEN);

                    sysTinNhanBusiness.sendMessageMultipleUsers(notifyUsers, currentUser, title, content, Url.Action("Details", new { id = registrationId }), string.Empty, false, registrationId, 0);
                }
                else
                {
                    result.Status = false;
                    if (trip.TRANGTHAI == TRANGTHAI_CHUYEN_CONSTANT.DANGCHAY_ID)
                    {
                        result.Message = "Yêu cầu đang được thực thi không thể hủy";
                    }
                    else
                    {
                        result.Message = "Hủy yêu cầu không thành công";
                    }
                }
            }
            return(Json(result));
        }
        /// <summary>
        /// @author: duynn
        /// </summary>
        /// <returns></returns>
        public PartialViewResult EditRecipients(int id = 0)
        {
            AssignUserInfo();
            RecipientBusiness      = Get <QL_NGUOINHAN_VANBANBusiness>();
            UserBusiness           = Get <DM_NGUOIDUNGBusiness>();
            CCTC_THANHPHANBusiness = Get <CCTC_THANHPHANBusiness>();

            QLNguoiNhanVanBanEditViewModel viewModel = new QLNguoiNhanVanBanEditViewModel();
            QL_NGUOINHAN_VANBAN            entity    = RecipientBusiness.Find(id) ?? new QL_NGUOINHAN_VANBAN();
            List <long> choosenUserIds = new List <long>();

            /**
             * dah sách ngươi dùng
             */
            if (!string.IsNullOrEmpty(entity.NGUOINHAN_IDS))
            {
                choosenUserIds = entity.NGUOINHAN_IDS.ToListLong(',');
            }

            /**
             * lấy danh sách người dùng phòng ban
             */
            List <NguoiDungPhongBanBO> groupDepts = UserBusiness.GetUsersOfDepartments();

            //if (currentUser.ListVaiTro.Any(x=>x.MA_VAITRO == "QLHT"))
            //{
            //    groupDeptUsers = UserBusiness.GetUsersOfDepartments();
            //}
            //else
            //{
            //    groupDeptUsers = UserBusiness.GetUsersOfDepartments(currentUser.DM_PHONGBAN_ID.GetValueOrDefault());
            //}

            foreach (var dept in groupDepts)
            {
                SelectListGroup group = new SelectListGroup()
                {
                    Name = dept.PhongBan.NAME
                };
                viewModel.GroupUsers.AddRange(this.GetGroupUsers(group, choosenUserIds, dept.LstNguoiDung));
            }
            viewModel.Department    = CCTC_THANHPHANBusiness.Find(currentUser.DM_PHONGBAN_ID) ?? new CCTC_THANHPHAN();
            viewModel.IsSystemAdmin = currentUser.ListVaiTro.Any(x => x.MA_VAITRO == "QLHT");
            viewModel.Entity        = entity;
            return(PartialView("_EditRecipient", viewModel));
        }
Exemplo n.º 25
0
        public ActionResult CreateLichCongTac(long idVanBanDen = 0)
        {
            AssignUserInfo();
            hscvVanBanDenBusiness = Get <HSCV_VANBANDENBusiness>();
            cctcThanhPhanBusiness = Get <CCTC_THANHPHANBusiness>();
            dmNguoiDungBusiness   = Get <DM_NGUOIDUNGBusiness>();
            dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>();
            wfLogBusiness         = Get <WF_LOGBusiness>();

            EditLichCongTacViewModel model = new EditLichCongTacViewModel();
            long userId = 0;

            if (idVanBanDen > 0)
            {
                HSCV_VANBANDEN entityVanBanDen = hscvVanBanDenBusiness.Find(idVanBanDen);
                if (entityVanBanDen != null && entityVanBanDen.NGUOITAO == currentUser.ID && hscvVanBanDenBusiness.CheckIsFinish(entityVanBanDen.ID))
                {
                    LICHCONGTAC calendar = new LICHCONGTAC();
                    calendar.TIEUDE       = entityVanBanDen.TRICHYEU;
                    calendar.NGAY_CONGTAC = entityVanBanDen.NGAYCONGTAC ?? DateTime.Now;
                    calendar.GIO_CONGTAC  = entityVanBanDen.GIO_CONGTAC.GetValueOrDefault();
                    calendar.PHUT_CONGTAC = entityVanBanDen.PHUT_CONGTAC.GetValueOrDefault();
                    model = new EditLichCongTacViewModel(calendar);
                    model.entityLichCongTac = calendar;

                    //lấy người xử lý cuối làm người chủ trì công tác
                    DM_NGUOIDUNG_BO lastProcessor = wfLogBusiness.GetFinalProcessor(entityVanBanDen.ID, MODULE_CONSTANT.VANBANDEN);
                    userId = lastProcessor.ID;
                }
                else
                {
                    return(Redirect("/Home/UnAuthor"));
                }
            }
            else if (SessionManager.HasValue("CreateCalendarOfTheDay"))
            {
                LICHCONGTAC entityCalendar = (LICHCONGTAC)SessionManager.GetValue("CreateCalendarOfTheDay");
                model = new EditLichCongTacViewModel(entityCalendar);

                SessionManager.Remove("CreateCalendarOfTheDay");
            }
            model.groupOfLanhDaos     = dmNguoiDungBusiness.GetDropDownByDeptParentId(currentUser.DeptParentID.GetValueOrDefault(), userId);
            model.groupOfDestinations = dmDanhMucDataBusiness.GetGroupTextByCode(DMLOAI_CONSTANT.DIEM_DEN);
            return(View("EditLichCongTac", model));
        }
Exemplo n.º 26
0
        public ActionResult UpdateLichCongTac(long id)
        {
            AssignUserInfo();
            JsonResultBO editResult = new JsonResultBO(true);

            cctcThanhPhanBusiness = Get <CCTC_THANHPHANBusiness>();
            dmNguoiDungBusiness   = Get <DM_NGUOIDUNGBusiness>();
            lichCongTacBusiness   = Get <LICHCONGTACBusiness>();
            dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>();

            LICHCONGTAC entity = lichCongTacBusiness.Find(id);

            if (entity != null && entity.IS_DELETE != true && entity.NGAY_CONGTAC.IsOldWeek() == false)
            {
                EditLichCongTacViewModel model = new EditLichCongTacViewModel(entity);
                model.groupOfLanhDaos     = dmNguoiDungBusiness.GetDropDownByDeptParentId(currentUser.DeptParentID.GetValueOrDefault(), entity.LANHDAO_ID.GetValueOrDefault());
                model.groupOfDestinations = dmDanhMucDataBusiness.GetGroupTextByCode(DMLOAI_CONSTANT.DIEM_DEN);
                return(View("EditLichCongTac", model));
            }
            return(Redirect("/Home/UnAuthor"));
        }
Exemplo n.º 27
0
        public ActionResult Create(long calendarId = 0)
        {
            AssignUserInfo();
            dmNguoiDungBusiness   = Get <DM_NGUOIDUNGBusiness>();
            lichCongTacBusiness   = Get <LICHCONGTACBusiness>();
            qlDangKyXeBusiness    = Get <QL_DANGKY_XEBusiness>();
            dmDanhMucDataBusiness = Get <DM_DANHMUC_DATABusiness>();

            DangKyXeEditViewModel model = new DangKyXeEditViewModel();

            model.dangKyXeEntity.DIEM_XUATPHAT = DEFAULT_START_POINT;
            model.groupOfLanhDaos = dmNguoiDungBusiness.GetListUserByDeptParentId(currentUser.DeptParentID.GetValueOrDefault(), 0);
            if (calendarId != 0)
            {
                LICHCONGTAC calendar = lichCongTacBusiness.Find(calendarId);
                //kiểm tra lịch công tác chưa bị xóa - mới nhất - chưa được đăng ký
                if (calendar != null && calendar.IS_DELETE != true && calendar.IS_LATTEST == true)
                {
                    QL_DANGKY_XE registration = qlDangKyXeBusiness.GetAvailableRegistrationByCalendarId(calendarId);
                    if (registration == null)
                    {
                        registration = new QL_DANGKY_XE();
                        registration.LICHCONGTAC_ID = calendar.ID;
                        registration.CANBO_ID       = calendar.LANHDAO_ID;
                        registration.MUCDICH        = calendar.TIEUDE;
                        registration.NGAY_XUATPHAT  = calendar.NGAY_CONGTAC;
                        registration.GIO_XUATPHAT   = calendar.GIO_CONGTAC;
                        registration.PHUT_XUATPHAT  = calendar.PHUT_CONGTAC;
                        registration.DIEM_KETTHUC   = calendar.DIADIEM;
                        registration.GHICHU         = calendar.GHICHU;
                        model = new DangKyXeEditViewModel(registration);
                        model.groupOfLanhDaos = dmNguoiDungBusiness
                                                .GetListUserByDeptParentId(currentUser.DeptParentID.GetValueOrDefault(), calendar.LANHDAO_ID.GetValueOrDefault());
                    }
                }
            }
            model.groupOfStartPoints  = dmDanhMucDataBusiness.GetGroupTextByCode(DMLOAI_CONSTANT.DIEM_XUATPHAT);
            model.groupOfDestinations = dmDanhMucDataBusiness.GetGroupTextByCode(DMLOAI_CONSTANT.DIEM_DEN);
            return(View("EditDangKyXe", model));
        }
Exemplo n.º 28
0
        public PartialViewResult FormHoSo(long?id = 0)
        {
            DM_DANHMUC_DATABusiness     = Get <DM_DANHMUC_DATABusiness>();
            QuanLyHoSoBusiness          = Get <QuanLyHoSoBusiness>();
            DM_NGUOIDUNGBusiness        = Get <DM_NGUOIDUNGBusiness>();
            QuanLyHoSoNguoiNhapBusiness = Get <QuanLyHoSoNguoiNhapBusiness>();
            QuanLyHoSoModel model = new QuanLyHoSoModel();
            var             HoSo  = new QUANLY_HOSO();

            model.ListNamHoSo = GetListNam(DateTime.Now.Year - 20, DateTime.Now.Year + 20, DateTime.Now.Year);
            model.NamChinhLy  = GetListNam();
            if (id > 0)
            {
                HoSo = QuanLyHoSoBusiness.Find(id);
                if (HoSo.HOSO_NAM.HasValue)
                {
                    model.ListNamHoSo = GetListNam(HoSo.HOSO_NAM.Value - 20, HoSo.HOSO_NAM.Value + 20, HoSo.HOSO_NAM);
                }
                if (HoSo.NAM_CHINHLY.HasValue)
                {
                    model.NamChinhLy = GetListNam(HoSo.NAM_CHINHLY.Value - 20, HoSo.NAM_CHINHLY.Value + 20, HoSo.NAM_CHINHLY);
                }
                model.ListNguoiNhap = DM_NGUOIDUNGBusiness.GetDropDow(QuanLyHoSoNguoiNhapBusiness.GetByHoSo(id.Value));
            }
            else
            {
                model.ListNguoiNhap = DM_NGUOIDUNGBusiness.GetDropDow();
            }
            model.HoSo               = HoSo;
            model.ListThoiHan        = DM_DANHMUC_DATABusiness.GetDropDow(DMLOAI_CONSTANT.QLHS_THOI_HAN_BAO_QUAN, HoSo.THOIHAN_BAOQUAN_ID);
            model.ListAccessModifier = DM_DANHMUC_DATABusiness.GetDropDow(DMLOAI_CONSTANT.QLHS_MUC_DO_TRUY_CAP, HoSo.MUCDO_TRUYCAP);
            model.ListKho            = DM_DANHMUC_DATABusiness.GetDropDow(DMLOAI_CONSTANT.QLHS_KHO, HoSo.KHO_ID);
            model.ListPhong          = DM_DANHMUC_DATABusiness.GetDropDow(DMLOAI_CONSTANT.QLHS_PHONG, HoSo.PHONG_ID);

            return(PartialView("_FormHoSo", model));
        }
Exemplo n.º 29
0
        public JsonResult AcceptCarRegistration(FormCollection fc)
        {
            AssignUserInfo();
            JsonResultBO result = new JsonResultBO(false);

            qlChuyenBusiness    = Get <QL_DANGKYXE_LAIXEBusiness>();
            qlDangKyXeBusiness  = Get <QL_DANGKY_XEBusiness>();
            qlLaiXeBusiness     = Get <QL_LAIXEBusiness>();
            sysTinNhanBusiness  = Get <SYS_TINNHANBusiness>();
            dmNguoiDungBusiness = Get <DM_NGUOIDUNGBusiness>();
            try
            {
                long         registrationId = fc["DANGKY_XE_ID"].ToIntOrZero();
                QL_DANGKY_XE registration   = qlDangKyXeBusiness.Find(registrationId);

                if (registration != null)
                {
                    List <int> cars    = fc["XE_ID"].ToListInt(',');
                    List <int> drivers = fc["LAIXE_ID"].ToListInt(',');

                    for (int i = 0; i < cars.Count; i++)
                    {
                        QL_LAIXE          driver = qlLaiXeBusiness.Find(drivers[i]) ?? new QL_LAIXE();
                        QL_DANGKYXE_LAIXE item   = new QL_DANGKYXE_LAIXE();
                        item.CCTC_THANHPHAN_ID = currentUser.DeptParentID.GetValueOrDefault();
                        item.TEN_CHUYEN        = "Chuyến " + registrationId + "-" + driver.HOTEN;
                        item.QL_DANGKY_XE_ID   = registrationId;
                        item.XE_ID             = cars[i];
                        item.LAIXE_ID          = drivers[i];
                        item.TRANGTHAI         = TRANGTHAI_CHUYEN_CONSTANT.MOITAO_ID;
                        item.GHICHU            = fc["GHICHU"].Trim();
                        item.NGAYTAO           = DateTime.Now;
                        item.NGAYSUA           = DateTime.Now;
                        item.NGUOISUA          = currentUser.ID;
                        item.NGUOITAO          = currentUser.ID;
                        qlChuyenBusiness.Save(item);
                    }

                    registration.TRANGTHAI = TRANGTHAI_DANGKY_XE_CONSTANT.DA_TIEPNHAN_ID;
                    qlDangKyXeBusiness.Save(registration);

                    result.Status  = true;
                    result.Message = "Tiếp nhận yêu cầu thành công";

                    //gửi tin nhắn cho người tạo ra yêu cầu
                    //gửi tin nhắn cho người tạo yêu cầu
                    List <long> notifyUsers = new List <long>()
                    {
                        registration.NGUOITAO.GetValueOrDefault()
                    };
                    string title   = "TIẾP NHẬN YÊU CẦU SỬ DỤNG XE";
                    string content = string.Format("{0} đã tiếp nhận một yêu cầu sử dụng xe", currentUser.HOTEN);

                    sysTinNhanBusiness.sendMessageMultipleUsers(notifyUsers, currentUser, title, content, Url.Action("Details", new { id = registrationId }), string.Empty, false, registrationId, 0);
                }
                else
                {
                    result.Message = "Không tìm thấy yêu cầu đăng ký xe";
                }
            }
            catch (Exception ex)
            {
                result.Message = ex.Message;
            }
            return(Json(result));
        }
Exemplo n.º 30
0
        public JsonResult SaveRoomRequest(FormCollection fc)
        {
            AssignUserInfo();
            SYS_TINNHANBusiness     = Get <SYS_TINNHANBusiness>();
            QUANLY_PHONGHOPBusiness = Get <QUANLY_PHONGHOPBusiness>();
            DM_NGUOIDUNGBusiness    = Get <DM_NGUOIDUNGBusiness>();
            JsonResultBO result = new JsonResultBO(true);

            QUANLY_PHONGHOP entity = new QUANLY_PHONGHOP();

            entity.ID              = fc["ID"].ToIntOrZero();
            entity.USER_ID         = fc["USER_ID"].ToLongOrZero();
            entity.MUCDICH         = fc["MUCDICH"].Trim();
            entity.THANHPHANTHAMDU = fc["THANHPHANTHAMDU"].Trim();
            entity.GIOBATDAU       = fc["GIOBATDAU"].ToIntOrZero();
            entity.PHUTBATDAU      = fc["PHUTBATDAU"].ToIntOrZero();

            entity.GIOKETTHUC  = fc["GIOKETTHUC"].ToIntOrZero();
            entity.PHUTKETTHUC = fc["PHUTKETTHUC"].ToIntOrZero();

            entity.CREATED_AT        = DateTime.Now;
            entity.CREATED_BY        = currentUser.ID;
            entity.NGAYDAT           = fc["NGAYDAT"].ToDateTime();
            entity.IS_DELETE         = false;
            entity.CCTC_THANHPHAN_ID = currentUser.DeptParentID.GetValueOrDefault();

            //danh sách người nhận thông báo đặt lịch họp
            List <long> notifyUsers = DM_NGUOIDUNGBusiness.GetListUsersByFunctionCodeAndDeptId("QUANLY_DAT_PHONGHOP", currentUser.DeptParentID.GetValueOrDefault());
            string      title       = string.Empty;
            string      content     = string.Empty;
            string      url         = string.Empty;
            string      bookDate    = entity.NGAYDAT.Value.ToVietnameseDateFormat();
            string      startTime   = string.Format("{0}h{1}", entity.GIOBATDAU.Value.ToString("D2"), entity.PHUTBATDAU.Value.ToString("D2"));
            string      endTime     = string.Format("{0}h{1}", entity.GIOKETTHUC.Value.ToString("D2"), entity.PHUTKETTHUC.Value.ToString("D2"));

            //kiểm tra trùng lịch lãnh đạo
            if (entity.USER_ID > 0)
            {
                List <QUANLY_PHONGHOP> bookingsOfUserInDay = QUANLY_PHONGHOPBusiness.GetBookingsOfUserInDay(entity.NGAYDAT.Value, entity.USER_ID);
                if (entity.ID > 0)
                {
                    bookingsOfUserInDay = bookingsOfUserInDay.Where(x => x.ID != entity.ID).ToList();
                }

                if (bookingsOfUserInDay.Any())
                {
                    int totalBookDuplicate = 0; //tổng số lịch bị trùng

                    int totalStartMinutes = entity.GIOBATDAU.GetValueOrDefault() * 60 + entity.PHUTBATDAU.GetValueOrDefault();
                    int totalEndMinutes   = entity.GIOKETTHUC.GetValueOrDefault() * 60 + entity.PHUTKETTHUC.GetValueOrDefault();

                    foreach (var booking in bookingsOfUserInDay)
                    {
                        int totalStartMinutesDb = booking.GIOBATDAU.GetValueOrDefault() * 60 + booking.PHUTBATDAU.GetValueOrDefault();
                        int totalEndMinutesDb   = booking.GIOKETTHUC.GetValueOrDefault() * 60 + booking.PHUTKETTHUC.GetValueOrDefault();

                        //kiểm tra khoảng thời gian trùng lặp
                        if (totalStartMinutes >= totalStartMinutesDb && totalStartMinutes <= totalStartMinutesDb) //giờ bắt đầu nằm trong khoảng họp
                        {
                            totalBookDuplicate++;
                        }
                        else if (totalStartMinutes <= totalStartMinutesDb && totalEndMinutes >= totalStartMinutesDb &&
                                 totalEndMinutes <= totalEndMinutesDb) //giờ kết thúc nằm trong khoảng họp
                        {
                            totalBookDuplicate++;
                        }

                        else if (totalStartMinutes >= totalStartMinutesDb &&
                                 totalEndMinutes <= totalStartMinutesDb) //giờ bắt đầu và giờ kết thúc đều nằm trong khoảng họp
                        {
                            totalBookDuplicate++;
                        }
                    }

                    if (totalBookDuplicate > 0)
                    {
                        result.Message = string.Format("Trong ngày {0} lãnh đạo có {1} lịch diễn ra trong khoảng thời gian trên", bookDate, totalBookDuplicate);
                        result.Status  = false;
                        return(Json(result));
                    }
                }
            }

            if (entity.ID > 0)
            {
                QUANLY_PHONGHOP dbEntity = QUANLY_PHONGHOPBusiness.Find(entity.ID);
                dbEntity.USER_ID         = entity.USER_ID;
                dbEntity.MUCDICH         = entity.MUCDICH;
                dbEntity.THANHPHANTHAMDU = entity.THANHPHANTHAMDU;
                dbEntity.GIOBATDAU       = entity.GIOBATDAU;
                dbEntity.GIOKETTHUC      = entity.GIOKETTHUC;

                dbEntity.NGAYDAT           = entity.NGAYDAT;
                dbEntity.PHUTBATDAU        = entity.PHUTBATDAU;
                dbEntity.PHUTKETTHUC       = entity.PHUTKETTHUC;
                dbEntity.CCTC_THANHPHAN_ID = entity.CCTC_THANHPHAN_ID;
                QUANLY_PHONGHOPBusiness.Save(dbEntity);
                result.Message = "Cập nhật lịch họp thành công";

                title   = "THÔNG BÁO THAY ĐổI LỊCH HỌP";
                content = string.Format("{0} đã thay đổi thông tin lịch họp vào ngày {1} lúc {2} đến {3}", currentUser.HOTEN, bookDate, startTime, endTime);
            }
            else
            {
                QUANLY_PHONGHOPBusiness.Save(entity);
                result.Message = "Thêm mới lịch họp thành công";

                title   = "THÔNG BÁO ĐẶT LỊCH HỌP";
                content = string.Format("{0} đã đặt một lịch họp vào ngày {1} lúc {2} đến {3}", currentUser.HOTEN, bookDate, startTime, endTime);
            }

            //gửi tin nhắn cho người có nhiệm vụ đặt phòng
            SYS_TINNHANBusiness.sendMessageMultipleUsers(notifyUsers, currentUser, title, content, url, string.Empty, false, entity.ID, 0);
            return(Json(result));
        }