コード例 #1
0
        public IHttpActionResult Get(Guid tripId)
        {
            try
            {
          
                using (var uow = new GetPictures(null, tripId))
                {
                    var uowResult = uow.Execute();

                    switch (uowResult.Status)
                    {
                        case UnitOfWork.UnitOfWorkStatus.Ok:
                            return Ok(uowResult.Result);

                        case UnitOfWork.UnitOfWorkStatus.NotFound:
                            return NotFound();

                        case UnitOfWork.UnitOfWorkStatus.Forbidden:
                            return StatusCode(HttpStatusCode.Forbidden);

                        default:
                            return InternalServerError();
                    }
                }

            }
            catch (Exception)
            {
                return InternalServerError();
            }
        }
コード例 #2
0
ファイル: PicturesController.cs プロジェクト: shobuz03/plural
        public IHttpActionResult Get(Guid tripId)
        {
            try
            {
                using (var uow = new GetPictures(null, tripId))
                {
                    var uowResult = uow.Execute();

                    switch (uowResult.Status)
                    {
                    case UnitOfWork.UnitOfWorkStatus.Ok:
                        return(Ok(uowResult.Result));

                    case UnitOfWork.UnitOfWorkStatus.NotFound:
                        return(NotFound());

                    case UnitOfWork.UnitOfWorkStatus.Forbidden:
                        return(StatusCode(HttpStatusCode.Forbidden));

                    default:
                        return(InternalServerError());
                    }
                }
            }
            catch (Exception)
            {
                return(InternalServerError());
            }
        }
コード例 #3
0
ファイル: PictureService.cs プロジェクト: tarasen/RSOI_lab2
        public object Get(GetPictures request)
        {
            try
            {
                var count = Db.GetScalar<Picture, int>(r => Sql.Count(r.Id));
                var skip = (request.PageNumber - 1)*request.PageSize;

                if (skip >= count)
                    return new HttpResult(new PageResult<PictureDTO>(new PictureDTO[0], null, count), MimeTypes.Json);

                var pictures = Db.Select<Picture>(q => q.Limit(skip, request.PageSize));
                var minId = pictures.First().Id;
                var maxId = pictures.Last().Id;

                var pba =
                    Db.Select<PicturesByArtist>(p => p.PictureId >= minId && p.PictureId <= maxId)
                        .ToLookup(x => x.PictureId, x => x.ArtistId);

                var dto = new PageResult<PictureDTO>(
                    pictures.Select(p =>
                    {
                        var pictureDto = Mapper.Map<PictureDTO>(p);
                        pictureDto.Artists = pba.Where(x => x.Key == p.Id).SelectMany(x => x).Select(x => new CustomEntity {Id = x}).ToArray();
                        return pictureDto;
                    }),
                    new UriBuilder(Request.AbsoluteUri) {Query = $"page={request.PageNumber + 1}&page_size={request.PageSize}"}.Uri,
                    count);

                return new HttpResult(dto, $"{MimeTypes.Json}; charset=utf-8");
            }
            catch
            {
                return new HttpError(InternalServerError, "Internal Server Error");
            }
        }