コード例 #1
0
        public bool HasConflict(IGroupItem item)
        {
            var joint = (GPDistanceJoint)item;

            return(joint.Body1Id == Body1Id ||
                   joint.Body2Id == Body1Id ||
                   joint.Body1Id == Body2Id ||
                   joint.Body2Id == Body2Id);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: ListBoxExtend.cs プロジェクト: litfung/CarefulDemo
 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;
                 }
             }
         }
     }
 }
コード例 #4
0
 public void Add(IGroupItem item)
 {
     mItems.Add(item);
 }
コード例 #5
0
        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));
        }