PaulStovell.TrialBalance.DomainModel.PackageDataProvider.ChangeSetHistoryXElementAdapter.FromXElement C# (CSharp) Метод

FromXElement() публичный Метод

Converts a given T:XElement into a T:ChangeSetHistory.
public FromXElement ( XElement element ) : ChangeSetHistory
element XElement The to convert.
Результат ChangeSetHistory
        public ChangeSetHistory FromXElement(XElement element)
        {
            ChangeSetHistory history = new ChangeSetHistory();
            foreach (XElement changeSetElement in element.Nodes()) {
                ChangeSet changeSet = new ChangeSet();

                // Get the change set details
                foreach (XElement changeSetElementChild in changeSetElement.Nodes()) {
                    if (changeSetElementChild.Name.LocalName == "Applied") {
                        changeSet.Applied = DateTime.Parse(changeSetElementChild.Value);
                    } else if (changeSetElementChild.Name.LocalName == "Username") {
                        changeSet.Username = changeSetElementChild.Value;
                    } else if (changeSetElementChild.Name.LocalName == "Change") {
                        Change change = new Change();
                        foreach (XElement changeElement in changeSetElementChild.Nodes()) {
                            if (changeElement.Name.LocalName == "PropertyName") {
                                change.PropertyName = changeElement.Value;
                            } else if (changeElement.Name.LocalName == "OldValue") {
                                change.OldValue = changeElement.Value;
                            } else if (changeElement.Name.LocalName == "NewValue") {
                                change.NewValue = changeElement.Value;
                            }
                        }
                        changeSet.Changes.Add(change);
                    }
                }
                history.Append(changeSet);
            }
            return history;
        }

Usage Example

 /// <summary>
 /// Converts a given <see cref="T:XElement"/> into an <see cref="T:Account"/>.
 /// </summary>
 /// <param name="element">The <see cref="T:XElement"/> to convert.</param>
 /// <returns>The newly created <see cref="T:Account"/>.</returns>
 public Account FromXElement(XElement element)
 {
     Account account = AccountFactory.Create(element.Name.LocalName);
     foreach (XElement childNode in element.Nodes()) {
         switch (childNode.Name.LocalName) {
             case "AccountID":
                 account.AccountID = new Guid(childNode.Value);
                 break;
             case "CreatedByUsername":
                 account.CreatedByUsername = childNode.Value;
                 break;
             case "CreatedDate":
                 account.CreatedDate = DateTime.Parse(childNode.Value);
                 break;
             case "Description":
                 account.Description = childNode.Value;
                 break;
             case "Name":
                 account.Name = childNode.Value;
                 break;
             case "UpdatedByUsername":
                 account.UpdatedByUsername = childNode.Value;
                 break;
             case "UpdatedDate":
                 account.UpdatedDate = DateTime.Parse(childNode.Value);
                 break;
             case "ChangeSetHistory":
                 ChangeSetHistoryXElementAdapter adapter = new ChangeSetHistoryXElementAdapter();
                 account.ChangeSetHistory = adapter.FromXElement(childNode);
                 break;
         }
     }
     return account;
 }
All Usage Examples Of PaulStovell.TrialBalance.DomainModel.PackageDataProvider.ChangeSetHistoryXElementAdapter::FromXElement
ChangeSetHistoryXElementAdapter