Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        // 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);
        }