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); } }
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)); }