Beispiel #1
0
        private void btnDone_Click(object sender, EventArgs e)
        {
            try
            {
                EFServerTools.Design.MetadataProvider aMetadataProvider = new EFServerTools.Design.MetadataProvider(System.IO.Path.GetDirectoryName(GlobalProject.FullName), GlobalProject.Name);
                for (int i = 0; i < FServerData.Datasets.Count; i++)
                {
                    TWCFDatasetItem DatasetItem = FServerData.Datasets[i] as TWCFDatasetItem;
                    String strEntityTypeName = aMetadataProvider.GetEntitySetType(DatasetItem.ContainerName, DatasetItem.TableName);
                    List<string> lPropertyNames = aMetadataProvider.GetPropertyNames(DatasetItem.ContainerName, strEntityTypeName);
                    for (int l = 0; l < lPropertyNames.Count; l++)
                    {
                        bool flag = false;
                        for (int j = 0; j < DatasetItem.FieldAttrItems.Count; j++)
                        {
                            if ((DatasetItem.FieldAttrItems[j] as TFieldAttrItem).DataField == lPropertyNames[l])
                            {
                                flag = true;
                                break;
                            }
                        }
                        if (!flag)
                            aMetadataProvider.RemoveProperty(DatasetItem.ContainerName, strEntityTypeName, lPropertyNames[l]);
                    }

                }
                aMetadataProvider.Save();

                String strOldName = String.Empty;
                foreach (ProjectItem pi in GlobalProject.ProjectItems)
                {
                    if (pi.Name.EndsWith("edmx"))
                    {
                        strOldName = pi.Name;
                        File.Copy(FServerData.CodeOutputPath + "\\" + FServerData.PackageName + "\\" + strOldName,
                            FServerData.CodeOutputPath + "\\" + FServerData.PackageName + "\\" + GlobalProject.Name + "_infolightTemp.edmx");
                        pi.Delete();
                        GlobalProject.Save();
                        GlobalProject.ProjectItems.AddFromTemplate(FServerData.CodeOutputPath + "\\" + FServerData.PackageName + "\\" + GlobalProject.Name + "_infolightTemp.edmx",
                            FServerData.CodeOutputPath + "\\" + FServerData.PackageName + "\\" + strOldName);
                        GlobalProject.Save();
                        File.Delete(FServerData.CodeOutputPath + "\\" + FServerData.PackageName + "\\" + GlobalProject.Name + "_infolightTemp.edmx");
                        break;
                    }
                }

                if (FServerData.AssemblyOutputPath != null && FServerData.AssemblyOutputPath != "")
                    GlobalProject.ConfigurationManager.ActiveConfiguration.Properties.Item("OutputPath").Value = FServerData.AssemblyOutputPath;

                //foreach (ProjectItem pi in GlobalProject.ProjectItems)
                //{
                //    if (pi.Name.EndsWith("edmx"))
                //    {
                //        pi.Open("{00000000-0000-0000-0000-000000000000}");
                //        break;
                //    }
                //}

                Hide();
                FDTE2.MainWindow.Activate();
                TWCFServerGenerator SG = new TWCFServerGenerator(FServerData, FDTE2, FAddIn, GlobalProject);
                SG.GenServerModule();
            }
            catch (Exception ex)
            {
                WzdUtils.Application_ThreadException(null, new ThreadExceptionEventArgs(ex));
                return;
            }
        }
Beispiel #2
0
 public void SDGenServerModule(string XML)
 {
     if (XML != "")
     {
         FServerData.Datasets.Clear();
         FServerData.LoadFromXML(XML);
     }
     TWCFServerGenerator SG = new TWCFServerGenerator(FServerData, FDTE2, FAddIn, GlobalProject);
     SG.GenServerModule();
 }