Ejemplo n.º 1
0
 public ZhishiChakanModel(Zhishi zhishi)
 {
     this.banbenhao = zhishi.Banben.ToString() + ".0";
     this.chuangjianren = WebHelper.GetYonghuXingming(zhishi.Chuangjianren);
     this.chuangjianShijian = zhishi.ChuangjianShijian.ToString("yyyy-MM-dd");
     string yonghu = WebHelper.DangqianYonghuZhanghao;
     if (zhishi.Mulu.YouYijiDaanQuanxian(yonghu) && zhishi.YijiDaan != null)
     {
         this.daanHtml += this.ShengchengHtml(zhishi.YijiDaan);
     }
     if (zhishi.Mulu.YouErjiDaanQuanxian(yonghu) && zhishi.ErjiDaan != null)
     {
         this.daanHtml += this.ShengchengHtml(zhishi.ErjiDaan);
     }
     if (zhishi.Mulu.YouSanjiDaanQuanxian(yonghu) && zhishi.SanjiDaan != null)
     {
         this.daanHtml += this.ShengchengHtml(zhishi.SanjiDaan);
     }
     if (zhishi.Mulu.YouSijiDaanQuanxian(yonghu) && zhishi.SijiDaan != null)
     {
         this.daanHtml += this.ShengchengHtml(zhishi.SijiDaan);
     }
     if (zhishi.Mulu.YouWujiDaanQuanxian(yonghu) && zhishi.WujiDaan != null)
     {
         this.daanHtml += this.ShengchengHtml(zhishi.WujiDaan);
     }
     this.id = zhishi.Id;
     this.shunxu = zhishi.Shunxu;
     this.wenti = zhishi.Wenti;
 }
Ejemplo n.º 2
0
        public ZhishiModel(Zhishi zhishi)
        {
            string yonghu = WebHelper.DangqianYonghuZhanghao;
            InitializeDaanGuanliQuanxian(zhishi, yonghu);

            banbenhao = zhishi.Banben.ToString(CultureInfo.InvariantCulture) + ".0";
            chuangjianren = WebHelper.GetYonghuXingming(zhishi.Chuangjianren);
            chuangjianShijian = zhishi.ChuangjianShijian.ToString("yyyy-MM-dd");
            //string yonghu = WebHelper.DangqianYonghuZhanghao;
            if (zhishi.YijiDaan != null && youYijiDaanGuanliQuanxian)
            {
                yijiDaan = zhishi.YijiDaan.Neirong;
                yijiDaanFujian = zhishi.YijiDaan.FujianList.Select(x => new FujianModel(x)).ToList();
            }
            if (zhishi.ErjiDaan != null && youErjiDaanGuanliQuanxian)
            {
                erjiDaan = zhishi.ErjiDaan.Neirong;
                erjiDaanFujian = zhishi.ErjiDaan.FujianList.Select(x => new FujianModel(x)).ToList();
            }
            id = zhishi.Id;
            if (zhishi.SanjiDaan != null && youSanjiDaanGuanliQuanxian)
            {
                sanjiDaan = zhishi.SanjiDaan.Neirong;
                sanjiDaanFujian = zhishi.SanjiDaan.FujianList.Select(x => new FujianModel(x)).ToList();
            }
            if (zhishi.SijiDaan != null && youSijiDaanGuanliQuanxian)
            {
                sijiDaan = zhishi.SijiDaan.Neirong;
                sijiDaanFujian = zhishi.SijiDaan.FujianList.Select(x => new FujianModel(x)).ToList();
            }
            if (zhishi.WujiDaan != null && youWujiDaanGuanliQuanxian)
            {
                wujiDaan = zhishi.WujiDaan.Neirong;
                wujiDaanFujian = zhishi.WujiDaan.FujianList.Select(x => new FujianModel(x)).ToList();
            }
            wentiBiaoti = zhishi.Wenti;
            if (zhishi.Zhidingde.HasValue && zhishi.Zhidingde.Value)
            {
                wentiBiaoti = "<font color='red'>【置顶】</font>" + wentiBiaoti;
            }
            wenti = zhishi.Wenti;
            bianjiren = WebHelper.GetYonghuXingming(zhishi.Bianjiren);
            if (zhishi.Bianjizhong)
            {
                kebianji = zhishi.Bianjiren == WebHelper.DangqianYonghuZhanghao;
            }
            else
            {
                kebianji = true;
            }
            shunxu = zhishi.Shunxu;
            xiugairen = zhishi.Xiugairen;
            if (zhishi.XiugaiShijian.HasValue)
            {
                xiugaiShijian = zhishi.XiugaiShijian.Value.ToString("yyyy-MM-dd");
            }
        }
