コード例 #1
0
        public static CurvesRelation PairedPinwheel()
        {
            var env = new List <Curve>
            {
                new LineCurve(Point3d.Origin, new Point3d(0, 1, 0)),
                new LineCurve(Point3d.Origin, new Point3d(1, 1, 0)),
                new LineCurve(Point3d.Origin, new Point3d(1, 0, 0)),
                new LineCurve(Point3d.Origin, new Point3d(1, -1, 0)),
                new LineCurve(Point3d.Origin, new Point3d(0, -1, 0)),
                new LineCurve(Point3d.Origin, new Point3d(-1, -1, 0)),
                new LineCurve(Point3d.Origin, new Point3d(-1, 0, 0)),
                new LineCurve(Point3d.Origin, new Point3d(-1, 1, 0))
            };

            var envB = new List <Curve>
            {
                new LineCurve(Point3d.Origin, new Point3d(0, 1, 0)),
                new LineCurve(Point3d.Origin, new Point3d(1, 1, 0)),
                new LineCurve(Point3d.Origin, new Point3d(1, 0, 0)),
                new LineCurve(Point3d.Origin, new Point3d(1, -1, 0)),
                new LineCurve(Point3d.Origin, new Point3d(0, -1, 0)),
                new LineCurve(Point3d.Origin, new Point3d(-1, -1, 0)),
                new LineCurve(Point3d.Origin, new Point3d(-1, 0, 0)),
                new LineCurve(Point3d.Origin, new Point3d(-1, 1, 0))
            };

            env.AddRange(envB);

            return(Relate.This(env));
        }
コード例 #2
0
        //数据持久化
        internal static void  SaveToDb(RelateInfo pRelateInfo, Relate pRelate, bool pIsNew)
        {
            pRelate.RelateId   = pRelateInfo.relateId;
            pRelate.RelateName = pRelateInfo.relateName;
            pRelate.Mobile     = pRelateInfo.mobile;
            pRelate.Email      = pRelateInfo.email;
            pRelate.Memo       = pRelateInfo.memo;
            pRelate.ClientId   = pRelateInfo.clientId;
            pRelate.Position   = pRelateInfo.position;
            pRelate.IsNew      = pIsNew;
            string UserName = SubsonicHelper.GetUserName();

            try
            {
                pRelate.Save(UserName);
            }
            catch (Exception ex)
            {
                LogManager.getInstance().getLogger(typeof(RelateInfo)).Error(ex);
                if (ex.Message.Contains("插入重复键"))               //违反了唯一键
                {
                    throw new AppException("此对象已经存在");          //此处等待优化可以从唯一约束中直接取出提示来,如果没有的话,默认为原始的出错提示
                }
                throw new AppException("保存失败");
            }
            pRelateInfo.relateId = pRelate.RelateId;
            //如果缓存存在,更新缓存
            if (CachedEntityCommander.IsTypeRegistered(typeof(RelateInfo)))
            {
                ResetCache();
            }
        }
コード例 #3
0
        public static CurveToCurveRelation CenteredVertical_CenteredHorizontal()
        {
            var geoA = new LineCurve(new Point3d(0, -1, 0), new Point3d(0, 1, 0)).ToNurbsCurve();
            var geoB = new LineCurve(new Point3d(-1, 0, 0), new Point3d(1, 0, 0)).ToNurbsCurve();

            return(Relate.This(geoA).To(geoB));
        }
コード例 #4
0
        /// <summary>
        /// 获得分页列表,无论是否是缓存实体都从数据库直接拿取数据
        /// </summary>
        /// <param name="pPageIndex">页数</param>
        /// <param name="pPageSize">每页列表</param>
        /// <param name="pOrderBy">排序</param>
        /// <param name="pSortExpression">排序字段</param>
        /// <param name="pRecordCount">列表行数</param>
        /// <returns>数据分页</returns>
        public static List <RelateInfo> GetPagedList(int pPageIndex, int pPageSize, SortDirection pOrderBy, string pSortExpression, out int pRecordCount)
        {
            if (pPageIndex <= 1)
            {
                pPageIndex = 1;
            }
            List <RelateInfo> list = new List <RelateInfo>();

            Query q = Relate.CreateQuery();

            q.PageIndex = pPageIndex;
            q.PageSize  = pPageSize;
            q.ORDER_BY(pSortExpression, pOrderBy.ToString());
            RelateCollection collection = new  RelateCollection();

            collection.LoadAndCloseReader(q.ExecuteReader());

            foreach (Relate relate  in collection)
            {
                RelateInfo relateInfo = new RelateInfo();
                LoadFromDAL(relateInfo, relate);
                list.Add(relateInfo);
            }
            pRecordCount = q.GetRecordCount();

            return(list);
        }
