public async Task <ActionResult> Post(int id)
        {
            List <FoodMarkerPhotoClient> lstFoodMarkerImageData =
                new List <FoodMarkerPhotoClient>();
            int rank = 1;

            foreach (var file in Request.Form.Files)
            {
                FoodMarkerImageData imageData = new FoodMarkerImageData(id, file.FileName);
                imageData.ImageRank = rank;
                if (rank == 1)
                {
                    rank = 2;
                }
                Stream stream   = file.OpenReadStream();
                var    retPhoto = await _service.PostPhotoById(imageData, file.ContentType, stream);

                lstFoodMarkerImageData.Add(new FoodMarkerPhotoClient
                {
                    ImageUrl  = WebUtility.UrlEncode(retPhoto.ImageUrl),
                    ImageRank = retPhoto.ImageRank
                });
            }

            return(Ok(lstFoodMarkerImageData));
        }
        public async Task <FoodMarkerPhoto> PostPhotoById(FoodMarkerImageData foodMarkerImageData,
                                                          string contentType, Stream stream)
        {
            var postImageMetaDto = _mapper.Map <FoodMarkerImageDataDTO>(foodMarkerImageData);

            foodMarkerImageData.Id = postImageMetaDto.Id = _repoImageMeta.Post(postImageMetaDto);

            await _repoImageFile.PostFile(postImageMetaDto, contentType, stream);

            return(new FoodMarkerPhoto
            {
                ImageUrl = _repoImageFile.GetFileUrl(postImageMetaDto),
                ImageRank = (foodMarkerImageData.ImageRank.HasValue ?
                             foodMarkerImageData.ImageRank.Value : 2)
            });
        }
Example #3
0
        public async Task <IActionResult> CreateFoodMarker(FoodMarkerClient reqObj)
        {
            if (reqObj == null)
            {
                BadRequest();
            }

            JSONRetObj <int?> retObj = new JSONRetObj <int?>();

            try
            {
                retObj.IsSuccess = true;
                FoodMarker    foodMarker    = Mapper.Map <FoodMarker>(reqObj);
                FoodMarkerDTO foodMarkerDto = Mapper.Map <FoodMarkerDTO>(foodMarker);
                int           foodMarkerId  = _repoFoodMarker.Post(foodMarkerDto);

                foreach (var file in Request.Form.Files)
                {
                    FoodMarkerImageData postImageMeta = new FoodMarkerImageData(foodMarkerId, file.FileName);

                    var postImageMetaDto = Mapper.Map <FoodMarkerImageDataDTO>(postImageMeta);

                    postImageMeta.Id = postImageMetaDto.Id = _repoImageMeta.Post(postImageMetaDto);

                    Stream stream = file.OpenReadStream();
                    await _repoImageFile.PostFile(postImageMetaDto, file.ContentType, stream);
                }

                retObj.ResponseObj = foodMarkerId;
            }
            catch (Exception ex)
            {
                retObj.IsSuccess = false;
                retObj.Message   = ex.Message;
            }

            ViewData["RetObj"] = retObj;

            return(View("_Success"));
        }