Ejemplo n.º 1
0
        /// <exclude />
        public static void SetCustomForm(DataTypeDescriptor dataTypeDescriptor, string newFormMarkup)
        {
            string dynamicDataFormFolderPath = GetFolderPath(dataTypeDescriptor.Namespace);
            string dynamicDataFormFileName   = GetFilename(dataTypeDescriptor.Name);

            // Parsing for assertion
            XDocument.Parse(newFormMarkup);

            IDynamicTypeFormDefinitionFile formDefinitionFile =
                DataFacade.GetData <IDynamicTypeFormDefinitionFile>()
                .FirstOrDefault(f => f.FolderPath.Equals(dynamicDataFormFolderPath, StringComparison.OrdinalIgnoreCase) &&
                                f.FileName.Equals(dynamicDataFormFileName, StringComparison.OrdinalIgnoreCase));

            if (formDefinitionFile == null)
            {
                var newFile = DataFacade.BuildNew <IDynamicTypeFormDefinitionFile>();
                newFile.FolderPath = dynamicDataFormFolderPath;
                newFile.FileName   = dynamicDataFormFileName;
                newFile.SetNewContent(newFormMarkup);
                formDefinitionFile = DataFacade.AddNew <IDynamicTypeFormDefinitionFile>(newFile);
            }
            else
            {
                formDefinitionFile.SetNewContent(newFormMarkup);
                DataFacade.Update(formDefinitionFile);
            }
        }
Ejemplo n.º 2
0
        internal static IFile GetCustomFormMarkupFile(string @namespace, string typeName)
        {
            string dynamicDataFormFolderPath = GetFolderPath(@namespace);
            string dynamicDataFormFileName   = GetFilename(typeName);

            IDynamicTypeFormDefinitionFile formOverride =
                DataFacade.GetData <IDynamicTypeFormDefinitionFile>()
                .FirstOrDefault(f => f.FolderPath.Equals(dynamicDataFormFolderPath, StringComparison.OrdinalIgnoreCase) &&
                                f.FileName.Equals(dynamicDataFormFileName, StringComparison.OrdinalIgnoreCase));

            return(formOverride);
        }