public SnapShotStatData GenerateStatisticData(int beginStaTime, int endStaTime, OtherSubSysInterface subSysInterface, int snapshotId) { StaSimulationCarrier carrier = new StaSimulationCarrier(); SnapShotStatData data = new SnapShotStatData(); data.SnapShotName = SimulationTools.GenerateSnapshotName(snapshotId); data.DlRsrpFailList.AddRange(this.DlRsrpFailUserList); data.UlRsrpFailList.AddRange(this.UlRsrpFailUserList); List<StatSimuCarrierResult> carrierResList = carrier.Statistic(beginStaTime, endStaTime, this.m_SimulationCarrierList, subSysInterface); data.StatSimuSiteResultList = new StaSimulationSite().Statistic(carrierResList, this.m_SimulationCarrierList); foreach (SimulationCarrier carrier2 in this.m_SimulationCarrierList) { this.SelectUsers(carrier2.OffLineUserList, data.OffLineList); List<ISimulationUser> waitUserList = new List<ISimulationUser>(); waitUserList.AddRange(carrier2.DlDataWaitUserList); waitUserList.AddRange(carrier2.DlVoiceWaitUserList); waitUserList.AddRange(carrier2.UlDataWaitUserList); waitUserList.AddRange(carrier2.UlVoiceWaitUserList); temp = carrier2.count; this.ClassifyWaitUsers(waitUserList, data); data.SatisfiedList.AddRange(this.ToISimuUser(carrier2.UlVoiceServiceUserList)); data.SatisfiedList.AddRange(this.ToISimuUser(carrier2.UlDataServiceUserList)); data.SatisfiedList.AddRange(this.ToISimuUser(carrier2.DlVoiceServiceUserList)); data.SatisfiedList.AddRange(this.ToISimuUser(carrier2.DlDataServiceUserList)); data.DlRsSinrFailList.AddRange(this.ToISimuUser(carrier2.FailUserList)); data.UlRsSinrFailList.AddRange(this.ToISimuUser(carrier2.UlRsSinrFailUserList)); } data.WholeNetDLInstantaneousThroughput = this.m_WholeNetDLThroughput; data.WholeNetULInstantaneousThroughput = this.m_WholeNetULThroughput; return data; }
private void ClassifyWaitUsers(List<ISimulationUser> waitUserList, SnapShotStatData data) { foreach (SimulationUser user in waitUserList) { if (user.ServiceCount == 0 ) { user.FailReason = FailReason.CallDrop; user.State = State.OffLine; data.OffLineList.Add(user.LTEUser); } else if (user.UlActualAveRate < user.UlMacMinThroughputDemand) { user.FailReason = FailReason.CallDrop; user.State = State.OffLine; data.OffLineList.Add(user.LTEUser); } else { data.SatisfiedList.Add(user.LTEUser); } } }
private void ClassifyWaitUsers(List<ISimulationUser> waitUserList, SnapShotStatData data) { foreach (SimulationUser user in waitUserList) { if (user.ServiceCount == 0) { user.FailReason = FailReason.CallDrop; data.OffLineList.Add(user.LTEUser); } else { data.SatisfiedList.Add(user.LTEUser); } } }
private List<DisplayUser> GetSymbolChangedNode(TreeNode snapShotNode, SnapShotStatData snapShotResult, string GroupName, string snapShotName) { DisplayUser user; string name = Enum.GetName(typeof(DisplayType), this.DT); string str2 = Enum.GetName(typeof(FieldType), this.FT); List<string> list = new List<string>(); List<DisplayUser> groupDisplayUser = new List<DisplayUser>(); foreach (StaSimuSiteResult result in snapShotResult.StatSimuSiteResultList) { foreach (StatSimuCarrierResult result2 in result.StatSimuCarrierResultList) { foreach (StatSimuUserResult result3 in result2.StatSimuUserResultList) { user = new DisplayUser(); user.LTEUser = result3; user.BestServer = result2.CarrierName; user.UserState = result3.FailReason.ToString(); groupDisplayUser.Add(user); } } } foreach (User user2 in snapShotResult.DlRsrpFailList) { user = new DisplayUser(); StatSimuUserResult result4 = new StatSimuUserResult(user2); user.LTEUser = result4; user.UserState = FailReason.DlRsrpFail.ToString(); user.BestServer = ""; groupDisplayUser.Add(user); } this.RebuildSnapshotNode(this.m_CurrentSetProperty, groupDisplayUser, snapShotNode); return groupDisplayUser; }
private void getUserResult(User user, SnapShotStatData snapData, out StatSimuUserResult userResult, out StatSimuCarrierResult carrier) { userResult = null; carrier = null; if (user.Tag != null) { string tag = (string) user.Tag; carrier = this.GetStatSimuCarrierResultByName(snapData, tag); if (carrier == null) { throw new Exception(SimulationResource.SIMULATION_FIND_BESTSERVER_FAILED); } foreach (StatSimuUserResult result in carrier.StatSimuUserResultList) { if (user.Id == result.LTEUser.Id) { userResult = result; break; } } } else { userResult = new StatSimuUserResult(user); } }
private TreeNode GetGroupChildNode(SnapShotStatData snapShotResult, FailReason failReason, TreeNode snapShotNode) { TreeNode node = new TreeNode(failReason.ToString()); node.ImageKey = "user"; node.SelectedImageKey = "user"; node.StateImageIndex = 1; node.Tag = this.BindingNodeState(snapShotResult, failReason, snapShotNode, failReason.ToString()); return node; }
private StatSimuCarrierResult GetStatSimuCarrierResultByName(SnapShotStatData snapData, string carrierName) { foreach (StaSimuSiteResult result in snapData.StatSimuSiteResultList) { foreach (StatSimuCarrierResult result2 in result.StatSimuCarrierResultList) { if (carrierName == result2.CarrierName) { return result2; } } } return null; }
private List<DisplayUser> AddTreeNode(SnapShotStatData inSnapShotStatData, int iSnapNum, TreeNode parentNode) { List<DisplayUser> list = new List<DisplayUser>(); TreeNode node = new TreeNode(SimulationTools.GenerateSnapshotName(iSnapNum)); node.ContextMenuStrip = this.cmsSnapshot; node.ImageKey = "Snapshot"; node.SelectedImageKey = "Snapshot"; node.StateImageIndex = 1; node.Tag = iSnapNum; parentNode.Nodes.Add(node); List<FailReason> list2 = new List<FailReason>(); list2.Add(FailReason.Satisfied); list2.Add(FailReason.DlRsSinrFail); list2.Add(FailReason.UlRsSinrFail); list2.Add(FailReason.DlRsrpFail); list2.Add(FailReason.UlRsrpFail); list2.Add(FailReason.CallDrop); foreach (FailReason reason in list2) { TreeNode node2 = this.GetGroupChildNode(inSnapShotStatData, reason, node); node.Nodes.Add(node2); list.AddRange(node2.Tag as List<DisplayUser>); } return list; }
private List<DisplayUser> BindingNodeState(SnapShotStatData snapData, FailReason reason, TreeNode node, string nodeName) { List<DisplayUser> list = new List<DisplayUser>(); List<StaSimuSiteResult> statSimuSiteResultList = snapData.StatSimuSiteResultList; List<User> list3 = new List<User>(); List<SymbolElement> list4 = new List<SymbolElement>(); List<Color> list5 = new List<Color>(); list5.Add(Color.Green); list5.Add(Color.Yellow); list5.Add(Color.Pink); list5.Add(Color.DarkRed); list5.Add(Color.OrangeRed); list5.Add(Color.PaleVioletRed); list5.Add(Color.DeepPink); list5.Add(Color.Black); list5.Add(Color.Red); foreach (Color color in list5) { SymbolElement item = new SymbolElement(color); list4.Add(item); } Dictionary<FailReason, List<User>> dictionary = new Dictionary<FailReason, List<User>>(); dictionary.Add(FailReason.CallDrop, snapData.OffLineList); dictionary.Add(FailReason.DlRsrpFail, snapData.DlRsrpFailList); dictionary.Add(FailReason.UlRsSinrFail, snapData.UlRsSinrFailList); dictionary.Add(FailReason.DlRsSinrFail, snapData.DlRsSinrFailList); dictionary.Add(FailReason.UlRsrpFail, snapData.UlRsrpFailList); dictionary.Add(FailReason.Satisfied, snapData.SatisfiedList); list3 = dictionary[reason]; foreach (User user in list3) { DisplayUser user2 = new DisplayUser(); StatSimuUserResult userResult = null; StatSimuCarrierResult carrier = null; this.getUserResult(user, snapData, out userResult, out carrier); user2.LTEUser = userResult; user2.SimulationName = node.Parent.Text; user2.SnapShotName = node.Text; user2.SymbolElement = list4[(int) reason]; user2.UserState = nodeName; if (carrier != null) { user2.BestServer = carrier.CarrierName; } else { user2.BestServer = ""; } list.Add(user2); } return list; }
private List<DisplayUser> SetGroupOtherNode(TreeNode snapShotNode, SnapShotStatData snapShotResult) { List<DisplayUser> list = new List<DisplayUser>(); List<FailReason> list2 = new List<FailReason>(); list2.Add(FailReason.Satisfied); list2.Add(FailReason.DlRsSinrFail); list2.Add(FailReason.UlRsSinrFail); list2.Add(FailReason.DlRsrpFail); list2.Add(FailReason.UlRsrpFail); list2.Add(FailReason.CallDrop); foreach (FailReason reason in list2) { TreeNode node = this.GetGroupChildNode(snapShotResult, reason, snapShotNode); snapShotNode.Nodes.Add(node); list.AddRange(node.Tag as List<DisplayUser>); } return list; }
private void SetGroupNode(TreeNode snapShotNode, SnapShotStatData snapShotResult) { }
private List<DisplayUser> bandingNodeTag(TreeNode checkedTreeNode, SnapShotStatData snapShotStatData) { if (checkedTreeNode.Tag == null) { List<DisplayUser> list = new List<DisplayUser>(); checkedTreeNode.Tag = this.BindingNodeState(snapShotStatData, this.getTreeNodeFailReason(checkedTreeNode.Text), checkedTreeNode, checkedTreeNode.Text); } return (List<DisplayUser>) checkedTreeNode.Tag; }
private List<User> FindUserListByReason(SnapShotStatData snapData, FailReason reason, List<User> userList) { Dictionary<FailReason, List<User>> dictionary = new Dictionary<FailReason, List<User>>(); dictionary.Add(FailReason.CallDrop, snapData.OffLineList); dictionary.Add(FailReason.DlRsrpFail, snapData.DlRsrpFailList); dictionary.Add(FailReason.DlRsSinrFail, snapData.DlRsSinrFailList); dictionary.Add(FailReason.UlRsSinrFail, snapData.UlRsSinrFailList); dictionary.Add(FailReason.PuschAndPdschSinrFail, new List<User>()); dictionary.Add(FailReason.Satisfied, snapData.SatisfiedList); dictionary.Add(FailReason.UlRsrpFail, snapData.UlRsrpFailList); if (!dictionary.ContainsKey(reason)) { throw new ArgumentException(GeneralResource.GENERAL_ERROR); } return dictionary[reason]; }
private List<DisplayUser> BindingNodeState(SnapShotStatData snapData, FailReason reason, TreeNode node, string nodeName) { List<DisplayUser> list = new List<DisplayUser>(); List<StaSimuSiteResult> statSimuSiteResultList = snapData.StatSimuSiteResultList; List<User> userList = new List<User>(); List<SymbolElement> list4 = new List<SymbolElement>(); SymbolElement item = new SymbolElement(Color.Green); list4.Add(item); item = new SymbolElement(Color.Yellow); list4.Add(item); item = new SymbolElement(Color.Pink); list4.Add(item); item = new SymbolElement(Color.DarkRed); list4.Add(item); item = new SymbolElement(Color.OrangeRed); list4.Add(item); item = new SymbolElement(Color.PaleVioletRed); list4.Add(item); item = new SymbolElement(Color.DeepPink); list4.Add(item); item = new SymbolElement(Color.Black); list4.Add(item); item = new SymbolElement(Color.Red); list4.Add(item); userList = this.FindUserListByReason(snapData, reason, userList); foreach (User user in userList) { DisplayUser user2 = new DisplayUser(); StatSimuUserResult userResult = null; StatSimuCarrierResult carrier = null; this.getUserResult(user, snapData, out userResult, out carrier); user2.LTEUser = userResult; user2.SimulationName = node.Parent.Text; user2.SnapShotName = node.Text; user2.SymbolElement = list4[(int) reason]; user2.UserState = nodeName; if (carrier != null) { user2.BestServer = carrier.CarrierName; } else { user2.BestServer = ""; } list.Add(user2); } return list; }