コード例 #5
0
        private int[] sumAppHourRunTime = new int[24];        //全局 每小时打开次数累积
        public AppRecord(string name)
        {
            Relate        = new SortedList <string, Relate>();
            this.Name     = name;
            RegAppSetting = Program.AppSetting.In("AppData").In(name);
            RegRelateTo   = RegAppSetting.In("Relate");
            int relateAppNum = Convert.ToInt32(RegRelateTo.GetInfo("Count", "0"));

            for (int i = 0; i < relateAppNum; i++)
            {
                var r = new Relate(RegRelateTo, i);
                Relate.Add(r.Name, r);
            }

            int daynow = DataCore.DayStamp(DateTime.Now);

            RegTodayAppSetting = InitDaySetting(daynow.ToString());
            if (name == Program.ProgramName)
            {
                DataCore.SetDateValid(daynow.ToString());
            }
            sumActiveCount       = Convert.ToInt32(RegAppSetting.GetInfo("SumActiveTime", "0"));
            sumWasteTime         = Convert.ToInt32(RegAppSetting.GetInfo("SumWasteTime", "0"));
            RegSumAppHourRuntime = RegAppSetting.In("Data").In("SumDay");
            for (int i = 0; i < 24; i++)
            {
                daySumRunCount[i]    = GetDayRunTime(RegTodayAppSetting, i);
                sumAppHourRunTime[i] = GetDayRunTime(RegSumAppHourRuntime, i);
            }
            todayWasteTime = Convert.ToInt32(RegTodayAppSetting.GetInfo("WasteTime", "0"));
        }
コード例 #6
0
        public void GroupsByColinearityIndexMap_should_throw_exception_when_read_if_unresolved()
        {
            var rel = Relate.This(new List <Curve>());

            Action act = () => { var x = rel.Properties.GroupsByColinearityIndexMap; };

            act.Should().Throw <UnresolvedPropertyException>("because the property was read before it was actually resolved");
        }
コード例 #7
0
ファイル: ClientInfo.cs プロジェクト: xingfudaiyan/OA
        public static void DelRelateOfClient(int ClientId)
        {
            Query q = Relate.Query();

            q.AddWhere(Relate.Columns.ClientId, ClientId);
            q.QueryType = QueryType.Delete;
            q.Execute();
        }
コード例 #8
0
        public void Given_disjoint_curves_should_return_false()
        {
            Relate.This(new LineCurve(new Point3d(1, 0, 0), new Point3d(1, 1, 0))).To(new LineCurve(new Point3d(0, 0, 0), new Point3d(0, 1, 0)))
            .Resolve()
            .IfIntersectionExists()
            .Results(out var resA, out var resB);

            resA.IntersectionExists.Should().BeFalse("because the curves do not intersect");
        }
コード例 #9
0
        public static CurvesRelation CrossingCurves()
        {
            var env = new List <Curve>
            {
                new LineCurve(new Point3d(-2, 0, 0), new Point3d(0, 2, 0)),
                new LineCurve(new Point3d(0, -2, 0), new Point3d(0, 2, 0))
            };

            return(Relate.This(env));
        }
コード例 #10
0
        public static CurvesRelation ParallelOffsetCurves()
        {
            var env = new List <Curve>
            {
                new LineCurve(new Point3d(0, 0, 0), new Point3d(0, 1, 0)),
                new LineCurve(new Point3d(2, 0, 0), new Point3d(2, 1, 0))
            };

            return(Relate.This(env));
        }
コード例 #11
0
 //从后台获取数据
 internal static void  LoadFromDAL(RelateInfo pRelateInfo, Relate pRelate)
 {
     pRelateInfo.relateId   = pRelate.RelateId;
     pRelateInfo.relateName = pRelate.RelateName;
     pRelateInfo.mobile     = pRelate.Mobile;
     pRelateInfo.email      = pRelate.Email;
     pRelateInfo.memo       = pRelate.Memo;
     pRelateInfo.clientId   = pRelate.ClientId;
     pRelateInfo.position   = pRelate.Position;
     pRelateInfo.Loaded     = true;
 }
