public bool CallBack(Block block)
 {
     if (block != null)
     {
         bool IsExist = BlockViewModels.Any <BlockViewModel>
                            (item => item.Block.BlockName == block.BlockName);
         if (!IsExist)
         {
             block.WarehouseName = Plane.WarehouseName;
             block.PlaneName     = Plane.PlaneName;
             BlockViewModel newBlockViewModel = new BlockViewModel(CMContext)
             {
                 Block          = block,
                 PlaneViewModel = this
             };
             CMContext.Block.Add(block);
             BlockViewModels.Add(newBlockViewModel);
             CMContext.SaveChanges();
             return(false);
         }
         else
         {
             return(true);
         }
     }
     else
     {
         return(false);
     }
 }
Example #2
0
        private static void GetTxCount()
        {
            var currentBlock = Helper.GetBlockCount();

            //Initializing data
            if (blocklist.Count < blocklistCount)
            {
                for (int i = currentBlock - blocklistCount; i < currentBlock; i++)
                {
                    blocklist.Add(Helper.GetBlock(i));
                    Console.SetCursorPosition(0, Console.CursorTop);
                    Console.Write($"[GetBlock:{i}], Blocklist Count:{blocklist.Count}");
                }
            }
            else
            {
                for (int i = blocklist[blocklist.Count - 1].Index + 1; i < currentBlock; i++)
                {
                    blocklist.Add(Helper.GetBlock(i));
                    Console.SetCursorPosition(0, Console.CursorTop);
                    Console.Write($"[GetBlock:{i}], Blocklist Count:{blocklist.Count}");
                }
                while (blocklist.Count > blocklistCount)
                {
                    blocklist.RemoveAt(0);
                }
            }
            Console.WriteLine();

            int step = 100;

            blockgroup.Clear();
            for (int i = 0; i < blocklist.Count; i += step)
            {
                var groupItem = blocklist.Skip(i).Take(step);
                blockgroup.Add(new Block()
                {
                    Index     = groupItem.First().Index,
                    Timestamp = groupItem.First().Timestamp,
                    TxCount   = (int)groupItem.Average(p => p.TxCount),
                    Size      = (int)groupItem.Average(p => p.Size),
                });
            }
            var result = new BlockViewModels();

            foreach (var item in blockgroup)
            {
                result.IndexList.Add(item.Index);
                result.TimestampList.Add(item.Timestamp);
                result.TxCountList.Add(item.TxCount);
                result.SizeList.Add(item.Size);
            }
            SaveFile("txcount.json", JsonConvert.SerializeObject(result));
        }