public async Task <JobViewModel> AddJobFeedbackAssync(JobFeedbackViewmodal feedback) { try { if (feedback == null) { return(null); } var feedbackModal = new JobFeedback(); feedbackModal.Id = Guid.NewGuid(); feedbackModal.Feedback = feedback.Feedback; feedbackModal.FeedbackRatings = feedback.FeedbackRatings; feedbackModal.UserId = feedback.UserId; feedbackModal.JobId = feedback.JobId; feedbackModal.IsProviderFeedback = feedback.IsProviderFeedback; feedbackModal.IsClientFeedback = feedback.IsClientFeedback; await _dbContext.JobFeedbacks.AddAsync(feedbackModal); await _dbContext.SaveChangesAsync(); var job = await _dbContext.Jobs.Where(j => j.Id == feedback.JobId).FirstAsync(); job.IsClientFeedbackRecived = feedback.IsClientFeedback; job.IsProviderFeedbackRecived = feedback.IsProviderFeedback; await _dbContext.SaveChangesAsync(); var feedbackJob = await GetDashboardJobMainDetails(feedback.JobId, feedback.UserId); return(feedbackJob); } catch (Exception) { return(null); } }
public JobResponse Get(Guid id) { JobFeedback feedback = Models.SasJobsManager.Current.GetProgress(id); // if feedback is not ready respond with an empty response if (feedback == null) { feedback = new JobFeedback { Status = Messages.StatusCode.Running, PercentComplete = 0, FeedbackMessage = null }; } // Compose the response message JobResponse response = new JobResponse { CorrelationId = id, FeedbackMessage = feedback.FeedbackMessage, PercentComplete = feedback.PercentComplete, Status = feedback.Status, Data = new System.Data.DataSet() }; // retrieve result data if (feedback.Status == Messages.StatusCode.Done) { string xmlResult = Models.SasJobsManager.Current.GetResult(id); if (!String.IsNullOrWhiteSpace(xmlResult)) { var reader = new System.IO.StringReader(xmlResult); response.Data.ReadXml(reader, System.Data.XmlReadMode.ReadSchema); } } return(response); }