コード例 #12
0
        public static CurvesRelation HorizontalDashedLine()
        {
            var env = new List <Curve>
            {
                new LineCurve(new Point3d(0, 0, 0), new Point3d(1, 0, 0)),
                new LineCurve(new Point3d(2, 0, 0), new Point3d(3, 0, 0)),
                new LineCurve(new Point3d(4, 0, 0), new Point3d(5, 0, 0))
            };

            return(Relate.This(env));
        }
コード例 #13
0
 private static void paramRELATE(string[] args)
 {
     if (args.Count() != 5) //the relate command, primary file + key, foreign file + key
     {
         Console.Out.WriteLine("incorrect usage of relate. Correct usage: rds relate primaryfile.txt primarykeycolumn foreignfile.txt foreignkeycolumn");
     }
     else
     {
         Relate r = new Relate();
         r.Run(args[1], args[2], args[3], args[4]);
     }
 }
コード例 #14
0
        public static void AddGroup(Politics newGroup)
        {
            N++;
            Relate[,] NewRelations = new Relate[N, N];

            for (int i = 0; i < N - 1; i++)
            {
                for (int j = 0; j < N - 1; j++)
                {
                    NewRelations[i, j] = relations[i, j];
                }
            }

            relations = NewRelations;
        }
コード例 #15
0
 /// <summary>
 /// 保存
 /// </summary>
 public override void Save()
 {
     if (!m_Loaded)           //新增
     {
         Relate relate = new Relate();
         SaveToDb(this, relate, true);
     }
     else            //修改
     {
         Relate relate = new Relate(relateId);
         if (relate.IsNew)
         {
             throw new AppException("该数据已经不存在了");
         }
         SaveToDb(this, relate, false);
     }
 }
コード例 #16
0
        public static CurvesRelation ShuffledPairedPinwheel()
        {
            var env = PairedPinwheel().Geometry;
            var rng = new Random();

            int n = env.Count;

            while (n > 1)
            {
                n--;
                int k   = rng.Next(n + 1);
                var val = env[k];
                env[k] = env[n];
                env[n] = val;
            }

            return(Relate.This(env));
        }
コード例 #17
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <returns>是否成功</returns>
        public override void Delete()
        {
            if (!m_Loaded)
            {
                throw new AppException("尚未初始化");
            }
            bool result = (Relate.Delete(RelateId) == 1);

            //更新缓存
            if (result && CachedEntityCommander.IsTypeRegistered(typeof(RelateInfo)))
            {
                ResetCache();
            }
            if (!result)
            {
                throw new AppException("删除失败,数据可能被删除");
            }
        }
コード例 #18
0
 private void LoadFromId(int relateId)
 {
     if (CachedEntityCommander.IsTypeRegistered(typeof(RelateInfo)))
     {
         RelateInfo relateInfo = Find(GetList(), relateId);
         if (relateInfo == null)
         {
             throw new AppException("未能在缓存中找到相应的键值对象");
         }
         Copy(relateInfo, this);
     }
     else
     {
         Relate relate = new Relate(relateId);
         if (relate.IsNew)
         {
             throw new AppException("尚未初始化");
         }
         LoadFromDAL(this, relate);
     }
 }
コード例 #19
0
        public static void SetRelations(int first, int second, Relate relation)
        {
            relations[first, second] = relation;
            relations[second, first] = relations[first, second];

            /*   if (relation == Relate.haters)     //Возникает бесконечная рекурсия. Переделать
             *     for (int i = 0; i < N; i++)
             *     {
             *         if (relations[first, i] == Relate.lovers)
             *         {
             *             SetRelations(i, second, Relate.haters);
             *             SetRelations(second, i, Relate.haters);
             *         }
             *         if (relations[second, i] == Relate.lovers)
             *         {
             *             SetRelations(i, first, Relate.haters);
             *             SetRelations(first, i, Relate.haters);
             *         }
             *     }
             */

            if (relation == Relate.lovers)
            {
                for (int i = 0; i < N; i++)
                {
                    if (relations[first, i] == Relate.haters)
                    {
                        SetRelations(i, second, Relate.haters);
                        SetRelations(second, i, Relate.haters);
                    }
                    if (relations[second, i] == Relate.haters)
                    {
                        SetRelations(i, first, Relate.haters);
                        SetRelations(first, i, Relate.haters);
                    }
                }
            }
        }