Ejemplo n.º 3
0
 public ZhishiXinxi(Zhishi zhishi)
 {
     this.Id = zhishi.Id;
     this.Wenti = zhishi.Wenti;
     this.Chuangjianren = zhishi.Chuangjianren;
     this.ChuangjianShijian = zhishi.ChuangjianShijian;
     this.Banben = zhishi.Banben;
     this.Shunxu = zhishi.Shunxu;
 }
Ejemplo n.º 4
0
 public LishiZhishiDataModel(Zhishi zhishi)
 {
     this.Wenti = zhishi.Wenti;
     this.Banben = zhishi.Banben;
     this.Chuangjianren = zhishi.Chuangjianren;
     this.YijiDaan = zhishi.YijiDaan != null ? zhishi.YijiDaan.Id : 0;
     this.ErjiDaan = zhishi.ErjiDaan != null ? zhishi.ErjiDaan.Id : 0;
     this.SanjiDaan = zhishi.SanjiDaan != null ? zhishi.SanjiDaan.Id : 0;
     this.SijiDaan = zhishi.SijiDaan != null ? zhishi.SijiDaan.Id : 0;
     this.WujiDaan = zhishi.WujiDaan != null ? zhishi.WujiDaan.Id : 0;
     this.ZhishiId = zhishi.Id;
 }
Ejemplo n.º 5
0
 private void InitializeDaanGuanliQuanxian(Zhishi zhishi,string yonghu)
 {
     Mulu mulu = zhishi.Mulu;
     youYijiDaanGuanliQuanxian = mulu.YouDaanGuanliQuanxian(yonghu, QuanxianZhi.YijiDaan);
     youErjiDaanGuanliQuanxian = mulu.YouDaanGuanliQuanxian(yonghu, QuanxianZhi.ErjiDaan);
     youSanjiDaanGuanliQuanxian = mulu.YouDaanGuanliQuanxian(yonghu, QuanxianZhi.SanjiDaan);
     youSijiDaanGuanliQuanxian = mulu.YouDaanGuanliQuanxian(yonghu, QuanxianZhi.SijiDaan);
     youWujiDaanGuanliQuanxian = mulu.YouDaanGuanliQuanxian(yonghu, QuanxianZhi.WujiDaan);
 }
Ejemplo n.º 6
0
 private void Zhishi_Shanchuhou(Zhishi args)
 {
     lock (_lock)
     {
         List<Zhishi> zhishiList = _zhishiList.ToList();
         zhishiList.Remove(args);
         _zhishiList = zhishiList;
     }
 }
Ejemplo n.º 7
0
 private bool YouGuanjianzi(string yonghu, Zhishi zhishi, string guanjianzi)
 {
     if (zhishi.Wenti.IndexOf(guanjianzi, StringComparison.InvariantCultureIgnoreCase) > -1)
     {
         return true;
     }
     string zhishiDaan = "";
     bool fujianSousuo = false;
     if (YouYijiDaanQuanxian(yonghu))
     {
         zhishiDaan += zhishi.YijiDaan.Neirong;
         if (!fujianSousuo)
         {
             fujianSousuo = zhishi.YijiDaan.YouFujian(guanjianzi);
         }
     }
     if (YouErjiDaanQuanxian(yonghu))
     {
         zhishiDaan += zhishi.ErjiDaan.Neirong;
         if (!fujianSousuo)
         {
             fujianSousuo = zhishi.ErjiDaan.YouFujian(guanjianzi);
         }
     }
     if (YouSanjiDaanQuanxian(yonghu))
     {
         zhishiDaan += zhishi.SanjiDaan.Neirong;
         if (!fujianSousuo)
         {
             fujianSousuo = zhishi.SanjiDaan.YouFujian(guanjianzi);
         }
     }
     if (YouSijiDaanQuanxian(yonghu))
     {
         zhishiDaan += zhishi.SijiDaan.Neirong;
         if (!fujianSousuo)
         {
             fujianSousuo = zhishi.SijiDaan.YouFujian(guanjianzi);
         }
     }
     if (YouWujiDaanQuanxian(yonghu))
     {
         zhishiDaan += zhishi.WujiDaan.Neirong;
         if (!fujianSousuo)
         {
             fujianSousuo = zhishi.WujiDaan.YouFujian(guanjianzi);
         }
     }
     if (zhishiDaan.IndexOf(guanjianzi, StringComparison.InvariantCultureIgnoreCase) > -1 || fujianSousuo)
     {
         return true;
     }
     return false;
 }
