public static List <DiagnosticReportOBDFixAdminUserStatistics> GetOBDFixStats(Registry registry, AdminUserCollection users, DateTime?startDateTimeUTC, DateTime?endDateTimeUTC) { List <DiagnosticReportOBDFixAdminUserStatistics> adminUserStatisticsList = new List <DiagnosticReportOBDFixAdminUserStatistics>(); foreach (AdminUser user in (CollectionBase)users) { using (SqlDataReaderWrapper dataReaderWrapper = new SqlDataReaderWrapper(registry.ConnectionStringDefault)) { dataReaderWrapper.ProcedureName = "DiagnosticReportFixFeedback_GetAdminUserStats"; dataReaderWrapper.AddGuid("AdminUserId", user.Id); if (startDateTimeUTC.HasValue) { dataReaderWrapper.AddDateTime("StartDateTimeUTC", startDateTimeUTC.Value); } if (endDateTimeUTC.HasValue) { dataReaderWrapper.AddDateTime("EndDateTimeUTC", endDateTimeUTC.Value); } dataReaderWrapper.Execute(); if (dataReaderWrapper.Read()) { DiagnosticReportOBDFixAdminUserStatistics adminUserStatistics = new DiagnosticReportOBDFixAdminUserStatistics(user, dataReaderWrapper.GetInt32("ReportsClosedNewFixAdded"), dataReaderWrapper.GetInt32("ReportsClosedExistingFixSelected"), dataReaderWrapper.GetInt32("ReportsClosedRejected"), dataReaderWrapper.GetInt32("NumOfFixesFromFixReport"), dataReaderWrapper.GetInt32("NumOfDirectFixes")); adminUserStatisticsList.Add(adminUserStatistics); } } } return(adminUserStatisticsList); }
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); }
public static void SetValidationTestResultPaymentAmounts(AdminUserCollection usersToUpdate, NullableDateTime submittedStartDateUTC, NullableDateTime submittedEndDateUTC) { using (SqlDataReaderWrapper dataReaderWrapper = new SqlDataReaderWrapper(usersToUpdate.Registry.ConnectionStringDefault)) { dataReaderWrapper.ProcedureName = "AdminUser_GetValidationTestResultPaymentAmounts"; dataReaderWrapper.AddNVarChar("AdminUserXmlGuidList", usersToUpdate.ToXmlGuidList()); dataReaderWrapper.AddDateTime("SubmittedStartDateUTC", submittedStartDateUTC); dataReaderWrapper.AddDateTime("SubmittedEndDateUTC", submittedEndDateUTC); dataReaderWrapper.Execute(); while (dataReaderWrapper.Read()) { AdminUser byProperty = (AdminUser)usersToUpdate.FindByProperty("Id", (object)dataReaderWrapper.GetGuid("AdminUserId")); if (byProperty != null) { byProperty.ValidationTestResultsTotalMinutesToComplete = dataReaderWrapper.GetInt32("ValidationTestResultsTotalMinutesToComplete"); byProperty.ValidationTestResultsPaymentAmount = byProperty.ValidationPayRateDollarsPerHour * (NullableDecimal)((Decimal)byProperty.ValidationTestResultsTotalMinutesToComplete / new Decimal(60)); } } } }