Пример #1
0
        private void AddSolutionComponentToMergedSolution(
            SolutionComponentBase component,
            List <MergedInSolutionComponent> mergedComponents)
        {
            MergedInSolutionComponent newItem          = new MergedInSolutionComponent(component);
            MergedInSolutionComponent reasonWhyIsNotIn = null;

            newItem.IsIn = true;
            if (newItem.IsChild && newItem.ParentSolutionComponent == null)
            {
                newItem.ReasonWhyIsNot = MergedInSolutionComponent.ReasonWhyIsNotType.ParentIsNot;
                newItem.IsIn           = false;
            }
            else
            {
                reasonWhyIsNotIn = GetReasonWhyIsNotIn(component, mergedComponents);
            }
            if (reasonWhyIsNotIn != null)
            {
                newItem.IsIn = false;
                newItem.RemovedByComponent = reasonWhyIsNotIn;
                newItem.ReasonWhyIsNot     = MergedInSolutionComponent.ReasonWhyIsNotType.OverComponent;
                reasonWhyIsNotIn.HasRemovedComponents.Add(newItem);
            }
            mergedComponents.Add(newItem);
        }
Пример #2
0
 public ComponentLayersManager(
     IOrganizationService service,
     CrmConnection currentCrmConnection,
     SolutionManager solutionManager,
     List <Setting> settings,
     MergedInSolutionComponent component)
 {
     InitializeComponent();
     this._viewModel = LayoutRoot.Resources["viewModel"] as ComponentLayersManagerViewModel;
     _viewModel.Initialize(this, service, currentCrmConnection, solutionManager, settings, component);
 }
Пример #3
0
 private void SolutionComponentsList_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     SolutionComponentsList.UpdateLayout();
     if (e.AddedItems.Count == 1)
     {
         MergedInSolutionComponent item = e.AddedItems[0] as MergedInSolutionComponent;
         var listViewItem =
             SolutionComponentsList.ItemContainerGenerator.ContainerFromItem(item) as ListViewItem;
         listViewItem.Focus();
     }
 }
Пример #4
0
 public void Initialize(
     Window window,
     IOrganizationService service,
     CrmConnection crmConnection,
     SolutionManager solutionManager,
     List <Setting> settings,
     MergedInSolutionComponent component)
 {
     this._window = window;
     this.CurrentSolutionManager   = solutionManager;
     this.CurrentSolutionComponent = component;
     RegisterCommands();
 }
Пример #5
0
 private MergedInSolutionComponent GetReasonWhyIsNotIn(
     SolutionComponentBase component,
     List <MergedInSolutionComponent> mergedComponents)
 {
     if (component.Type == SolutionComponentType.Entity &&
         component.RootComponentBehavior != null)
     {
         MergedInSolutionComponent sameObjectId =
             mergedComponents.FirstOrDefault(k =>
                                             k.ObjectId == component.ObjectId &&
                                             component.RootComponentBehavior.Value > k.RootComponentBehavior.Value);
         return(sameObjectId);
     }
     else if (component.IsChild)
     {
         MergedInSolutionComponent sameObjectId =
             mergedComponents.FirstOrDefault(k => k.ObjectId == component.ObjectId);
         if (sameObjectId == null)
         {
             var parentComponent =
                 mergedComponents
                 .FirstOrDefault(k => k.Id == component.ParentSolutionComponent?.Id);
             if (parentComponent != null)
             {
                 if (!parentComponent.IsIn)
                 {
                     return(parentComponent.RemovedByComponent);
                 }
                 return(null);
             }
             return(null);
         }
         return(sameObjectId);
     }
     return(null);
 }
Пример #6
0
 private void SetSolutionComponent(MergedInSolutionComponent component)
 {
     _viewModel.Component = component;
 }