Ejemplo n.º 8
0
        private void Xiugaihou(Zhishi zhishi, XiugaihouEventArgs<ZhishiXinxi> args)
        {
            lock (_lock)
            {
                if (args.XiugaiqianXinxi.Shunxu != zhishi.Shunxu)
                {
                    DizhengZhishiShunxu(zhishi);
                }

                PaiXunZhishi();
            }
        }
Ejemplo n.º 9
0
 private void DizhengZhishiShunxu(Zhishi zhishi)
 {
     if (zhishi.Shunxu.HasValue && _zhishiList.Any(x => x != zhishi && x.Shunxu == zhishi.Shunxu))
     {
         _zhishiList.Where(x => x != zhishi && x.Shunxu.HasValue && x.Shunxu >= zhishi.Shunxu)
                    .ToList().ForEach(x => x.InternalXiugaiShunxu(x.Shunxu.Value + 1));
     }
 }
Ejemplo n.º 10
0
        public void TianjiaZhishi(Zhishi zhishi)
        {
            if (_zhishiList.Contains(zhishi))
            {
                throw new Exception("移动的目录中已经包含该知识");
            }

            zhishi.Mulu._zhishiList.Remove(zhishi);
            _zhishiList.Add(zhishi);
            zhishi.XiugaiMulu(this);

            DizhengZhishiShunxu(zhishi);
            PaiXunZhishi();
        }
