Example #1
0
        public DtoProvisionResponse ConfirmProvisionRequest(DtoConfirmProvisionRequest request)
        {
            var computerService = new ServiceComputer();
            var computer        = computerService.GetByGuid(request.Guid);

            if (computer == null)
            {
                return new DtoProvisionResponse()
                       {
                           ProvisionStatus = EnumProvisionStatus.Status.Error
                       }
            }
            ;
            if (computer.ProvisionStatus == EnumProvisionStatus.Status.Reset)
            {
                return new DtoProvisionResponse()
                       {
                           ProvisionStatus = EnumProvisionStatus.Status.Reset
                       }
            }
            ;
            computer.ProvisionStatus = EnumProvisionStatus.Status.Provisioned;
            computerService.UpdateComputer(computer);
            var response         = new DtoProvisionResponse();
            var clientComServers = new GetClientComServers().Run(request.Guid);

            if (clientComServers != null)
            {
                response.ComServers = clientComServers;
            }
            response.ProvisionStatus = EnumProvisionStatus.Status.Provisioned;
            return(response);
        }
Example #2
0
 public DtoProvisionResponse ConfirmProvisionRequest(DtoConfirmProvisionRequest confirmRequest)
 {
     Request.Method   = Method.POST;
     Request.Resource = string.Format("ProvisionedComm/{0}/ConfirmProvisionRequest/", Resource);
     return(new ApiRequest().ExecuteSymKeyEncryption <DtoProvisionResponse>(Request,
                                                                            JsonConvert.SerializeObject(confirmRequest)));
 }
Example #3
0
        private EnumProvisionStatus.Status ProvisionStage3()
        {
            var deviceThumbprint = _serviceSetting.GetSetting("device_thumbprint");

            if (string.IsNullOrEmpty(deviceThumbprint.Value))
            {
                //assume stage 2 didn't finish
                return(EnumProvisionStatus.Status.NotStarted);
            }
            var deviceCert = ServiceCertificate.GetCertificateFromStore(deviceThumbprint.Value, StoreName.My);

            if (deviceCert == null)
            {
                return(EnumProvisionStatus.Status.Error);
            }

            var confirmRequest = new DtoConfirmProvisionRequest();

            confirmRequest.Name       = DtoGobalSettings.ClientIdentity.Name;
            confirmRequest.Guid       = _serviceSetting.GetSetting("computer_identifier").Value;
            confirmRequest.DeviceCert = Convert.ToBase64String(deviceCert.RawData);

            var confirmResult = new APICall().ProvisionApi.ConfirmProvisionRequest(confirmRequest);

            if (confirmResult == null)
            {
                return(EnumProvisionStatus.Status.Error);
            }

            if (confirmResult.ProvisionStatus != EnumProvisionStatus.Status.Provisioned)
            {
                return(confirmResult.ProvisionStatus);
            }

            UpdateComServers(confirmResult.ComServers);
            var settingProvisionStatus = _serviceSetting.GetSetting("provision_status");

            settingProvisionStatus.Value = Convert.ToInt16(confirmResult.ProvisionStatus).ToString();
            _serviceSetting.UpdateSettingValue(settingProvisionStatus);

            //new provision, if image first run, add to first run group
            if (File.Exists($"{Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)}\\Toec\\image_prepped"))
            {
                Logger.Debug("Found Image Prep File, Adding to First Run Group");
                new APICall().PolicyApi.AddToFirstRunGroup();
            }

            return(EnumProvisionStatus.Status.Provisioned);
        }
Example #4
0
        private EnumProvisionStatus.Status ProvisionStage3()
        {
            var deviceThumbprint = _serviceSetting.GetSetting("device_thumbprint");

            if (string.IsNullOrEmpty(deviceThumbprint.Value))
            {
                //assume stage 2 didn't finish
                return(EnumProvisionStatus.Status.NotStarted);
            }
            var deviceCert = ServiceCertificate.GetCertificateFromStore(deviceThumbprint.Value, StoreName.My);

            if (deviceCert == null)
            {
                return(EnumProvisionStatus.Status.Error);
            }

            var confirmRequest = new DtoConfirmProvisionRequest();

            confirmRequest.Name       = DtoGobalSettings.ClientIdentity.Name;
            confirmRequest.Guid       = _serviceSetting.GetSetting("computer_identifier").Value;
            confirmRequest.DeviceCert = Convert.ToBase64String(deviceCert.RawData);

            var confirmResult = new APICall().ProvisionApi.ConfirmProvisionRequest(confirmRequest);

            if (confirmResult == null)
            {
                return(EnumProvisionStatus.Status.Error);
            }

            if (confirmResult.ProvisionStatus != EnumProvisionStatus.Status.Provisioned)
            {
                return(confirmResult.ProvisionStatus);
            }

            UpdateComServers(confirmResult.ComServers);
            var settingProvisionStatus = _serviceSetting.GetSetting("provision_status");

            settingProvisionStatus.Value = Convert.ToInt16(confirmResult.ProvisionStatus).ToString();
            _serviceSetting.UpdateSettingValue(settingProvisionStatus);
            return(EnumProvisionStatus.Status.Provisioned);
        }