private FullName ParseName(string combinedName)
 {
     var splited = combinedName.Split(new char[]{ ' ' }, StringSplitOptions.RemoveEmptyEntries);
     var fullName = new FullName { Name = splited[0] };
     if (splited.Length == 2)
         fullName.Surname = splited[1];
     else if (splited.Length > 2)
     {
         fullName.MiddleName = splited[1];
         fullName.Surname = splited[2];
     }
     return fullName;
 }
 /// <summary>
 /// Create a new Courier object.
 /// </summary>
 /// <param name="id">Initial value of the Id property.</param>
 /// <param name="phone">Initial value of the Phone property.</param>
 /// <param name="fullName">Initial value of the FullName property.</param>
 public static Courier CreateCourier(global::System.Int32 id, global::System.String phone, FullName fullName)
 {
     Courier courier = new Courier();
     courier.Id = id;
     courier.Phone = phone;
     courier.FullName = StructuralObject.VerifyComplexObjectIsNotNull(fullName, "FullName");
     return courier;
 }
 /// <summary>
 /// Create a new Client object.
 /// </summary>
 /// <param name="id">Initial value of the Id property.</param>
 /// <param name="phone">Initial value of the Phone property.</param>
 /// <param name="fullName">Initial value of the FullName property.</param>
 public static Client CreateClient(global::System.Int32 id, global::System.String phone, FullName fullName)
 {
     Client client = new Client();
     client.Id = id;
     client.Phone = phone;
     client.FullName = StructuralObject.VerifyComplexObjectIsNotNull(fullName, "FullName");
     return client;
 }
 /// <summary>
 /// Create a new FullName object.
 /// </summary>
 /// <param name="name">Initial value of the Name property.</param>
 public static FullName CreateFullName(global::System.String name)
 {
     FullName fullName = new FullName();
     fullName.Name = name;
     return fullName;
 }
 partial void OnFullNameChanging(FullName value);
 /// <summary>
 /// Create a new User object.
 /// </summary>
 /// <param name="id">Initial value of the Id property.</param>
 /// <param name="phone">Initial value of the Phone property.</param>
 /// <param name="fullName">Initial value of the FullName property.</param>
 public static User CreateUser(global::System.Int32 id, global::System.String phone, FullName fullName)
 {
     User user = new User();
     user.Id = id;
     user.Phone = phone;
     user.FullName = StructuralObject.VerifyComplexObjectIsNotNull(fullName, "FullName");
     return user;
 }