예제 #1
0
 public override SqlTransaction Save(SqlConnection connection, SqlTransaction transaction)
 {
     transaction = base.Save(connection, transaction);
     if (this.IsObjectDirty)
     {
         transaction = this.EnsureDatabasePrepared(connection, transaction);
         using (SqlDataReaderWrapper dataReaderWrapper = new SqlDataReaderWrapper(connection, false))
         {
             if (this.IsObjectCreated)
             {
                 dataReaderWrapper.ProcedureName = "AdminUser_Create";
                 this.CreatedDateTimeUTC         = DateTime.UtcNow;
                 this.UpdatedDateTimeUTC         = this.CreatedDateTimeUTC;
             }
             else
             {
                 dataReaderWrapper.ProcedureName = "AdminUser_Save";
             }
             dataReaderWrapper.AddGuid("AdminUserId", this.Id);
             dataReaderWrapper.AddNVarChar("FirstName", this.FirstName);
             dataReaderWrapper.AddNVarChar("LastName", this.LastName);
             dataReaderWrapper.AddNVarChar("EmailAddress", this.EmailAddress);
             dataReaderWrapper.AddNVarChar("PhoneNumber", InnovaFormatting.CleanPhoneNumber(this.PhoneNumber));
             dataReaderWrapper.AddNVarChar("Password", this.Password);
             dataReaderWrapper.AddNVarChar("Address1", this.Address1);
             dataReaderWrapper.AddNVarChar("Address2", this.Address2);
             dataReaderWrapper.AddNVarChar("City", this.City);
             dataReaderWrapper.AddNVarChar("State", this.State);
             dataReaderWrapper.AddNVarChar("PostalCode", this.PostalCode);
             dataReaderWrapper.AddNVarChar("ShippingAddress1", this.ShippingAddress1);
             dataReaderWrapper.AddNVarChar("ShippingAddress2", this.ShippingAddress2);
             dataReaderWrapper.AddNVarChar("ShippingCity", this.ShippingCity);
             dataReaderWrapper.AddNVarChar("ShippingState", this.ShippingState);
             dataReaderWrapper.AddNVarChar("ShippingPostalCode", this.ShippingPostalCode);
             dataReaderWrapper.AddNVarChar("AreasOfExpertise", this.AreasOfExpertise);
             dataReaderWrapper.AddInt32("AdminUserType", (int)this.AdminUserType);
             dataReaderWrapper.AddBoolean("IsSystemAdministrator", this.IsSystemAdministrator);
             dataReaderWrapper.AddBoolean("IsReceivesPastDueNoFixNotifications", this.IsReceivesPastDueNoFixNotifications);
             dataReaderWrapper.AddInt32("Market", (int)this.Market);
             dataReaderWrapper.AddNVarChar("Permissions", this.Permissions);
             dataReaderWrapper.AddDecimal("ValidationPayRateDollarsPerHour", this.ValidationPayRateDollarsPerHour);
             dataReaderWrapper.AddBoolean("IsActive", this.IsActive);
             dataReaderWrapper.AddBoolean("IsDeleted", this.IsDeleted);
             dataReaderWrapper.AddDateTime("UpdatedDateTimeUTC", this.UpdatedDateTimeUTC);
             dataReaderWrapper.AddDateTime("CreatedDateTimeUTC", this.CreatedDateTimeUTC);
             dataReaderWrapper.AddDateTime("LastLoginDateTimeUTC", this.LastLoginDateTimeUTC);
             dataReaderWrapper.AddBusinessObject("PropertyDefinitionDataSetId", (BusinessObjectBase)this.PropertyDefinitionDataSet);
             dataReaderWrapper.AddBoolean("EnablePropertyDefinitionEditingOnForms", this.EnablePropertyDefinitionEditingOnForms);
             dataReaderWrapper.Execute(transaction);
         }
         this.IsObjectDirty = false;
     }
     transaction = this.SaveCollections(connection, transaction);
     return(transaction);
 }