public static PropertyBag UpdateVolume(Volume volume) { PropertyBag propertyBag1 = new PropertyBag(); using (SqlCommand textCommand = SqlHelper.GetTextCommand("\r\n DECLARE @tempTable TABLE (Caption nvarchar(75), FullName nvarchar(255), Status int, PollInterval int, StatCollection int, RediscoveryInterval int, VolumeIndex int, VolumeType nvarchar(40), VolumeDescription nvarchar(512), VolumeSize float, VolumeResponding char(1));\r\n\t\t\t\tUPDATE [Volumes] SET \r\n\t\t\t\t[LastSync] = @LastSync \r\n\t\t\t\t,[VolumeIndex] = @VolumeIndex\r\n\t\t\t\t,[Caption] = @Caption\r\n\t\t\t\t,[PollInterval] = @PollInterval\r\n\t\t\t\t,[StatCollection] = @StatCollection\r\n\t\t\t\t,[RediscoveryInterval] = @RediscoveryInterval\r\n ,[UnManaged] = @UnManaged\r\n ,[UnManageFrom] = @UnManageFrom\r\n ,[UnManageUntil] = @UnManageUntil\r\n\t\t\t\t,[VolumeDescription] = @VolumeDescription\r\n ,[VolumeTypeID] = @VolumeTypeID\r\n\t\t\t\t,[VolumeType] = @VolumeType\r\n\t\t\t\t,[VolumeTypeIcon] = @VolumeTypeIcon\r\n\t\t\t\t,[VolumePercentUsed] = @VolumePercentUsed\r\n\t\t\t\t,[VolumeSpaceUsed] = @VolumeSpaceUsed\r\n\t\t\t\t,[VolumeSpaceAvailable] = @VolumeSpaceAvailable\r\n\t\t\t\t,[VolumeSize] = @VolumeSize\r\n\t\t\t\t,[Status] = @Status\r\n\t\t\t\t,[StatusLED] = @StatusLED\r\n\t\t\t\t,[VolumeResponding] = @VolumeResponding\r\n\t\t\t\t,[VolumeAllocationFailuresThisHour] = @VolumeAllocationFailuresThisHour\r\n\t\t\t\t,[VolumeAllocationFailuresToday] = @VolumeAllocationFailuresToday\r\n\t\t\t\t,[NextPoll] = @NextPoll\r\n\t\t\t\t,[NextRediscovery] = @NextRediscovery\r\n\t\t\t\t,[FullName] = @FullName\r\n ,[DiskQueueLength] = @DiskQueueLength\r\n ,[DiskTransfer] = @DiskTransfer\r\n ,[DiskReads] = @DiskReads\r\n ,[DiskWrites] = @DiskWrites\r\n ,[TotalDiskIOPS] = @TotalDiskIOPS\r\n ,[DeviceId] = @DeviceId\r\n ,[DiskSerialNumber] = @DiskSerialNumber\r\n\t\t\t\t,[InterfaceType] = @InterfaceType\r\n ,[SCSITargetId] = @SCSITargetId\r\n ,[SCSIPortId] = @SCSIPortId\r\n ,[SCSILunId] = @SCSILunId\r\n ,[SCSIControllerId] = @SCSIControllerId\r\n ,[SCSIPortOffset] = @SCSIPortOffset\r\n OUTPUT DELETED.Caption, \r\n DELETED.FullName, \r\n DELETED.Status, \r\n DELETED.PollInterval, \r\n DELETED.StatCollection,\r\n DELETED.RediscoveryInterval,\r\n DELETED.VolumeIndex,\r\n DELETED.VolumeType,\r\n DELETED.VolumeDescription,\r\n DELETED.VolumeSize,\r\n DELETED.VolumeResponding INTO @tempTable\r\n\t\t\t\tWHERE VolumeID = @VolumeID;\r\n SELECT * FROM @tempTable;")) { VolumeDAL.LoadCommandParams(volume, textCommand, true); using (DataTable dataTable = SqlHelper.ExecuteDataTable(textCommand)) { if (dataTable.Rows.Count == 1) { VolumeDAL.UpdateCustomProperties(volume); foreach (DataRow row in (InternalDataCollectionBase)dataTable.Rows) { PropertyBag propertyBag2 = new PropertyBag(); foreach (DataColumn column in (InternalDataCollectionBase)dataTable.Columns) { object obj1 = row[column] == DBNull.Value ? (object)null : row[column]; object obj2 = (object)null; bool? nullable = new bool?(); if (column.ColumnName.Equals("Caption", StringComparison.OrdinalIgnoreCase)) { obj2 = (object)volume.get_Caption(); } else if (column.ColumnName.Equals("FullName", StringComparison.OrdinalIgnoreCase)) { obj2 = (object)volume.get_FullName(); } else if (column.ColumnName.Equals("Status", StringComparison.OrdinalIgnoreCase)) { obj2 = (object)volume.get_Status(); } else if (column.ColumnName.Equals("PollInterval", StringComparison.OrdinalIgnoreCase)) { obj2 = (object)volume.get_PollInterval(); } else if (column.ColumnName.Equals("StatCollection", StringComparison.OrdinalIgnoreCase)) { obj2 = (object)volume.get_StatCollection(); } else if (column.ColumnName.Equals("RediscoveryInterval", StringComparison.OrdinalIgnoreCase)) { obj2 = (object)volume.get_RediscoveryInterval(); } else if (column.ColumnName.Equals("VolumeDescription", StringComparison.OrdinalIgnoreCase)) { obj2 = (object)volume.get_VolumeDescription(); } else if (column.ColumnName.Equals("VolumeSize", StringComparison.OrdinalIgnoreCase)) { obj2 = (object)volume.get_VolumeSize(); } else if (column.ColumnName.Equals("VolumeIndex", StringComparison.OrdinalIgnoreCase)) { obj2 = (object)volume.get_VolumeIndex(); } else if (column.ColumnName.Equals("VolumeType", StringComparison.OrdinalIgnoreCase)) { obj2 = (object)volume.get_VolumeType(); } else if (column.ColumnName.Equals("VolumeResponding", StringComparison.OrdinalIgnoreCase)) { obj2 = (object)volume.get_VolumeResponding(); bool flag = obj1 != null && string.Equals(obj1.ToString(), "Y", StringComparison.OrdinalIgnoreCase); nullable = new bool?((bool)obj2 == flag); } if (obj1 == null && obj2 != null || obj1 != null && obj2 == null || !nullable.HasValue && obj2 != null && (obj1 != null && !string.Equals(obj2.ToString(), obj1.ToString(), StringComparison.Ordinal)) || nullable.HasValue && !nullable.Value) { ((Dictionary <string, object>)propertyBag1).Add(column.ColumnName, obj2); ((Dictionary <string, object>)propertyBag2).Add(column.ColumnName, obj1); } } if (((Dictionary <string, object>)propertyBag2).Count != 0) { ((Dictionary <string, object>)propertyBag1).Add("PreviousProperties", (object)propertyBag2); } } } } } return(propertyBag1); }
// Token: 0x06000877 RID: 2167 RVA: 0x0003D090 File Offset: 0x0003B290 public static PropertyBag UpdateVolume(Volume volume) { PropertyBag propertyBag = new PropertyBag(); using (SqlCommand textCommand = SqlHelper.GetTextCommand("\r\n DECLARE @tempTable TABLE (Caption nvarchar(75), FullName nvarchar(255), Status int, PollInterval int, StatCollection int, RediscoveryInterval int, VolumeIndex int, VolumeType nvarchar(40), VolumeDescription nvarchar(512), VolumeSize float, VolumeResponding char(1));\r\n\t\t\t\tUPDATE [Volumes] SET \r\n\t\t\t\t[LastSync] = @LastSync \r\n\t\t\t\t,[VolumeIndex] = @VolumeIndex\r\n\t\t\t\t,[Caption] = @Caption\r\n\t\t\t\t,[PollInterval] = @PollInterval\r\n\t\t\t\t,[StatCollection] = @StatCollection\r\n\t\t\t\t,[RediscoveryInterval] = @RediscoveryInterval\r\n\t\t\t\t,[VolumeDescription] = @VolumeDescription\r\n ,[VolumeTypeID] = @VolumeTypeID\r\n\t\t\t\t,[VolumeType] = @VolumeType\r\n\t\t\t\t,[VolumeTypeIcon] = @VolumeTypeIcon\r\n\t\t\t\t,[VolumePercentUsed] = @VolumePercentUsed\r\n\t\t\t\t,[VolumeSpaceUsed] = @VolumeSpaceUsed\r\n\t\t\t\t,[VolumeSpaceAvailable] = @VolumeSpaceAvailable\r\n\t\t\t\t,[VolumeSize] = @VolumeSize\r\n\t\t\t\t,[Status] = @Status\r\n\t\t\t\t,[StatusLED] = @StatusLED\r\n\t\t\t\t,[VolumeResponding] = @VolumeResponding\r\n\t\t\t\t,[VolumeAllocationFailuresThisHour] = @VolumeAllocationFailuresThisHour\r\n\t\t\t\t,[VolumeAllocationFailuresToday] = @VolumeAllocationFailuresToday\r\n\t\t\t\t,[NextPoll] = @NextPoll\r\n\t\t\t\t,[NextRediscovery] = @NextRediscovery\r\n\t\t\t\t,[FullName] = @FullName\r\n ,[DiskQueueLength] = @DiskQueueLength\r\n ,[DiskTransfer] = @DiskTransfer\r\n ,[DiskReads] = @DiskReads\r\n ,[DiskWrites] = @DiskWrites\r\n ,[TotalDiskIOPS] = @TotalDiskIOPS\r\n ,[DeviceId] = @DeviceId\r\n ,[DiskSerialNumber] = @DiskSerialNumber\r\n\t\t\t\t,[InterfaceType] = @InterfaceType\r\n ,[SCSITargetId] = @SCSITargetId\r\n ,[SCSIPortId] = @SCSIPortId\r\n ,[SCSILunId] = @SCSILunId\r\n ,[SCSIControllerId] = @SCSIControllerId\r\n ,[SCSIPortOffset] = @SCSIPortOffset\r\n OUTPUT DELETED.Caption, \r\n DELETED.FullName, \r\n DELETED.Status, \r\n DELETED.PollInterval, \r\n DELETED.StatCollection,\r\n DELETED.RediscoveryInterval,\r\n DELETED.VolumeIndex,\r\n DELETED.VolumeType,\r\n DELETED.VolumeDescription,\r\n DELETED.VolumeSize,\r\n DELETED.VolumeResponding INTO @tempTable\r\n\t\t\t\tWHERE VolumeID = @VolumeID;\r\n SELECT * FROM @tempTable;")) { VolumeDAL.LoadCommandParams(volume, textCommand, true); using (DataTable dataTable = SqlHelper.ExecuteDataTable(textCommand)) { if (dataTable.Rows.Count == 1) { VolumeDAL.UpdateCustomProperties(volume); foreach (object obj in dataTable.Rows) { DataRow dataRow = (DataRow)obj; PropertyBag propertyBag2 = new PropertyBag(); foreach (object obj2 in dataTable.Columns) { DataColumn dataColumn = (DataColumn)obj2; object obj3 = (dataRow[dataColumn] == DBNull.Value) ? null : dataRow[dataColumn]; object obj4 = null; bool? flag = null; if (dataColumn.ColumnName.Equals("Caption", StringComparison.OrdinalIgnoreCase)) { obj4 = volume.Caption; } else if (dataColumn.ColumnName.Equals("FullName", StringComparison.OrdinalIgnoreCase)) { obj4 = volume.FullName; } else if (dataColumn.ColumnName.Equals("Status", StringComparison.OrdinalIgnoreCase)) { obj4 = volume.Status; } else if (dataColumn.ColumnName.Equals("PollInterval", StringComparison.OrdinalIgnoreCase)) { obj4 = volume.PollInterval; } else if (dataColumn.ColumnName.Equals("StatCollection", StringComparison.OrdinalIgnoreCase)) { obj4 = volume.StatCollection; } else if (dataColumn.ColumnName.Equals("RediscoveryInterval", StringComparison.OrdinalIgnoreCase)) { obj4 = volume.RediscoveryInterval; } else if (dataColumn.ColumnName.Equals("VolumeDescription", StringComparison.OrdinalIgnoreCase)) { obj4 = volume.VolumeDescription; } else if (dataColumn.ColumnName.Equals("VolumeSize", StringComparison.OrdinalIgnoreCase)) { obj4 = volume.VolumeSize; } else if (dataColumn.ColumnName.Equals("VolumeIndex", StringComparison.OrdinalIgnoreCase)) { obj4 = volume.VolumeIndex; } else if (dataColumn.ColumnName.Equals("VolumeType", StringComparison.OrdinalIgnoreCase)) { obj4 = volume.VolumeType; } else if (dataColumn.ColumnName.Equals("VolumeResponding", StringComparison.OrdinalIgnoreCase)) { obj4 = volume.VolumeResponding; bool flag2 = obj3 != null && string.Equals(obj3.ToString(), "Y", StringComparison.OrdinalIgnoreCase); flag = new bool?((bool)obj4 == flag2); } if ((obj3 == null && obj4 != null) || (obj3 != null && obj4 == null) || (flag == null && obj4 != null && obj3 != null && !string.Equals(obj4.ToString(), obj3.ToString(), StringComparison.Ordinal)) || (flag != null && !flag.Value)) { propertyBag.Add(dataColumn.ColumnName, obj4); propertyBag2.Add(dataColumn.ColumnName, obj3); } } if (propertyBag2.Count != 0) { propertyBag.Add("PreviousProperties", propertyBag2); } } } } } return(propertyBag); }