Exemple #1
0
        /// <summary>
        /// Add image to album
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public PostEditResponseModel CreateImage(CreateImageRequestModel request)
        {
            if (AllowApi)
                if (!CheckApi(new Guid(request.ApiKey)))
                    return new PostEditResponseModel()
                    {
                        Code = "-2",
                        Message = "Not allow this function for this API key. Please check again"
                    };

            using (var tx = new TransactionScope())
            {
                try
                {
                    var imageId = Guid.NewGuid();

                    var pos = request.ImageName.LastIndexOf('.');
                    var fileextention = pos == -1 ? ".jpg" : request.ImageName.Substring(pos).ToLower();

                    var filenameLarge = "large-" + imageId + fileextention;
                    var filename = imageId.ToString() + fileextention;
                    var filenameMedium = "medium-" + imageId.ToString() + fileextention;

                    var uploadOrigin = CommonLib.UploadFile(request.ImageFile, filename, CommonLib.TypePath.Post);
                    var upload = CommonLib.UploadAndResizeImage(request.ImageFile, filenameLarge, 1000,
                                                                CommonLib.TypePath.Post);
                    var upLoadMedium = CommonLib.UploadAndResizeImage(request.ImageFile, filenameMedium, 500,
                                                                      CommonLib.TypePath.Post);

                    if (!upload || !upLoadMedium || !uploadOrigin)
                    {
                        tx.Dispose();
                        return new PostEditResponseModel
                            {
                                Code = "-1",
                                Message = "Upload image fail. Please check again"
                            }; // Upload image fail
                    }

                    // Insert new image
                    var imageData = new Image()
                        {
                            ImageId = imageId,
                            ImageTitle = request.ImageTitle,
                            AlbumId = new Guid(request.AlbumId),
                            ImageLarge = filenameLarge,
                            ImageMedium = filenameMedium,
                            ImageOriginal = filename,
                            DeviceInfo = request.DeviceInfo,
                            LocationInfo = request.LocationInfo,
                            ImageCreateDate = DateTime.UtcNow,
                            ImageType = request.ImageType,
                            Status = 1,
                            ImageTags = request.ImageTags,
                            ImageStory = request.ImageStory
                        };

                    DataContext.Images.Add(imageData);
                    var result = DataContext.SaveChanges();
                    tx.Complete();

                    return new PostEditResponseModel()
                        {
                            Code = "1",
                            Message = request.ToString()
                        };

                }
                catch (Exception exception)
                {
                    tx.Dispose();
                    return new PostEditResponseModel()
                        {
                            Code = "-1",
                            Message = exception.Message
                        };
                }
            }
        }
Exemple #2
0
        public JsonResult UploadImage(List<HttpPostedFileBase> imageFiles, string albumId)
        {
            string errorMessage;
            try
            {
                if (imageFiles.Count > 0)
                {
                    var img = PostRepository.GetSingleAlbum(albumId);
                    if (img.Code == "1")
                    {
                        if ((img.Album.Images.Count + imageFiles.Count) > 100)
                            errorMessage = "Album không được nhiều hơn 100 ảnh. Vui lòng kiểm tra lại";
                        else
                        {
                            foreach (var file in imageFiles)
                            {
                                if (file.ContentType.Contains("image"))
                                {
                                    var mem = new MemoryStream();
                                    file.InputStream.CopyTo(mem);
                                    var image = new CreateImageRequestModel()
                                        {
                                            AlbumId = albumId,
                                            ImageFile = Convert.ToBase64String(mem.ToArray()),
                                            ImageName = file.FileName,
                                            ImageType = file.ContentType,
                                            DeviceInfo = "web",
                                            ImageTags = img.Album.Tags,
                                            ImageTitle = img.Album.AlbumTitle
                                        };

                                    PostRepository.CreateImage(image);
                                }
                            }

                            return Json(new { Result = true });
                        }
                    }
                    else
                        errorMessage = "Có lỗi! Bạn vui lòng kiểm tra lại";
                }
                else
                    errorMessage = "Bạn phải chọn ít nhất 1 ảnh";
            }
            catch (Exception exception)
            {
                errorMessage = exception.Message;
            }

            return Json(new { Result  = false, Message = errorMessage});
        }