Exemplo n.º 1
0
        public FeatureSerializable GetSelectedFeatureCommonShallowCopy(string FileType, string FileName, string T4Template)
        {
            FeatureSerializable result = null;

            if (SelectedFeature == null)
            {
                return(result);
            }
            result = SelectedFeature.FeatureContextSerializableGetShallowCopy();

            CommonStaffSerializable commonStaffItem =
                result.CommonStaffs.Where(c => c.FileType == FileType).FirstOrDefault();

            if (commonStaffItem == null)
            {
                result.CommonStaffs.Add(
                    commonStaffItem = new CommonStaffSerializable()
                {
                    FileType = FileType
                });
            }
            commonStaffItem.FileName    = FileName;
            commonStaffItem.FileProject = this.DestinationProjectName;
            commonStaffItem.FileDefaultProjectNameSpace = this.DefaultProjectNameSpace;
            commonStaffItem.FileFolder = this.DestinationFolder;
            commonStaffItem.T4Template = T4Template;
            return(result);
        }
Exemplo n.º 2
0
        public void OnSelectedModelChanged()
        {
            //UpdateFoldersList();
            if (string.IsNullOrEmpty(_T4SelectedFolder) || (SelectedModel == null))
            {
                FileName   = "";
                WebAddress = null;
                CheckIsReady();
                return;
            }
            bool isFileNameChanged = false;

            if (SelectedModel.CommonStaffs != null)
            {
                CommonStaffSerializable commonStaffSerializable =
                    SelectedModel.CommonStaffs.Where(c => c.FileType == _T4SelectedFolder).FirstOrDefault();
                if (commonStaffSerializable != null)
                {
                    FileName          = commonStaffSerializable.FileName;
                    isFileNameChanged = true;
                }
            }
            string locFileName = null;

            if (!isFileNameChanged)
            {
                if (SelectedModel.ViewName == ContextItemViewName)
                {
                    locFileName =
                        TrimPrefix(Path.GetFileNameWithoutExtension(T4SelectedFolder));
                }
                else
                {
                    locFileName =
                        SelectedModel.ViewName + TrimPrefix(Path.GetFileNameWithoutExtension(T4SelectedFolder));
                }
                // FileName = GetHyphenedName(locFileName);
                FileName = locFileName;
            }
            locFileName = null;
            string[] files = Directory.GetFiles(Path.Combine(_T4RootFolder, T4SelectedFolder), "*.html");
            if (files != null)
            {
                if (files.Length > 0)
                {
                    locFileName = "file:///" + Path.GetFullPath(files[0]).Replace("\\", "/");
                }
            }
            WebAddress = locFileName;

            CheckIsReady();
        }
