Beispiel #1
0
        private void DuyetPhanCapChucNang(HT_CNANG htCNang, ref List <HT_CNANG> lstHtCnang)
        {
            if (htCNang.ID_CNANG_CHA != null)
            {
                lstHtCnang.Add(htCNang);

                bool chkExist = false;
                foreach (HT_CNANG item in lstHtCnang)
                {
                    if (item.ID == htCNang.ID_CNANG_CHA)
                    {
                        chkExist = true;
                        break;
                    }
                }

                HT_CNANG htCNangCha = new DS_HT_CNANG().GetById(htCNang.ID_CNANG_CHA.Value);
                if (!chkExist)
                {
                    lstHtCnang.Add(htCNangCha);
                }

                if (htCNangCha.ID_CNANG_CHA != null)
                {
                    DuyetPhanCapChucNang(htCNangCha, ref lstHtCnang);
                }
            }
        }
Beispiel #2
0
        public bool Sua(HT_CNANG obj)
        {
            bool      kq       = true;
            Entities  entities = ContextFactory.GetInstance();
            EntityKey key      = null;
            object    original = null;

            try
            {
                key = entities.CreateEntityKey(ENTITY_SET_NAME, obj);
                if (entities.TryGetObjectByKey(key, out original))
                {
                    entities.ApplyCurrentValues(key.EntitySetName, obj);
                }
                entities.SaveChanges();
                kq = true;
            }
            catch (System.Exception ex)
            {
                kq = false;
                LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
            }
            finally
            {
                entities = null;
            }
            return(kq);
        }
Beispiel #3
0
        public bool XoaListTheoID(List <int> listID)
        {
            bool     kq       = true;
            Entities entities = ContextFactory.GetInstance();

            try
            {
                using (TransactionScope trans = new TransactionScope())
                {
                    foreach (int id in listID)
                    {
                        HT_CNANG obj = new HT_CNANG();
                        obj = entities.HT_CNANG.FirstOrDefault(e => e.ID == id);
                        entities.DeleteObject(obj);
                        entities.SaveChanges();
                    }
                    trans.Complete();
                }
            }
            catch (System.Exception ex)
            {
                kq = false;
                LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
            }
            finally
            {
                entities = null;
            }
            return(kq);
        }
Beispiel #4
0
        public bool HuyDuyetListTheoID(List <int> listID)
        {
            bool     kq       = true;
            Entities entities = ContextFactory.GetInstance();

            try
            {
                using (TransactionScope trans = new TransactionScope())
                {
                    foreach (int id in listID)
                    {
                        HT_CNANG obj = new HT_CNANG();
                        obj           = entities.HT_CNANG.FirstOrDefault(e => e.ID == id);
                        obj.TTHAI_NVU = BusinessConstant.TrangThaiNghiepVu.THOAI_DUYET.layGiaTri();
                        entities.SaveChanges();
                    }
                    trans.Complete();
                }
            }
            catch (System.Exception ex)
            {
                kq = false;
                LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
            }
            finally
            {
                entities = null;
            }
            return(kq);
        }
        private void Luu()
        {
            //Mouse.OverrideCursor = Cursors.Wait;
            try
            {
                string      maTranPheDuyet = getObject();
                DataRowView dr             = (DataRowView)grDanhSach.SelectedItem;
                string      maChucNang     = dr["MA"].ToString();

                HT_CNANG htCNang = new HT_CNANG();
                htCNang.MA_CNANG          = maChucNang;
                htCNang.MA_TRAN_PHE_DUYET = maTranPheDuyet;

                ApplicationConstant.ResponseStatus ret = ApplicationConstant.ResponseStatus.KHONG_THANH_CONG;
                string responseMessage = "";

                ret = qtht.MaTranPheDuyet(ref htCNang, ref responseMessage);
                if (ret == ApplicationConstant.ResponseStatus.THANH_CONG)
                {
                    LMessage.ShowMessage("Thiết lập ma trận phê duyệt thành công cho chức năng được chọn", LMessage.MessageBoxType.Information);
                }
                else
                {
                    LMessage.ShowMessage(responseMessage, LMessage.MessageBoxType.Warning);
                }
            }
            catch (System.Exception ex)
            {
                CommonFunction.ThongBaoLoi(ex);
                LLogging.WriteLog(System.Reflection.MethodInfo.GetCurrentMethod().ToString(), LLogging.LogType.ERR, ex);
            }
            //Mouse.OverrideCursor = Cursors.Arrow;
        }
