Example #1
0
        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);
            }
        }
Example #2
0
        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);
        }