public void UdpateDetails(string id, JobStatusDetails details)
        {
            var deployment = _repository.SingleOrDefault(d => d.Id == id);

            if (deployment != null)
            {
                if (string.IsNullOrWhiteSpace(deployment.Details))
                {
                    deployment.Details += details.Details;
                }
                else
                {
                    deployment.Details += "<br>" + details.Details;
                }

                if (details.Status.HasValue)
                {
                    deployment.Status = details.Status.Value.ToString();
                }

                if (details.Status == JobStatus.Error && deployment.UserEmail.HasValue() && _sourceControl.IsVersionNumber(deployment.Revision))
                {
                    _emailSender.SendDeploymentWarningEmail(deployment.Details, deployment.Revision.Tag, deployment.Company.CompanyName, deployment.UserName, deployment.UserEmail, deployment.Server.Name);
                }

                _repository.Update(deployment);
            }
        }
Exemple #2
0
        public void UpdateStatus(string jobId, string details, JobStatus?status = null)
        {
            try
            {
                using (var client = CustomerPortalHttpClientProvider.Get())
                {
                    var d = new JobStatusDetails();
                    d.Details = details;
                    d.Status  = status;

                    var content = new ObjectContent <JobStatusDetails>(d, new JsonMediaTypeFormatter());

                    var result = client.PostAsync("deployments/" + jobId + "/updatedetails", content).Result;
                    result.ToString();
                }
            }
            catch (Exception ex)
            {
                _logger.Error("Error while updating Job Details", ex);
            }
        }
Exemple #3
0
        public void UpdateStatus(string jobId, string details, JobStatus?status = null)
        {
            var url = GetUrl();

            using (
                var client =
                    new HttpClient(new HttpClientHandler
            {
                Credentials = new NetworkCredential(ConfigurationManager.AppSettings["CustomerPortalUsername"], ConfigurationManager.AppSettings["CustomerPortalPassword"])
            }))
            {
                client.BaseAddress = new Uri(url);

                var d = new JobStatusDetails();
                d.Details = details;
                d.Status  = status;
                var content = new ObjectContent <JobStatusDetails>(d, new JsonMediaTypeFormatter());
// ReSharper disable once UnusedVariable
                var message = client.PostAsync("deployments/" + jobId + "/updatedetails", content).Result;
            }
        }