Exemple #1
0
        public async Task <IHttpActionResult> CountCanceled()
        {
            IHandleJobs repo   = new JobRepository(_username);
            var         result = await repo.GetAllJobs(c => c.IsCanceled);

            return(Ok(result.Data.Count));
        }
Exemple #2
0
        public async Task <IHttpActionResult> ErmittleAlleJobs(int pageNo = 1, int pageSize = 10)
        {
            try
            {
                IHandleJobs repo   = new JobRepository(_username);
                var         result = await repo.GetAllJobs(c => !c.IsDeleted);

                int skip  = (pageNo - 1) * pageSize;
                int total = result.Data.Count;

                result.Data = result.Data.Skip(skip).Take(pageSize).ToList();

                foreach (var job in result.Data)
                {
                    job._links = new Link()
                    {
                        _actions = new List <Action>()
                        {
                            CreateActionLink <JobDetailController>(Names.JobDetails, c => c.JobDetails(job.UniqueId), Names.JobDetails),
                            CreateActionLink <JobDetailController>(Names.LoescheJob, c => c.LoescheJob(job.UniqueId), Names.LoescheJob),
                            CreateActionLink <JobDetailController>(Names.SetzeJobInWork, c => c.SetzeJobInWork(job.UniqueId), Names.SetzeJobInWork),
                            CreateActionLink <JobDetailController>(Names.SetzeJobDone, c => c.SetzeJobDone(job.UniqueId), Names.SetzeJobDone),
                            CreateActionLink <JobDetailController>(Names.SetzeJobIsCanceled, c => c.SetzeJobIsCanceled(job.UniqueId), Names.SetzeJobIsCanceled),
                        }
                    };
                }

                var linkBuilderResult = new PageLinkBuilder(Url, Names.ErmittleAlleJobs, null, pageNo, pageSize, total);
                return(Ok(new JobResult <List <Job> >()
                {
                    SemasResult = result,
                    _links = GetJobRootLinks(),
                    _paging = new
                    {
                        First = linkBuilderResult.FirstPage,
                        Previous = linkBuilderResult.PreviousPage,
                        Next = linkBuilderResult.NextPage,
                        Last = linkBuilderResult.LastPage,
                        TotalItems = total,
                        TotalPageCount = linkBuilderResult.TotalPageCount
                    }
                }));
            }
            catch (Exception e)
            {
                return(Content(HttpStatusCode.BadRequest, e.Message));
            }
        }