Ejemplo n.º 11
0
        public Zhishi ChuangjianZhishi(string wenti, int? shunxu, string chuangjianren, string yijiDaanNeirong,
                                       List<FujianXinxi> yijiDaanFujian,
                                       string erjiDaanNeirong, List<FujianXinxi> erjiDaanFujian, string sanjiDaanNeirong,
                                       List<FujianXinxi> sanjiDaanFujian,
                                       string sijiDaanNeirong, List<FujianXinxi> sijiDaanFujian, string wujiDaanNeirong,
                                       List<FujianXinxi> wujiDaanFujian, string yonghu)
        {
            lock (_lock)
            {
                wenti = wenti.Trim();
                if (_zhishiList.Any(x => x.Wenti.Equals(wenti, StringComparison.InvariantCultureIgnoreCase)))
                {
                    throw new Exception("创建失败,知识问题重复");
                }
                if (string.IsNullOrEmpty(yijiDaanNeirong) && string.IsNullOrEmpty(erjiDaanNeirong) &&
                    string.IsNullOrEmpty(sanjiDaanNeirong) && string.IsNullOrEmpty(sijiDaanNeirong) &&
                    string.IsNullOrEmpty(wujiDaanNeirong))
                {
                    throw new Exception("创建失败,至少填写一个答案");
                }

                Daan yijiDaan = null;
                Daan erjiDaan = null;
                Daan sanjiDaan = null;
                Daan sijiDaan = null;
                Daan wujiDaan = null;

                bool youYijiDaanGuanliQuanxian = YouDaanGuanliQuanxian(yonghu, QuanxianZhi.YijiDaan);
                bool youErjiDaanGuanliQuanxian = YouDaanGuanliQuanxian(yonghu, QuanxianZhi.ErjiDaan);
                bool youSanjiDaanGuanliQuanxian = YouDaanGuanliQuanxian(yonghu, QuanxianZhi.SanjiDaan);
                bool youSijiDaanGuanliQuanxian = YouDaanGuanliQuanxian(yonghu, QuanxianZhi.SijiDaan);
                bool youWujiDaanGuanliQuanxian = YouDaanGuanliQuanxian(yonghu, QuanxianZhi.WujiDaan);

                var model = new ZhishiDataModel();
                model.Shunxu = shunxu;
                model.Banben = 1;
                model.Chuangjianren = chuangjianren;
                model.ChuangjianShijian = DateTime.Now;
                model.Mulu = Id;
                model.Wenti = wenti;

                if (youYijiDaanGuanliQuanxian)
                {
                    yijiDaan = Zhishiku.ChuangjianDaan(yijiDaanNeirong, yijiDaanFujian);
                    model.YijiDaan = yijiDaan.Id;
                }
                if (youErjiDaanGuanliQuanxian)
                {
                    erjiDaan = Zhishiku.ChuangjianDaan(erjiDaanNeirong, erjiDaanFujian);
                    model.ErjiDaan = erjiDaan.Id;
                }
                if (youSanjiDaanGuanliQuanxian)
                {
                    sanjiDaan = Zhishiku.ChuangjianDaan(sanjiDaanNeirong, sanjiDaanFujian);
                    model.SanjiDaan = sanjiDaan.Id;
                }
                if (youSijiDaanGuanliQuanxian)
                {
                    sijiDaan = Zhishiku.ChuangjianDaan(sijiDaanNeirong, sijiDaanFujian);
                    model.SijiDaan = sijiDaan.Id;
                }
                if (youWujiDaanGuanliQuanxian)
                {
                    wujiDaan = Zhishiku.ChuangjianDaan(wujiDaanNeirong, wujiDaanFujian);
                    model.WujiDaan = wujiDaan.Id;
                }
                var id = (int) NHibernateHelper.CurrentSession.Save(model);

                var zhishi = new Zhishi(id, wenti, yijiDaan, erjiDaan, sanjiDaan, sijiDaan, wujiDaan, chuangjianren,
                                        model.ChuangjianShijian, model.Banben, model.Shunxu, null, null, null, false);
                zhishi.Mulu = this;
                List<Zhishi> zhishiList = _zhishiList;
                zhishiList.Add(zhishi);
                _zhishiList = zhishiList.OrderBy(x => x.Shunxu).ToList();
                zhishi.Shanchuhou += Zhishi_Shanchuhou;
                zhishi.Xiugaihou += Xiugaihou;
                DizhengZhishiShunxu(zhishi);
                PaiXunZhishi();
                if (ChuangjianZhishihou != null)
                {
                    ChuangjianZhishihou(this, zhishi);
                }
                return zhishi;
            }
        }
Ejemplo n.º 12
0
 private void BangdingZhishiShijian(Zhishi zhishi)
 {
     zhishi.Shanchuhou += new TEventHandler<Zhishi>(Zhishi_Shanchuhou);
 }
Ejemplo n.º 13
0
 private List<Zhishi> JiazaiZhishi(int muluId)
 {
     List<Zhishi> zhishiList = new List<Zhishi>();
     List<ZhishiDataModel> dataModels = NHibernateHelper.CurrentSession.QueryOver<ZhishiDataModel>().Where(x => x.Mulu == muluId).List().ToList();
     foreach (ZhishiDataModel model in dataModels)
     {
         List<LishiZhishi> lishiZhishi = this.JiazaiLishiZhishi(model.Id);
         Zhishi zhishi = new Zhishi(model.Id, model.Wenti, this.JiazaiDaan(model.YijiDaan), this.JiazaiDaan(model.ErjiDaan),
             this.JiazaiDaan(model.SanjiDaan), this.JiazaiDaan(model.SijiDaan), this.JiazaiDaan(model.WujiDaan), model.Chuangjianren,
             model.ChuangjianShijian, model.Banben, model.Shunxu, lishiZhishi, model.Xiugairen, model.XiugaiShijian, model.Zhidingde);
         zhishiList.Add(zhishi);
         this._zhishiList.Add(zhishi);
         this.BangdingZhishiShijian(zhishi);
     }
     return zhishiList;
 }
Ejemplo n.º 14
0
 void ChuangjianZhishihou(Mulu sender, Zhishi args)
 {
     lock (_lock)
     {
         List<Zhishi> zhishiList = this._zhishiList.ToList();
         zhishiList.Add(args);
         this._zhishiList = zhishiList;
         this.BangdingZhishiShijian(args);
     }
 }