private void EditItem(ItemPropertyMapping itemPropertyMapping, FolderSetting folderSetting)
        {
            ContentType selectedContentType = null;

            if (folderSetting.Folder != null)
            {
                //SiteSetting siteSetting = this.SiteSettings[folderSetting.Folder.SiteSettingID];//JD
                ISiteSetting       siteSetting    = ConfigurationManager.GetInstance().GetSiteSetting(folderSetting.Folder.SiteSettingID);
                IServiceManager    serviceManager = ServiceManagerFactory.GetServiceManager(siteSetting.SiteSettingType);
                List <ContentType> contentTypes   = serviceManager.GetContentTypes(siteSetting, folderSetting.Folder, false);

                selectedContentType = contentTypes.Single(t => t.ID.Equals(itemPropertyMapping.ContentTypeID));
            }

            ItemPropertyMappingForm itemPropertyMappingForm = new ItemPropertyMappingForm();

            itemPropertyMappingForm.Initialize(ApplicationContext.Current.GetApplicationFields(null), selectedContentType, itemPropertyMapping.ApplicationPropertyName, itemPropertyMapping.ServicePropertyName);

            if (itemPropertyMappingForm.ShowDialog(this.ParentWindow, Languages.Translate("Add Mapping"), 200, 300) == true)
            {
                itemPropertyMapping.ApplicationPropertyName = itemPropertyMappingForm.SelectedApplicationPropertyID;
                itemPropertyMapping.ServicePropertyName     = itemPropertyMappingForm.SelectedServicePropertyID;
                this.RefreshMappingListView();
            }
        }
        private void AddButton_Click(object sender, RoutedEventArgs e)
        {
            ContentType selectedContentType;

            if (GeneralLocationTypeRadioButton.IsChecked == true)
            {
                selectedContentType = null;
            }
            else
            {
                selectedContentType = ContentTypeComboBox.SelectedValue as ContentType;
                if (selectedContentType == null)
                {
                    MessageBox.Show(Languages.Translate("Please select a content type or use general location instead of specific"));
                }
            }

            ItemPropertyMappingForm itemPropertyMapping = new ItemPropertyMappingForm();

            itemPropertyMapping.Initialize(ConfigurationManager.GetInstance().GetApplicationItemProperties(this.SelectedApplicationType), selectedContentType);

            if (itemPropertyMapping.ShowDialog(this.ParentWindow, Languages.Translate("Add Mapping"), 300, 350) == true)
            {
                ItemPropertyMapping newItemPropertyMapping = new ItemPropertyMapping();
                newItemPropertyMapping.ID = Guid.NewGuid();
                if (selectedContentType != null)
                {
                    newItemPropertyMapping.ContentTypeID = selectedContentType.ID;
                }

                newItemPropertyMapping.ApplicationPropertyName = itemPropertyMapping.SelectedApplicationPropertyID;
                newItemPropertyMapping.ServicePropertyName     = itemPropertyMapping.SelectedServicePropertyID;

                FolderSetting folderSetting;
                if (this.SelectedFolder == null)
                {
                    folderSetting = this.FolderSettings.GetDefaultFolderSetting(this.SelectedApplicationType);
                    folderSetting.ItemPropertyMappings.Add(newItemPropertyMapping);
                }
                else
                {
                    folderSetting = this.FolderSettings.GetFolderSetting(this.SelectedApplicationType, this.SelectedFolder);
                    if (folderSetting != null)
                    {
                        folderSetting.ItemPropertyMappings.Add(newItemPropertyMapping);
                    }
                    else
                    {
                        folderSetting = new FolderSetting();
                        folderSetting.ApplicationType       = this.SelectedApplicationType;
                        folderSetting.BasicFolderDefinition = this.SelectedFolder.GetBasicFolderDefinition();
                        folderSetting.Folder = this.SelectedFolder;
                        folderSetting.ItemPropertyMappings.Add(newItemPropertyMapping);
                        this.FolderSettings.Add(folderSetting);
                    }
                }

                this.RefreshMappingListView();
            }
        }
        private void EditButton_Click(object sender, RoutedEventArgs e)
        {
            Guid                id = (Guid)((Button)e.Source).Tag;
            FolderSetting       folderSetting;
            ItemPropertyMapping itemPropertyMapping = this.FolderSettings.GetItemPropertyMapping(id, out folderSetting);

            EditItem(itemPropertyMapping, folderSetting);
        }
        private void MappingsListView_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            ItemPropertyMapping itemPropertyMapping = (ItemPropertyMapping)MappingsListView.SelectedItem;
            FolderSetting       folderSetting;

            itemPropertyMapping = this.FolderSettings.GetItemPropertyMapping(itemPropertyMapping.ID, out folderSetting);

            EditItem(itemPropertyMapping, folderSetting);
        }
