/// <summary>
		/// The process record method.
		/// </summary>
		protected override void ProcessRecord()
		{
			base.ProcessRecord();

			if (ParameterSetName.Equals("DiskSpeedType"))
				SpeedId = Speed.ToString();

			if (ServerDetails == null)
			{
				ThrowTerminatingError(new ErrorRecord(new PSArgumentException("The ServerDetails parameter cannot be empty"), "-1", 
					ErrorCategory.InvalidArgument, null));
			}

			if (ServerDetails.InternalDiskDetails == null)
				ServerDetails.InternalDiskDetails = new List<CaasServerDiskDetails>();

			CaasServerDiskDetails diskdetails = ServerDetails.InternalDiskDetails.Find(disk => disk.ScsiId == ScsiId);
			if (diskdetails == null)
			{
				diskdetails =
					new CaasServerDiskDetails
					{
						ScsiId = ScsiId, 
						SpeedId = SpeedId
					};
				ServerDetails.InternalDiskDetails.Add(diskdetails);
			}
			else
				diskdetails.SpeedId = SpeedId;


			WriteObject(ServerDetails);
		}
Example #2
0
        /// <summary>
        /// The process record method.
        /// </summary>
        protected override void ProcessRecord()
        {
            base.ProcessRecord();

            if (ParameterSetName.Equals("DiskSpeedType"))
            {
                SpeedId = Speed.ToString();
            }

            if (ServerDetails == null)
            {
                ThrowTerminatingError(new ErrorRecord(new PSArgumentException("The ServerDetails parameter cannot be empty"), "-1",
                                                      ErrorCategory.InvalidArgument, null));
            }

            if (ServerDetails.InternalDiskDetails == null)
            {
                ServerDetails.InternalDiskDetails = new List <CaasServerDiskDetails>();
            }

            CaasServerDiskDetails diskdetails = ServerDetails.InternalDiskDetails.Find(disk => disk.ScsiId == ScsiId);

            if (diskdetails == null)
            {
                diskdetails =
                    new CaasServerDiskDetails
                {
                    ScsiId  = ScsiId,
                    SpeedId = SpeedId
                };
                ServerDetails.InternalDiskDetails.Add(diskdetails);
            }
            else
            {
                diskdetails.SpeedId = SpeedId;
            }


            WriteObject(ServerDetails);
        }