コード例 #20
0
        public void Should_be_instantiated_when_curve_collection_is_related()
        {
            var rel = Relate.This(new List <Curve>());

            rel.Should().BeOfType <Ibis.Relations.CurvesRelation>("because it is relating a collection of curves");
        }
コード例 #21
0
ファイル: ClientInfo.cs プロジェクト: xingfudaiyan/OA
 public static void RelateDel(int RelateId)
 {
     Relate.Delete(RelateId);
 }
コード例 #22
0
ファイル: ClientInfo.cs プロジェクト: xingfudaiyan/OA
        public static DataTable getRelateList()
        {
            Query q = Relate.Query();

            return(q.ExecuteDataSet().Tables[0]);
        }
コード例 #23
0
 /// <inheritdoc />
 protected override CommandRunner <Relate> GetRunner4(Relate command) => _rel;
コード例 #24
0
ファイル: RelateInfo.cs プロジェクト: xingfudaiyan/OA
 /// <summary>
 /// 保存
 /// </summary>
 public override void Save()
 {
     if(!m_Loaded)//新增
     {
         Relate relate=new Relate();
         SaveToDb(this, relate,true);
     }
     else//修改
     {
         Relate relate=new Relate(relateId);
         if(relate.IsNew)
             throw new AppException("该数据已经不存在了");
         SaveToDb(this, relate,false);
     }
 }
コード例 #25
0
ファイル: RelateInfo.cs プロジェクト: xingfudaiyan/OA
 //从后台获取数据
 internal static void LoadFromDAL(RelateInfo pRelateInfo, Relate  pRelate)
 {
     pRelateInfo.relateId = pRelate.RelateId;
      		pRelateInfo.relateName = pRelate.RelateName;
      		pRelateInfo.mobile = pRelate.Mobile;
      		pRelateInfo.email = pRelate.Email;
      		pRelateInfo.memo = pRelate.Memo;
      		pRelateInfo.clientId = pRelate.ClientId;
      		pRelateInfo.position = pRelate.Position;
     pRelateInfo.Loaded=true;
 }
コード例 #26
0
ファイル: RelateInfo.cs プロジェクト: xingfudaiyan/OA
 //数据持久化
 internal static void SaveToDb(RelateInfo pRelateInfo, Relate  pRelate,bool pIsNew)
 {
     pRelate.RelateId = pRelateInfo.relateId;
      		pRelate.RelateName = pRelateInfo.relateName;
      		pRelate.Mobile = pRelateInfo.mobile;
      		pRelate.Email = pRelateInfo.email;
      		pRelate.Memo = pRelateInfo.memo;
      		pRelate.ClientId = pRelateInfo.clientId;
      		pRelate.Position = pRelateInfo.position;
     pRelate.IsNew=pIsNew;
     string UserName = SubsonicHelper.GetUserName();
     try
     {
         pRelate.Save(UserName);
     }
     catch(Exception ex)
     {
         LogManager.getInstance().getLogger(typeof(RelateInfo)).Error(ex);
         if(ex.Message.Contains("插入重复键"))//违反了唯一键
         {
             throw new AppException("此对象已经存在");//此处等待优化可以从唯一约束中直接取出提示来,如果没有的话,默认为原始的出错提示
         }
         throw new AppException("保存失败");
     }
     pRelateInfo.relateId = pRelate.RelateId;
     //如果缓存存在,更新缓存
     if (CachedEntityCommander.IsTypeRegistered(typeof(RelateInfo)))
     {
         ResetCache();
     }
 }
コード例 #27
0
        public void Should_be_instantiated_when_curve_is_related_to_curve()
        {
            var rel = Relate.This(new LineCurve()).To(new LineCurve());

            rel.Should().BeOfType <Ibis.Relations.CurveToCurveRelation>("because it is relating a curve to a curve");
        }
コード例 #28
0
ファイル: RelateInfo.cs プロジェクト: xingfudaiyan/OA
 private void LoadFromId(int relateId)
 {
     if (CachedEntityCommander.IsTypeRegistered(typeof(RelateInfo)))
     {
         RelateInfo relateInfo=Find(GetList(), relateId);
         if(relateInfo==null)
             throw new AppException("未能在缓存中找到相应的键值对象");
         Copy(relateInfo, this);
     }
     else
     {	Relate relate=new Relate( relateId);
         if(relate.IsNew)
         throw new AppException("尚未初始化");
        	LoadFromDAL(this, relate);
     }
 }