Пример #5
0
        public string GetMappedServicePropertyName(ApplicationTypes applicationType, string url, string applicationPropertyName, string contentTypeID)
        {
            FolderSetting folderSetting = GetFolderSettings(applicationType)[url];

            if (folderSetting == null)
            {
                return(String.Empty);
            }
            ItemPropertyMapping itemPropertyMapping = folderSetting.ItemPropertyMappings.SingleOrDefault(em => em.ContentTypeID.Equals(contentTypeID, StringComparison.InvariantCultureIgnoreCase) && em.ApplicationPropertyName.Equals(applicationPropertyName, StringComparison.InvariantCultureIgnoreCase) && string.IsNullOrEmpty(em.ServicePropertyName) == false);

            if (itemPropertyMapping != null)
            {
                return(itemPropertyMapping.ServicePropertyName);
            }
            return(String.Empty);
        }
Пример #6
0
        private void setContentType(ContentType contentType)
        {
            IServiceManager serviceManager = ServiceManagerFactory.GetServiceManager(_siteSetting.SiteSettingType);

            string[] folderFieldInLimitedView = new string[] { "FileLeafRef" };

            double height = 10;

            fieldRequiredPresnet = false;
            FieldMappingsStackPanel.Children.Clear();

            //Get default mappings
            ItemPropertyMappings itemPropertyMappings = null;

            if (_folderSettings != null)
            {
                itemPropertyMappings = _folderSettings.GetItemPropertyMappings(contentType.ID);
            }

            List <Field> filtredField = contentType.Fields;

            if (_siteSetting.limitFolderEditableProperties & isFolder)
            {
                filtredField = contentType.Fields.Where(f => folderFieldInLimitedView.Contains(f.Name)).ToList();
            }

            foreach (Field field in filtredField)
            {
                if (!_displayFileName && field.Name == "FileLeafRef")
                {
                    continue;
                }

                Label label = new Label()
                {
                    Content = field.DisplayName.removeTextInsideParenthesis()
                };


                label.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
                label.VerticalAlignment   = System.Windows.VerticalAlignment.Top;
                if (field.Required && !field.ReadOnly)
                {
                    label.Foreground     = new SolidColorBrush(Colors.Red);
                    label.Content       += "*";
                    fieldRequiredPresnet = true;
                }

                label.Margin = new Thickness(0, height, 5, 0);
                FieldMappingsStackPanel.Children.Add(label);

                //if (field.ReadOnly == false)
                //{
                EditItemControl editItemControl = EditItemManager.GetEditItemControl(_webURL, field, null, contentType, _siteSetting, _rootFolder);

                editItemControl.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
                editItemControl.VerticalAlignment   = System.Windows.VerticalAlignment.Top;
                editItemControl.Margin = new Thickness(160, height, 0, 0);//



                FieldMappingsStackPanel.Children.Add(editItemControl);
                if (_properties != null && _properties.Count > 0)
                {
                    //Set default mapping value
                    ApplicationItemProperty defaultApplicationItemProperty = null;
                    if (itemPropertyMappings != null)
                    {
                        ItemPropertyMapping mapping = itemPropertyMappings.Where(m => m.ServicePropertyName == field.Name).FirstOrDefault();
                        if (mapping != null)
                        {
                            defaultApplicationItemProperty = _properties.Where(p => p.Name == mapping.ApplicationPropertyName).FirstOrDefault();
                            editItemControl.IsEnabled      = false;
                        }
                        else
                        {
                            mapping = _defaultFolderSetting.ItemPropertyMappings.Where(m => m.ServicePropertyName == field.Name).FirstOrDefault();
                            if (mapping != null)
                            {
                                defaultApplicationItemProperty = _properties.Where(p => p.Name == mapping.ApplicationPropertyName).FirstOrDefault();
                                editItemControl.IsEnabled      = false;
                            }
                        }
                    }

                    EditItems.FieldMappingControl fieldMappingControl = new EditItems.FieldMappingControl(_properties, field, defaultApplicationItemProperty);
                    fieldMappingControl.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
                    fieldMappingControl.VerticalAlignment   = System.Windows.VerticalAlignment.Top;
                    fieldMappingControl.Margin = new Thickness(350, height, 0, 0);

                    FieldMappingsStackPanel.Children.Add(fieldMappingControl);
                }

                height = height + editItemControl.GetHeight() + 5;

                if (_defaultValues != null)
                {
                    object[] args = { serviceManager, field, editItemControl };
                    Dispatcher.BeginInvoke(new setDefaultValuesDelegate(setDefaultValues), args);
                }


                //}
            }

            labelfieldRequired.Visibility = fieldRequiredPresnet ? Visibility.Visible : Visibility.Hidden;
        }