Exemplo n.º 1
0
        public async Task <JsonResult> GetJobList(string userId, JobworkflowStatus workFlowStatus)
        {
            var status = await _jobService.GetJobListJobAsync(userId, workFlowStatus);


            return(new JsonResult(status));
        }
Exemplo n.º 2
0
        public async Task <MiniJobListViewModel> GetJobListJobAsync(string userId, JobworkflowStatus workFlowStatus)
        {
            var jobListViewModel = new MiniJobListViewModel();

            var user = await _userManager.FindByIdAsync(userId);

            if (user.UserType == UserType.Client)
            {
                var jobs = new List <Job>();

                if (workFlowStatus == JobworkflowStatus.Rejected)
                {
                    jobs = await _dbContext.Jobs.Include(b => b.Bids).Where(j => j.IsDeleted && j.CreatedUserId == userId && j.workflowStatus == workFlowStatus).ToListAsync();
                }
                else
                {
                    jobs = await _dbContext.Jobs.Where(j => !j.IsDeleted && j.CreatedUserId == userId && j.workflowStatus == workFlowStatus).ToListAsync();
                }
                if (jobs.Any())
                {
                    jobListViewModel.MiniJobViewModel = new List <MiniJobView>();
                    foreach (var job in jobs)
                    {
                        var miniJobView = new MiniJobView();
                        miniJobView.JobId       = job.Id;
                        miniJobView.Title       = job.Title;
                        miniJobView.ServiceType = job.ServiceType;
                        miniJobView.PostedOn    = job.CreatedDateTime.ToString("dd MMMM yyyy hh:mm tt");
                        miniJobView.Address     = job.Address;
                        jobListViewModel.MiniJobViewModel.Add(miniJobView);
                    }
                    jobListViewModel.WorkFlowStatus = workFlowStatus;
                }
            }

            if (user.UserType == UserType.ServiceProvider)
            {
                var jobs = new List <Job>();

                if (workFlowStatus == JobworkflowStatus.Rejected)
                {
                    jobs = await _dbContext.Jobs.Include(b => b.Bids).Where(j => j.Bids.Any(b => b.CreatedUserId == userId && b.IsBidRejected)).ToListAsync();
                }
                else
                {
                    jobs = await _dbContext.Jobs.Include(b => b.Bids).Where(j => !j.IsDeleted && j.Bids.Any(b => b.CreatedUserId == userId) && j.workflowStatus == workFlowStatus).ToListAsync();
                }


                if (jobs.Any())
                {
                    jobListViewModel.MiniJobViewModel = new List <MiniJobView>();
                    foreach (var job in jobs)
                    {
                        var miniJobView = new MiniJobView();
                        miniJobView.JobId       = job.Id;
                        miniJobView.Title       = job.Title;
                        miniJobView.ServiceType = job.ServiceType;
                        miniJobView.PostedOn    = job.CreatedDateTime.ToString("dd MMMM yyyy hh:mm tt");
                        miniJobView.Address     = job.Address;
                        jobListViewModel.MiniJobViewModel.Add(miniJobView);
                    }
                    jobListViewModel.WorkFlowStatus = workFlowStatus;
                }
            }

            return(jobListViewModel);
        }