Beispiel #6
0
        private void InsertParrentTNKT(int idCNang, string maDoiTuong, int idDoiTuong, string loaiDoiTuong, string nguoiCapNhat)
        {
            try
            {
                Entities         entities      = ContextFactory.GetInstance();
                HT_TNGUYEN_KTHAC obj           = new HT_TNGUYEN_KTHAC();
                string           taiNguyenMenu = BusinessConstant.LoaiTaiNguyen.MENU.layGiaTri();

                HT_CNANG cn = entities.HT_CNANG.FirstOrDefault(e => e.ID == idCNang);
                obj.GTRI_TNGUYEN = cn.ID.ToString();
                obj.ID_TNGUYEN   = cn.ID;
                obj.MA_TNGUYEN   = cn.MA_CNANG;

                obj.ID_TNGUYEN_CHA = cn.ID_CNANG_CHA;
                if (cn.ID_CNANG_CHA != null)
                {
                    obj.MA_TNGUYEN_CHA = entities.HT_CNANG.FirstOrDefault(e => e.ID == cn.ID_CNANG_CHA).MA_CNANG;
                }

                obj.TEN_TNGUYEN = cn.TEN_CNANG;
                obj.ID_DTUONG   = idDoiTuong;

                obj.ID_TNGUYEN_LOAI = entities.HT_TNGUYEN_LOAI.FirstOrDefault(e => e.MA_TNGUYEN_LOAI.Equals(taiNguyenMenu)).ID;
                obj.MA_DTUONG       = maDoiTuong;
                obj.MA_DTUONG_LOAI  = loaiDoiTuong;
                obj.KIEU_DLIEU      = "String";
                obj.MA_DVI_QLY      = entities.DM_DON_VI.First().MA_DVI;
                obj.MA_DVI_TAO      = obj.MA_DVI_QLY;
                obj.MA_TNGUYEN_LOAI = BusinessConstant.LoaiTaiNguyen.MENU.layGiaTri();
                obj.NGAY_CNHAT      = DateTime.Today.ToString("yyyyMMdd");
                obj.NGAY_NHAP       = DateTime.Today.ToString("yyyyMMdd");
                obj.NGUOI_CNHAT     = nguoiCapNhat;
                obj.NGUOI_NHAP      = nguoiCapNhat;
                obj.TTHAI_BGHI      = BusinessConstant.TrangThaiBanGhi.SU_DUNG.layGiaTri();
                obj.TTHAI_NVU       = BusinessConstant.TrangThaiNghiepVu.DA_DUYET.layGiaTri();
                entities.HT_TNGUYEN_KTHAC.AddObject(obj);
                entities.SaveChanges();
                if (cn.ID_CNANG_CHA != null)
                {
                    InsertParrentTNKT(cn.ID_CNANG_CHA.Value, maDoiTuong, idDoiTuong, loaiDoiTuong, nguoiCapNhat);
                }
            }
            catch (Exception ex)
            {
                LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
                throw ex;
            }
        }
