public SingleResult <CmpInterfaceModel.Models.VmMigrationRequest> GetVmMigrationRequest([FromODataUri] int key)
        {
            try
            {
                using (CmpServiceLib.CmpService CMP = new CmpServiceLib.CmpService(_EventLog, _CmpDbConnectionString, _AftsDbConnectionString))
                {
                    CmpServiceLib.Models.VmMigrationRequest vmMigrationRequest = CMP.FetchMigrationRequest(key);

                    if (null == vmMigrationRequest)
                    {
                        return(null);
                    }

                    var vmr = new List <CmpInterfaceModel.Models.VmMigrationRequest>();
                    vmr.Add(ServToInt(vmMigrationRequest));
                    return(SingleResult.Create(vmr.AsQueryable()));
                }
            }
            catch (Exception ex)
            {
                LogThis(ex, EventLogEntryType.Error, "Exception in GetVmMigrationRequest()", 100, 100);
                throw;
            }

            //return SingleResult.Create(db.VmMigrationRequests.Where(vmmigrationrequest => vmmigrationrequest.ID == key));
        }
        //*********************************************************************
        ///
        /// <summary>
        ///
        /// </summary>
        /// <param name="vmMigrateRequest"></param>
        /// <returns></returns>
        ///
        //*********************************************************************

        CmpServiceLib.Models.VmMigrationRequest IntToServ(
            CmpInterfaceModel.Models.VmMigrationRequest vmMigrateRequest)
        {
            if (null == vmMigrateRequest)
            {
                return(null);
            }

            var Ret =
                new CmpServiceLib.Models.VmMigrationRequest
            {
                ID = vmMigrateRequest.ID,
                VmDeploymentRequestID = vmMigrateRequest.VmDeploymentRequestID,
                VmSize                = vmMigrateRequest.VmSize,
                Config                = vmMigrateRequest.Config,
                TargetVmName          = vmMigrateRequest.TargetVmName,
                SourceServerName      = vmMigrateRequest.SourceServerName,
                SourceVhdFilesCSV     = vmMigrateRequest.SourceVhdFilesCSV,
                ExceptionMessage      = vmMigrateRequest.ExceptionMessage,
                LastStatusUpdate      = NonNull(vmMigrateRequest.LastStatusUpdate),
                StatusCode            = vmMigrateRequest.StatusCode,
                StatusMessage         = vmMigrateRequest.StatusMessage,
                AgentRegion           = vmMigrateRequest.AgentRegion,
                AgentName             = vmMigrateRequest.AgentName,
                CurrentStateStartTime = NonNull(vmMigrateRequest.CurrentStateStartTime),
                CurrentStateTryCount  = NonNull(vmMigrateRequest.CurrentStateTryCount),
                Warnings              = vmMigrateRequest.Warnings,
                Active                = NonNull(vmMigrateRequest.Active)
            };

            return(Ret);
        }
        //*********************************************************************
        ///
        /// <summary>
        /// PUT odata/VmMigrations(5)
        /// </summary>
        /// <param name="key"></param>
        /// <param name="vmmigrationrequest"></param>
        /// <returns></returns>
        ///
        //*********************************************************************

        //[Authorize]
        public async Task <IHttpActionResult> Put([FromODataUri] int key,
                                                  CmpInterfaceModel.Models.VmMigrationRequest vmmigrationrequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (key != vmmigrationrequest.ID)
            {
                return(BadRequest());
            }

            /*db.Entry(vmmigrationrequest).State = EntityState.Modified;
             *
             * try
             * {
             *  await db.SaveChangesAsync();
             * }
             * catch (DbUpdateConcurrencyException)
             * {
             *  if (!VmMigrationRequestExists(key))
             *  {
             *      return NotFound();
             *  }
             *  else
             *  {
             *      throw;
             *  }
             * }
             *
             * return Updated(vmmigrationrequest);*/

            //////////////////////

            try
            {
                DateTime Now = DateTime.UtcNow;
                vmmigrationrequest.LastStatusUpdate = DateTime.UtcNow;

                CmpServiceLib.Models.VmMigrationRequest vmMigReq = IntToServ(vmmigrationrequest);

                CmpServiceLib.CmpService CMP = new CmpServiceLib.CmpService(_EventLog, _CmpDbConnectionString, _AftsDbConnectionString);
                CMP.UpdateVmMigrationRequest(vmMigReq, null, true, null);

                return(Updated(vmmigrationrequest));
            }
            catch (Exception ex)
            {
                LogThis(ex, EventLogEntryType.Error, "Exception in Put()", 100, 100);
                throw ex;
            }
        }