Exemplo n.º 3
0
        public override void SaveBtnCommandAction(Object param)
        {
            DbContextSerializable localDbContext        = (CreateWebApiUC.DataContext as CreateWebApiViewModel).SerializableDbContext;
            ModelViewSerializable modelViewSerializable = (GenerateUC.DataContext as GenerateCommonStaffViewModel).GeneratedModelView;

            if (modelViewSerializable.ViewName == (CreateWebApiUC.DataContext as CreateWebApiViewModel).ContextItemViewName)
            {
                localDbContext.CommonStaffs = modelViewSerializable.CommonStaffs;
                if ((SelectFolderUC.DataContext as SelectFolderViewModel).SelectedModel != null)
                {
                    (SelectFolderUC.DataContext as SelectFolderViewModel).SelectedModel.CommonStaffs = localDbContext.CommonStaffs;
                }
                if (localDbContext.CommonStaffs != null)
                {
                    CommonStaffSerializable commonStaffSerializable = localDbContext.CommonStaffs
                                                                      .Where(c => c.FileType == (SelectFolderUC.DataContext as SelectFolderViewModel).T4SelectedFolder)
                                                                      .FirstOrDefault();
                    if (commonStaffSerializable != null)
                    {
                        commonStaffSerializable.Extension =
                            (GenerateUC.DataContext as GenerateCommonStaffViewModel).FileExtension;
                    }
                }
            }
            else
            {
                ModelViewSerializable existedModelViewSerializable =
                    localDbContext.ModelViews.FirstOrDefault(mv => mv.ViewName == modelViewSerializable.ViewName);
                if (modelViewSerializable.CommonStaffs != null)
                {
                    CommonStaffSerializable commonStaffSerializable =
                        modelViewSerializable.CommonStaffs
                        .Where(c => c.FileType == (SelectFolderUC.DataContext as SelectFolderViewModel).T4SelectedFolder)
                        .FirstOrDefault();
                    if (commonStaffSerializable != null)
                    {
                        commonStaffSerializable.Extension =
                            (GenerateUC.DataContext as GenerateCommonStaffViewModel).FileExtension;
                    }
                }

                if (existedModelViewSerializable != null)
                {
                    existedModelViewSerializable.ScalarProperties = modelViewSerializable.ScalarProperties;
                    existedModelViewSerializable.CommonStaffs     = modelViewSerializable.CommonStaffs;
                    existedModelViewSerializable.UIFormProperties = modelViewSerializable.UIFormProperties;
                    existedModelViewSerializable.UIListProperties = modelViewSerializable.UIListProperties;
                }
                else
                {
                    localDbContext.ModelViews.Add(modelViewSerializable);
                }
            }
            (SelectFolderUC.DataContext as SelectFolderViewModel).OnCreatedActionsChanged();
            string projectName = "";

            if ((CreateWebApiUC.DataContext as CreateWebApiViewModel).SelectedDbContext.CodeElementRef != null)
            {
                if ((CreateWebApiUC.DataContext as CreateWebApiViewModel).SelectedDbContext.CodeElementRef.ProjectItem != null)
                {
                    projectName =
                        (CreateWebApiUC.DataContext as CreateWebApiViewModel).SelectedDbContext.CodeElementRef.ProjectItem.ContainingProject.UniqueName;
                }
            }
            if (!string.IsNullOrEmpty(projectName))
            {
                string locFileName = Path.Combine(projectName, (CreateWebApiUC.DataContext as CreateWebApiViewModel).SelectedDbContext.CodeElementFullName, JsonExtension);
                locFileName       = locFileName.Replace("\\", ".");
                SolutionDirectory = System.IO.Path.GetDirectoryName(Dte.Solution.FullName);
                locFileName       = Path.Combine(SolutionDirectory, locFileName);
                string jsonString = JsonConvert.SerializeObject(localDbContext);
                File.WriteAllText(locFileName, jsonString);
            }

            try
            {
                // insert code here

                SolutionDirectory = System.IO.Path.GetDirectoryName(Dte.Solution.FullName);
                string FlNm = Path.Combine(
                    //SolutionDirectory,
                    //Path.GetDirectoryName((CreateWebApiUC.DataContext as CreateWebApiViewModel).DestinationProject),
                    (InvitationUC.DataContext as InvitationViewModel).DestinationProjectRootFolder,
                    (CreateWebApiUC.DataContext as CreateWebApiViewModel).DestinationFolder,
                    (SelectFolderUC.DataContext as SelectFolderViewModel).FileName
                    + (GenerateUC.DataContext as GenerateCommonStaffViewModel).FileExtension);
                File.WriteAllText(FlNm, (GenerateUC.DataContext as GenerateCommonStaffViewModel).GenerateText);
                DestinationProject.ProjectItems.AddFromFile(FlNm);
                MessageBox.Show(SuccessNotification, "Done", MessageBoxButton.OK, MessageBoxImage.Information);
            }
            catch (Exception e)
            {
                MessageBox.Show("Error: " + e.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Exemplo n.º 4
0
        public static void UpdateDbContext(DTE2 Dte, Project DestinationProject, SolutionCodeElement SelectedDbContext, DbContextSerializable dbContextSerializable, ModelViewSerializable modelViewSerializable,
                                           string ContextItemViewName, string T4SelectedFolder,
                                           string DestinationProjectRootFolder,
                                           string DestinationFolder,
                                           string DestinationSubFolder,
                                           string FileName, string FileExtension,
                                           string GenerateText)
        {
            Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread();
            if (modelViewSerializable.ViewName == ContextItemViewName)
            {
                dbContextSerializable.CommonStaffs = modelViewSerializable.CommonStaffs;
                if (dbContextSerializable.CommonStaffs == null)
                {
                    dbContextSerializable.CommonStaffs = new List <CommonStaffSerializable>();
                }
                CommonStaffSerializable commonStaffSerializable = dbContextSerializable.CommonStaffs
                                                                  .Where(c => c.FileType == T4SelectedFolder)
                                                                  .FirstOrDefault();
                if (commonStaffSerializable != null)
                {
                    commonStaffSerializable.Extension = FileExtension;
                }
            }
            else
            {
                ModelViewSerializable existedModelViewSerializable =
                    dbContextSerializable.ModelViews.FirstOrDefault(mv => mv.ViewName == modelViewSerializable.ViewName);
                if (modelViewSerializable.CommonStaffs != null)
                {
                    CommonStaffSerializable commonStaffSerializable =
                        modelViewSerializable.CommonStaffs
                        .Where(c => c.FileType == T4SelectedFolder)
                        .FirstOrDefault();
                    if (commonStaffSerializable != null)
                    {
                        commonStaffSerializable.Extension = FileExtension;
                    }
                }
                if (existedModelViewSerializable != null)
                {
                    existedModelViewSerializable.CommonStaffs     = modelViewSerializable.CommonStaffs;
                    existedModelViewSerializable.UIFormProperties = modelViewSerializable.UIFormProperties;
                    existedModelViewSerializable.UIListProperties = modelViewSerializable.UIListProperties;
                }
                else
                {
                    dbContextSerializable.ModelViews.Add(modelViewSerializable);
                }
            }
            string projectName = "";

            if (SelectedDbContext.CodeElementRef != null)
            {
                if (SelectedDbContext.CodeElementRef.ProjectItem != null)
                {
                    projectName =
                        SelectedDbContext.CodeElementRef.ProjectItem.ContainingProject.UniqueName;
                }
            }
            string SolutionDirectory = System.IO.Path.GetDirectoryName(Dte.Solution.FullName);

            if (!string.IsNullOrEmpty(projectName))
            {
                string locFileName = Path.Combine(projectName, SelectedDbContext.CodeElementFullName, "json");
                locFileName = locFileName.Replace("\\", ".");
                locFileName = Path.Combine(SolutionDirectory, locFileName);
                string jsonString = JsonConvert.SerializeObject(dbContextSerializable);
                File.WriteAllText(locFileName, jsonString);
            }
            string FlNm = "";

            if (string.IsNullOrEmpty(DestinationSubFolder))
            {
                FlNm = Path.Combine(
                    DestinationProjectRootFolder,
                    DestinationFolder);
            }
            else
            {
                FlNm = Path.Combine(
                    DestinationProjectRootFolder,
                    DestinationFolder,
                    DestinationSubFolder);
            }
            System.IO.Directory.CreateDirectory(FlNm);
            FlNm = Path.Combine(FlNm, FileName + FileExtension);
            File.WriteAllText(FlNm, GenerateText);
            DestinationProject.ProjectItems.AddFromFile(FlNm);
        }
Exemplo n.º 5
0
        public static ModelViewSerializable GetSelectedModelCommonShallowCopy(ModelViewSerializable SelectedModel,
                                                                              ObservableCollection <ModelViewUIFormProperty> UIFormProperties,
                                                                              ObservableCollection <ModelViewUIListProperty> UIListProperties,
                                                                              string DestinationProject, string DefaultProjectNameSpace, string DestinationFolder, string DestinationSubFolder,
                                                                              string FileType, string FileName)
        {
            ModelViewSerializable result = SelectedModel.ModelViewSerializableGetShallowCopy();

            if (result.CommonStaffs == null)
            {
                result.CommonStaffs = new List <CommonStaffSerializable>();
            }
            else
            {
                result.CommonStaffs = new List <CommonStaffSerializable>();
                SelectedModel.CommonStaffs.ForEach(c => result.CommonStaffs.Add(new CommonStaffSerializable()
                {
                    Extension   = c.Extension,
                    FileType    = c.FileType,
                    FileName    = c.FileName,
                    FileProject = c.FileProject,
                    FileDefaultProjectNameSpace = c.FileDefaultProjectNameSpace,
                    FileFolder = c.FileFolder,
                    //FileTypeData = c.FileTypeData
                }));
            }
            CommonStaffSerializable commonStaffItem =
                result.CommonStaffs.Where(c => c.FileType == FileType).FirstOrDefault();

            if (commonStaffItem == null)
            {
                result.CommonStaffs.Add(
                    commonStaffItem = new CommonStaffSerializable()
                {
                    FileType = FileType
                });
            }
            commonStaffItem.FileName    = FileName;
            commonStaffItem.FileProject = DestinationProject;
            commonStaffItem.FileDefaultProjectNameSpace = DefaultProjectNameSpace;
            if (string.IsNullOrEmpty(DestinationSubFolder))
            {
                commonStaffItem.FileFolder = DestinationFolder;
            }
            else
            {
                commonStaffItem.FileFolder = Path.Combine(DestinationFolder, DestinationSubFolder);
            }


            if (UIFormProperties != null)
            {
                result.UIFormProperties = new List <ModelViewUIFormPropertySerializable>();
                foreach (ModelViewUIFormProperty srcProp in UIFormProperties)
                {
                    result.UIFormProperties.Add(srcProp.ModelViewUIFormPropertyAssignTo(new ModelViewUIFormPropertySerializable()));
                }
            }
            if (result.UIFormProperties == null)
            {
                result.UIFormProperties = new List <ModelViewUIFormPropertySerializable>();
            }


            if (UIListProperties != null)
            {
                result.UIListProperties = new List <ModelViewUIListPropertySerializable>();
                foreach (ModelViewUIListProperty srcProp in UIListProperties)
                {
                    result.UIListProperties.Add(srcProp.ModelViewUIListPropertyAssignTo(new ModelViewUIListPropertySerializable()));
                }
            }
            if (result.UIListProperties == null)
            {
                result.UIListProperties = new List <ModelViewUIListPropertySerializable>();
            }

            return(result);
        }