Beispiel #7
0
        public ApplicationConstant.ResponseStatus LuuMaTranPheDuyet(
            ref THONG_TIN_CHUNG objThongTinChung,
            ref HT_CNANG htCNang,
            ref ApplicationConstant.QuanTriHeThongResponseMessage responseMessage,
            ref BS_ResponseDetail bsRetDetail)
        {
            bool kq = true;

            try
            {
                using (TransactionScope trans = new TransactionScope())
                {
                    DS_HT_CNANG dsHtCNang = new DS_HT_CNANG();
                    HT_CNANG    obj       = dsHtCNang.GetByMa(htCNang.MA_CNANG);
                    obj.MA_TRAN_PHE_DUYET = htCNang.MA_TRAN_PHE_DUYET;
                    kq = dsHtCNang.Sua(obj);

                    if (kq)
                    {
                        trans.Complete();
                        responseMessage    = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_ThanhCong;
                        bsRetDetail.Result = ApplicationConstant.OperationStatus.Successful.layNgonNgu();
                        bsRetDetail.Detail = responseMessage.layGiaTri();
                        htCNang            = obj;
                        return(ApplicationConstant.ResponseStatus.THANH_CONG);
                    }
                    else
                    {
                        responseMessage    = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_KhongThanhCong;
                        bsRetDetail.Result = ApplicationConstant.OperationStatus.Failed.layNgonNgu();
                        bsRetDetail.Detail = responseMessage.layGiaTri();
                        return(ApplicationConstant.ResponseStatus.KHONG_THANH_CONG);
                    }
                }
            }
            catch (Exception ex)
            {
                responseMessage = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_KhongThanhCong;

                bsRetDetail.Result = ApplicationConstant.OperationStatus.Failed.layNgonNgu();
                bsRetDetail.Detail = responseMessage.layGiaTri();

                LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
                throw ex;
            }
        }
Beispiel #8
0
        public bool Xoa(HT_CNANG obj)
        {
            bool     kq       = true;
            Entities entities = ContextFactory.GetInstance();

            try
            {
                entities.DeleteObject(obj);
                entities.SaveChanges();
            }
            catch (System.Exception ex)
            {
                kq = false;
                LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
            }
            finally
            {
                entities = null;
            }
            return(kq);
        }
Beispiel #9
0
        public HT_CNANG GetByMa(string ma)
        {
            HT_CNANG kq       = null;
            Entities entities = ContextFactory.GetInstance();

            try
            {
                kq = entities.HT_CNANG.FirstOrDefault(e => e.MA_CNANG.Equals(ma));
                return(kq);
            }
            catch (System.Exception ex)
            {
                kq = null;
                LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
            }
            finally
            {
                entities = null;
            }
            return(kq);
        }
Beispiel #10
0
        public ApplicationConstant.ResponseStatus MaTranPheDuyet(DatabaseConstant.Action action,
                                                                 ref THONG_TIN_CHUNG objThongTinChung,
                                                                 ref List <BS_ResponseDetail> lstResponseDetail,
                                                                 ref HT_CNANG obj,
                                                                 ref ApplicationConstant.QuanTriHeThongResponseMessage responseMessage)
        {
            ApplicationConstant.ResponseStatus responseStatus = new ApplicationConstant.ResponseStatus();
            BS_ResponseDetail responseDetail = new BS_ResponseDetail();

            switch (action)
            {
            case DatabaseConstant.Action.LUU:     //Luu
                responseStatus = new BS_QuanTriHeThong_Action().MaTranPheDuyet_Luu(ref objThongTinChung, ref obj, ref responseMessage, ref responseDetail);
                break;

            default:
                responseStatus  = ApplicationConstant.ResponseStatus.KHONG_THANH_CONG;
                responseMessage = ApplicationConstant.QuanTriHeThongResponseMessage.M_ResponseMessage_QuanTriHeThong_KhongThanhCong;
                break;
            }
            lstResponseDetail.Add(responseDetail);
            return(responseStatus);
        }
