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. } }
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); }