public void Save()
        {
            foreach (var Item in DAL.DAL.GetAllEntitySet())
            {
                IDataSourceManager DomainDataSourceManager = new RadGridDataFormDomainDataSourceManager((Item as EntitySet).EntityTypeName, (Item as EntitySet).EntitySetName);
                TelerikGrid        tg = new TelerikGrid((Item as EntitySet).EntityTypeName, (Item as EntitySet).EntitySetName, (Item as EntitySet).EntityMetaData, ref DomainDataSourceManager);
                tg.CreateGridFromMetaData();
                string GridVisibilityBind = string.Empty;
                GridVisibilityBind = string.Format(GridColumnVisibilityBindingTemplate, tg.GridName);
                TelerikDataForm dft = new TelerikDataForm((Item as EntitySet).EntityTypeName, (Item as EntitySet).EntitySetName, (Item as EntitySet).EntityMetaData, ref DomainDataSourceManager);
                dft.CreateDataFormFromMetaData();

                string       DataSourceAction = string.Format(ActionEvent, tg.DataSourceName, tg.GridName, (Item as EntitySet).EntityTypeName);
                StreamWriter outfile          = new StreamWriter(new FileStream(GlobalGeneratorSettings.SavePath + (Item as EntitySet).EntityTypeName + formPostFixName, FileMode.Create), Encoding.UTF8);
                string       NameSpace        = DomainDataSourceManager.GetDataSourceNameSpace();
                string       gridxaml         = DomainDataSourceManager.GetDataSourceXaml() + tg.XamlCode;

                string dataformXaml = dft.XamlCode;

                outfile.Write(string.Format(templateNew, GlobalGeneratorSettings.SilverlightProjectName, (Item as EntitySet).EntityTypeName + classPostFixName, NameSpace, gridxaml, dataformXaml));
                outfile.Flush();

                outfile = new StreamWriter(new FileStream(GlobalGeneratorSettings.SavePath + (Item as EntitySet).EntityTypeName + formPostFixName + ".cs", FileMode.Create), Encoding.UTF8);
                outfile.Write(string.Format(CodeBehind, GlobalGeneratorSettings.SilverlightProjectName, (Item as EntitySet).EntityTypeName + classPostFixName, OnNavigatedToTemplate + DataSourceAction + dft.CodeBehindMethods, GridVisibilityBind));
                outfile.Flush();
                //Console.WriteLine(DomainDataSourceManager.GetDataSourceXaml() + tg.XamlCode + dft.XamlCode);
                //--- save these 3 objects xamls to files.
            }
        }
Exemple #2
0
        public void Save()
        {
            foreach (var Item in DAL.DAL.GetAllEntitySet())
            {
                IDataSourceManager DomainDataSourceManager = new RadMasterDetailsGridDomainDataSourceManager((Item as EntitySet).EntityTypeName, (Item as EntitySet).EntitySetName);
                TelerikGrid        tg = new TelerikGrid((Item as EntitySet).EntityTypeName, (Item as EntitySet).EntitySetName, (Item as EntitySet).EntityMetaData, ref DomainDataSourceManager);
                tg.CreateGridFromMetaData();
                string GridVisiblityBind = string.Empty;
                if (!tg.NeedDetailsGrid)
                {
                    continue;
                }
                GridVisiblityBind += string.Format(GridColumnVisibilityBindingTemplate, tg.GridName, 0);
                //Console.WriteLine((Item as EntitySet).EntityTypeName);
                DomainDataSourceManager.SetMasterEntitySetTypeName((Item as EntitySet).EntityTypeName);
                var       ChildEntitySets = DAL.DAL.GetChildEntitySet(Item as EntitySet);
                ArrayList DetailsGrids    = new ArrayList();
                int       i = 1;
                string    DataSourceAction = "\n#region DataSource Actions\n//-----------------------Save Delete And New Actions-----------------------------\n"
                                             + string.Format(ActionEvent, tg.DataSourceName, tg.GridName, (Item as EntitySet).EntityTypeName);
                foreach (var ChildEntity in ChildEntitySets)
                {
                    // Console.WriteLine((ChildEntity as EntitySet).EntityTypeName);
                    EntitySet ChildEntitySet = ChildEntity as EntitySet;
                    DomainDataSourceManager.UpdateEntityInfo(ChildEntitySet.EntityTypeName, ChildEntitySet.EntitySetName);

                    TelerikGrid dtg = new TelerikGrid(ChildEntitySet.EntityTypeName, ChildEntitySet.EntitySetName, ChildEntitySet.EntityMetaData, ref DomainDataSourceManager, TelerikGrid.GridTypes.Details, tg.GridName, tg.ChildBindingPath, tg.ParameterName);
                    dtg.CreateGridFromMetaData();
                    DetailsGrids.Add(dtg);
                    GridVisiblityBind += string.Format(GridColumnVisibilityBindingTemplate, dtg.GridName, i);
                    DataSourceAction  += string.Format(ActionEvent, dtg.DataSourceName, dtg.GridName, ChildEntitySet.EntityTypeName);
                    i++;
                }
                //Console.WriteLine("Next");
                //TelerikDataForm dft = new TelerikDataForm((Item as EntitySet).EntityTypeName, (Item as EntitySet).EntitySetName, (Item as EntitySet).EntityMetaData, ref DomainDataSourceManager);
                DataSourceAction += "#endregion//----------------------------------------------------------------------\n";


                //--- save these 3 objects xamls to files.

                StreamWriter outfile   = new StreamWriter(GlobalGeneratorSettings.SavePath + (Item as EntitySet).EntityTypeName + formPostFixName);
                string       NameSpace = DomainDataSourceManager.GetDataSourceNameSpace();
                string       gridxaml  = DomainDataSourceManager.GetDataSourceXaml() + tg.XamlCode;

                string detailsXaml       = string.Empty;
                string detailsCodeBehind = string.Empty;
                foreach (var it in DetailsGrids)
                {
                    detailsXaml       += (it as TelerikGrid).XamlCode;
                    detailsCodeBehind += (it as TelerikGrid).CodeBehindMethods;
                }


                outfile.Write(string.Format(templateNew, GlobalGeneratorSettings.SilverlightProjectName, (Item as EntitySet).EntityTypeName + classPostFixName, NameSpace, gridxaml, detailsXaml));
                outfile.Flush();

                outfile = new StreamWriter(GlobalGeneratorSettings.SavePath + (Item as EntitySet).EntityTypeName + formPostFixName + ".cs");
                outfile.Write(string.Format(CodeBehind, GlobalGeneratorSettings.SilverlightProjectName, (Item as EntitySet).EntityTypeName + classPostFixName, OnNavigatedToTemplate + DataSourceAction + detailsCodeBehind, GridVisiblityBind));
                outfile.Flush();
            }
            DAL.DAL.GenerateParentChildLoadQueries(GlobalGeneratorSettings.SavePath);
        }