Beispiel #11
0
        public bool luuPhanQuyen(string maDoiTuong, string loaiDoiTuong, ArrayList lstPhanQuyen, string nguoiCapNhat)
        {
            try
            {
                using (TransactionScope trans = new TransactionScope())
                {
                    Entities      entities      = ContextFactory.GetInstance();
                    List <string> lstMaCNang    = new List <string>();
                    string        taiNguyenMenu = BusinessConstant.LoaiTaiNguyen.MENU.layGiaTri();
                    foreach (List <string> lst in lstPhanQuyen)
                    {
                        // Xóa hết phân quyền cũ
                        foreach (string tn in lst)
                        {
                            HT_TNGUYEN_KTHAC tnkt = entities.HT_TNGUYEN_KTHAC.FirstOrDefault(e => e.MA_DTUONG.Equals(maDoiTuong) && e.MA_DTUONG_LOAI.Equals(loaiDoiTuong) && e.MA_TNGUYEN.Equals(tn) && e.MA_TNGUYEN_LOAI.Equals(taiNguyenMenu));
                            if (tnkt != null)
                            {
                                entities.HT_TNGUYEN_KTHAC.DeleteObject(tnkt);
                                entities.SaveChanges();
                            }
                            if (lst.IndexOf(tn) > 0)
                            {
                                if (!lstMaCNang.Contains(tn))
                                {
                                    lstMaCNang.Add(tn);
                                }
                                // ID của tính năng được gán vào tham số Capacity khi khởi tạo list phía client
                                int            idTinhNang = Convert.ToInt32(lst.First());
                                HT_CNANG_TNANG cntn       = entities.HT_CNANG_TNANG.FirstOrDefault(e => e.MA_CNANG.Equals(tn) && e.ID_TNANG == idTinhNang);
                                // ID của tính năng được lưu trong trường GTRI_TNGUYEN
                                HT_CNANG_PQUYEN cnpq = entities.HT_CNANG_PQUYEN.FirstOrDefault(e => e.MA_DTUONG.Equals(maDoiTuong) && e.MA_DTUONG_LOAI.Equals(loaiDoiTuong) && e.ID_CNANG_TNANG == cntn.ID);
                                if (cnpq != null)
                                {
                                    entities.HT_CNANG_PQUYEN.DeleteObject(cnpq);
                                    entities.SaveChanges();
                                }
                            }
                        }
                        foreach (string tn in lst)
                        {
                            if (lst.IndexOf(tn) > 0)
                            {
                                HT_CNANG_PQUYEN obj = new HT_CNANG_PQUYEN();
                                // ID của tính năng được gán vào tham số Capacity khi khởi tạo list phía client
                                int            idTinhNang = Convert.ToInt32(lst.First());
                                HT_CNANG_TNANG cntn       = entities.HT_CNANG_TNANG.FirstOrDefault(e => e.MA_CNANG.Equals(tn) && e.ID_TNANG == idTinhNang);

                                obj.ID_CNANG_TNANG = cntn.ID;
                                if (loaiDoiTuong.Equals(BusinessConstant.LoaiDoiTuong.NGUOI_SDUNG.layGiaTri()))
                                {
                                    obj.ID_DTUONG = entities.HT_NSD.FirstOrDefault(e => e.MA_NSD.Equals(maDoiTuong)).ID;
                                }

                                if (loaiDoiTuong.Equals(BusinessConstant.LoaiDoiTuong.NHOM_NGUOI_SDUNG.layGiaTri()))
                                {
                                    obj.ID_DTUONG = entities.HT_NHNSD.FirstOrDefault(e => e.MA_NHNSD.Equals(maDoiTuong)).ID;
                                }

                                obj.MA_DTUONG      = maDoiTuong;
                                obj.MA_DTUONG_LOAI = loaiDoiTuong;
                                obj.MA_DVI_QLY     = entities.HT_NSD.FirstOrDefault(e => e.MA_DANG_NHAP.ToLower().Equals(nguoiCapNhat.ToLower())).MA_DVI_QLY;
                                obj.MA_DVI_TAO     = obj.MA_DVI_QLY;
                                obj.NGAY_CNHAT     = DateTime.Today.ToString("yyyyMMdd");
                                obj.NGAY_NHAP      = DateTime.Today.ToString("yyyyMMdd");
                                obj.NGUOI_CNHAT    = nguoiCapNhat;
                                obj.NGUOI_NHAP     = nguoiCapNhat;
                                obj.TTHAI_BGHI     = BusinessConstant.TrangThaiBanGhi.SU_DUNG.layGiaTri();
                                obj.TTHAI_NVU      = BusinessConstant.TrangThaiNghiepVu.DA_DUYET.layGiaTri();
                                entities.HT_CNANG_PQUYEN.AddObject(obj);
                                entities.SaveChanges();
                            }
                        }
                    }

                    // Tạo quyền mới
                    foreach (string maCNang in lstMaCNang)
                    {
                        HT_TNGUYEN_KTHAC obj = new HT_TNGUYEN_KTHAC();

                        HT_CNANG cn = entities.HT_CNANG.FirstOrDefault(e => e.MA_CNANG.Equals(maCNang));

                        obj.GTRI_TNGUYEN = cn.ID.ToString();
                        obj.ID_TNGUYEN   = cn.ID;
                        obj.MA_TNGUYEN   = cn.MA_CNANG;

                        obj.ID_TNGUYEN_CHA = cn.ID_CNANG_CHA;
                        if (cn.ID_CNANG_CHA != null)
                        {
                            obj.MA_TNGUYEN_CHA = entities.HT_CNANG.FirstOrDefault(e => e.ID == cn.ID_CNANG_CHA).MA_CNANG;
                        }

                        obj.TEN_TNGUYEN = cn.TEN_CNANG;
                        if (loaiDoiTuong.Equals(BusinessConstant.LoaiDoiTuong.NGUOI_SDUNG.layGiaTri()))
                        {
                            obj.ID_DTUONG = entities.HT_NSD.FirstOrDefault(e => e.MA_NSD.Equals(maDoiTuong)).ID;
                        }

                        if (loaiDoiTuong.Equals(BusinessConstant.LoaiDoiTuong.NHOM_NGUOI_SDUNG.layGiaTri()))
                        {
                            obj.ID_DTUONG = entities.HT_NHNSD.FirstOrDefault(e => e.MA_NHNSD.Equals(maDoiTuong)).ID;
                        }

                        obj.ID_TNGUYEN_LOAI = entities.HT_TNGUYEN_LOAI.FirstOrDefault(e => e.MA_TNGUYEN_LOAI.Equals(taiNguyenMenu)).ID;
                        obj.MA_DTUONG       = maDoiTuong;
                        obj.MA_DTUONG_LOAI  = loaiDoiTuong;
                        obj.KIEU_DLIEU      = "String";
                        obj.MA_DVI_QLY      = entities.DM_DON_VI.First().MA_DVI;
                        obj.MA_DVI_TAO      = obj.MA_DVI_QLY;
                        obj.MA_TNGUYEN_LOAI = BusinessConstant.LoaiTaiNguyen.MENU.layGiaTri();
                        obj.NGAY_CNHAT      = DateTime.Today.ToString("yyyyMMdd");
                        obj.NGAY_NHAP       = DateTime.Today.ToString("yyyyMMdd");
                        obj.NGUOI_CNHAT     = nguoiCapNhat;
                        obj.NGUOI_NHAP      = nguoiCapNhat;
                        obj.TTHAI_BGHI      = BusinessConstant.TrangThaiBanGhi.SU_DUNG.layGiaTri();
                        obj.TTHAI_NVU       = BusinessConstant.TrangThaiNghiepVu.DA_DUYET.layGiaTri();
                        entities.HT_TNGUYEN_KTHAC.AddObject(obj);
                        entities.SaveChanges();

                        if (cn.ID_CNANG_CHA != null)
                        {
                            InsertParrentTNKT(cn.ID_CNANG_CHA.Value, maDoiTuong, obj.ID_DTUONG, loaiDoiTuong, nguoiCapNhat);
                        }
                    }
                    trans.Complete();
                    return(true);
                }
            }
            catch (Exception ex)
            {
                LLogging.WriteLog(ex.TargetSite.Name, LLogging.LogType.ERR, ex);
                throw ex;
            }
        }
Beispiel #12
0
 public ApplicationConstant.ResponseStatus MaTranPheDuyet_Luu(ref THONG_TIN_CHUNG objThongTinChung, ref HT_CNANG obj, ref ApplicationConstant.QuanTriHeThongResponseMessage responseMessage, ref BS_ResponseDetail bsRetDetail)
 {
     //Xử lý nghiệp vụ
     return(new BS_ChucNang_Detail().LuuMaTranPheDuyet(ref objThongTinChung, ref obj, ref responseMessage, ref bsRetDetail));
 }