public override object ConvertToStorageType(object value) { var model = value as ModelApplicationBase; if (model != null) { var writer = new ModelXmlWriter(); var serializableDictionary = new SerializableDictionary <string, string>(); serializableDictionary["aspects"] = string.Empty; for (int i = 0; i < model.AspectCount; ++i) { var aspect = model.GetAspect(i); if (string.IsNullOrEmpty(aspect) || aspect == CaptionHelper.DefaultLanguage) { serializableDictionary["DefaultAspect"] = writer.WriteToString(model, i); } else { serializableDictionary["aspects"] += aspect + ","; serializableDictionary[aspect] = writer.WriteToString(model, i); } } serializableDictionary["aspects"] = serializableDictionary["aspects"].TrimEnd(','); var stringWriter = new StringWriter(); serializableDictionary.WriteXml(new XmlTextWriter(stringWriter)); return(stringWriter.GetStringBuilder().ToString()); } return(null); }
public override object ConvertToStorageType(object value) { var model = value as ModelApplicationBase; if (model != null) { var writer = new ModelXmlWriter(); var serializableDictionary = new SerializableDictionary<string, string>(); serializableDictionary["aspects"] = string.Empty; for (int i = 0; i < model.AspectCount; ++i) { var aspect = model.GetAspect(i); if (string.IsNullOrEmpty(aspect) || aspect == CaptionHelper.DefaultLanguage){ serializableDictionary["DefaultAspect"] = writer.WriteToString(model, i); } else{ serializableDictionary["aspects"] += aspect + ","; serializableDictionary[aspect] = writer.WriteToString(model, i); } } serializableDictionary["aspects"] = serializableDictionary["aspects"].TrimEnd(','); var stringWriter = new StringWriter(); serializableDictionary.WriteXml(new XmlTextWriter(stringWriter)); return stringWriter.GetStringBuilder().ToString(); } return null; }
public static void ReadFromModel(this ModelXmlReader modelXmlReader, ModelApplicationBase modelNode, ModelApplicationBase readFrom, Func<string, bool> aspectNamePredicate) { for (int i = 0; i < readFrom.AspectCount; i++) { string aspect = readFrom.GetAspect(i); string xml = new ModelXmlWriter().WriteToString(readFrom, i); if (!(string.IsNullOrEmpty(xml))) new ModelXmlReader().ReadFromString(modelNode, aspect, xml); } }
public static void ReadFromModel(this ModelXmlReader modelXmlReader, ModelApplicationBase modelNode, ModelApplicationBase readFrom, Func <string, bool> aspectNamePredicate) { for (int i = 0; i < readFrom.AspectCount; i++) { string aspect = readFrom.GetAspect(i); string xml = new ModelXmlWriter().WriteToString(readFrom, i); if (!(string.IsNullOrEmpty(xml))) { new ModelXmlReader().ReadFromString(modelNode, aspect, xml); } } }
public string Serialize(object model, ModelFormatting formatting) { using (var buffer = new MemoryStream(1024)) using (var writer = new ModelXmlWriter(buffer, Encoding.UTF8, formatting)) { DataContractSerializer serializer = GetSerializerForType(model.GetType()); writer.WriteStartDocument(); serializer.WriteObject(writer, model); writer.Flush(); return(Encoding.UTF8.GetString(buffer.ToArray())); } }
public static void ReadFromModel(this IModelNode modelNode, IModelNode readFrom) { var modelApplication = (ModelApplicationBase)readFrom.Application; for (var i = 0; i < modelApplication.AspectCount; i++) { var aspect = modelApplication.GetAspect(i); var xml = new ModelXmlWriter().WriteToString(readFrom, i); if (!string.IsNullOrEmpty(xml)) { new ModelXmlReader().ReadFromString(modelNode, aspect, xml); } } }
public void CreateAspectsCore(ModelApplicationBase model) { var modelXmlWriter = new ModelXmlWriter(); for (int i = 0; i < model.AspectCount; i++) { var xml = modelXmlWriter.WriteToString(model, i); string name = GetAspectName(model.GetAspect(i)); AspectObjects.Filter = CriteriaOperator.Parse("Name=?", name); if (AspectObjects.Count == 0) { AspectObjects.Add(new AspectObject(Session) { Name = name }); } AspectObjects[0].Xml = xml; AspectObjects.Filter = null; } }
private void SaveViewDifferences(ModelApplicationBase model) { if (SaveModelDifference.viewId != null) { var xml = new ModelXmlWriter().WriteToString(model, 0); var document = new XmlDocument(); document.LoadXml(xml); var xpath = string.Format("/Application/Views/DetailView[@Id='{0}']", SaveModelDifference.viewId); var viewNode = document.SelectSingleNode(xpath); if (viewNode != null) { var settings = new XmlWriterSettings(); settings.Indent = true; settings.OmitXmlDeclaration = true; var stringBuilder = new System.Text.StringBuilder(); using (var writer = XmlWriter.Create(stringBuilder, settings)) { viewNode.WriteTo(writer); } SaveModelDifference.viewXml = stringBuilder.ToString(); } } }
public void CreateAspectsCore(ModelApplicationBase model) { var modelXmlWriter = new ModelXmlWriter(); for (int i = 0; i < model.AspectCount; i++) { var xml = modelXmlWriter.WriteToString(model, i); string name = GetAspectName(model.GetAspect(i)); AspectObjects.Filter = CriteriaOperator.Parse("Name=?", name); if (AspectObjects.Count == 0) AspectObjects.Add(new AspectObject(Session) { Name = name }); AspectObjects[0].Xml = xml; AspectObjects.Filter = null; } }
private void CreateTestAction() { SimpleAction action2 = new SimpleAction() { Id = "FIRST_LAUNCH_IMITATION_2", Caption = "FIRST_LAUNCH_IMITATION_2", Category = "Tools",//ToolBarCustomizer.MainNavigationObjectsContainerId, ImageName = "Unknown" }; action2.Execute += (sender, e) => { //ModelXmlReader reader = new ModelXmlReader(); //IModelNode model =new Model //reader.ReadFromString(model, "", "" ); ModelXmlWriter writer = new ModelXmlWriter(); writer.WriteToFile(Application.Model, 0, "d:\\merge\\test.xml", Encoding.UTF8); }; Actions.Add(action2); SimpleAction action = new SimpleAction() { Id = "FIRST_LAUNCH_IMITATION", Caption = "FIRST_LAUNCH_IMITATION", Category = "Tools",//ToolBarCustomizer.MainNavigationObjectsContainerId, ImageName="Unknown" }; action.Execute += (sender, e) => { //DialogResult result = XtraMessageBox.Show("ƒанные организации не заполнены! ѕерейти на форму заполнени¤?", "¬нимание", // MessageBoxButtons.YesNo, MessageBoxIcon.Information); //if (result == DialogResult.Yes) //{ var objectSpace = Application.CreateObjectSpace(); IFirstLaunchParameters parameters = FirstLaunchParametersLogic.GetInstance(objectSpace); ShowViewParameters svp = new ShowViewParameters() { CreateAllControllers = true, CreatedView = Application.CreateDetailView(objectSpace, parameters) }; //svp.Context = TemplateContext.PopupWindow; //svp.TargetWindow = TargetWindow.NewModalWindow; DialogController dialog = Application.CreateController<DialogController>(); dialog.CancelAction.Active.SetItemValue("FirstLaunchParametersLogic_CancelAction_Deactivated", false); dialog.Accepting+= (o,a) => { objectSpace.CommitChanges(); //a.AcceptActionArgs.ShowViewParameters.CreatedView.ObjectSpace.CommitChanges(); //ShowViewParameters.CreatedView.ObjectSpace.CommitChanges(); }; //dialog.SaveOnAccept = false; //dialog.AcceptAction.ActionMeaning = ActionMeaning.Accept; //WinDetailViewController confirmation = Application.CreateController<WinDetailViewController>(); //confirmation.SuppressConfirmation = true; //svp.Controllers.Add(confirmation); svp.Controllers.Add(dialog); svp.CreatedView.Closed += (o, a) => { if (windowTemplateController != null) windowTemplateController.UpdateWindowCaption(); }; Application.ShowViewStrategy.ShowView(svp, new ShowViewSource(null, null)); //} }; Actions.Add(action); }