public bool HasConflict(IGroupItem item) { var joint = (GPDistanceJoint)item; return(joint.Body1Id == Body1Id || joint.Body2Id == Body1Id || joint.Body1Id == Body2Id || joint.Body2Id == Body2Id); }
public void SetGroup(IGroupItem node, GroupData group) { var groupGuid = group?.Guid ?? Guid.Empty; if (node.GroupGuid != Guid.Empty) { var oldGroupNodes = GroupItems[groupGuid]; oldGroupNodes.Remove(node); } node.GroupGuid = groupGuid; GroupItems[groupGuid].Add(node); }
private void SelectedModel_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName != "IsSelected") { return; } if (IsGroup) { IGroupItem selectedModel = sender as IGroupItem; if (selectedModel.IsSelected) { selectedModel.ParentGroup.IsSelected = true; if (!IsDefaultSelectAll) { foreach (var item in selectedModel.ParentGroup.Children) { IGroupItem model = item as IGroupItem; if (model == null) { continue; } if (!model.IsSelected) { model.ParentGroup.IsSelected = null; break; } } } } else { selectedModel.ParentGroup.IsSelected = false; foreach (var item in selectedModel.ParentGroup.Children) { IGroupItem model = item as IGroupItem; if (model == null) { continue; } if (model.IsSelected) { model.ParentGroup.IsSelected = null; break; } } } } else { CheckNumber = 0; foreach (var item in this.Items) { if (item is ISelected selected && selected.IsSelected) { CheckNumber++; } } ISelected selectedModel = sender as ISelected; if (selectedModel.IsSelected) { AllChecked = true; if (!IsDefaultSelectAll) { foreach (var item in ItemsSource) { ISelected model = item as ISelected; if (model == null) { continue; } if (!model.IsSelected) { AllChecked = null; break; } } } } else { AllChecked = false; foreach (var item in ItemsSource) { ISelected model = item as ISelected; if (model == null) { continue; } if (model.IsSelected) { AllChecked = null; break; } } } } }
public void Add(IGroupItem item) { mItems.Add(item); }
private bool CreateGroupWbkAndWriteGroupDesc(ExcelApplicationEx excelApp, string wbkTemplateFullPath, string wbkFullPath, ICompDesc compDesc, IGroupItem groupDesc, out string message) { message = null; if (!File.Exists(wbkTemplateFullPath)) { message = $"error in CreateGroupWbkAndWriteGroupDesc: {wbkTemplateFullPath} is not existed"; return(false); } File.Copy(wbkTemplateFullPath, wbkFullPath, true); return(RunWbkOperation <bool>(excelApp, wbkFullPath, false, true, wbk => { try { #region WorkbookDataFileWrapper var dataFileWrapper = new WorkbookDataFileWrapper(compDesc.DestCompFolder); #endregion #region SetupWorksheetHelper var wshHelper = new SetupWorksheetHelper(dataFileWrapper, wbk); wshHelper.CompName = compDesc.Name; wshHelper.MainJudge = compDesc.MainJudge; wshHelper.MainSecretary = compDesc.MainSecretary; wshHelper.Row6 = compDesc.ShowRow6 ? compDesc.Row6 : null; wshHelper.StartCompDate = groupDesc.StartDate; wshHelper.EndCompDate = groupDesc.EndDate; wshHelper.StartGroupYear = groupDesc.StartYear; wshHelper.EndGroupYear = groupDesc.EndYear; #endregion string errorMessage; if (!dataFileWrapper.Save(out errorMessage)) { return new RunWbkActionResult <bool>(false, errorMessage); } #region Заполняем FLAGS var flagsHelper = new WorkbookFlagsWrapper() { Value = wshHelper.FLAGS }; flagsHelper.SetFlagsByCompDates(groupDesc.StartDate, groupDesc.EndDate); flagsHelper.SecondColNameType = compDesc.SecondColNameType; flagsHelper.ShowRow6 = compDesc.ShowRow6; lock (DBManagerApp.m_AppSettings.m_SettingsSyncObj) { var availableGroupName = DBManagerApp .m_AppSettings .m_Settings .AvailableGroupNames .First(arg => string.Compare(arg.GroupName, groupDesc.Name, true) == 0); flagsHelper.Sex = availableGroupName.Sex; flagsHelper.GroupYearsAreNeeded = availableGroupName.YearsRangeCanBeSet; flagsHelper.GroupIndexValue = availableGroupName.ValueInWbkFlags; } flagsHelper.WorkbookIsOpenedFirstTime = false; wshHelper.FLAGS = flagsHelper.Value; #endregion wshHelper.SaveAllFlags(); wbk.Save(); wshHelper.SendRequestToFillWbkBasedOnSetupSheet(); return new RunWbkActionResult <bool>(true); } catch (Exception ex) { return new RunWbkActionResult <bool>(false, $"exception in CreateGroupWbkAndWriteGroupDesc: {ex.Message}"); } }, out message)); }