public async Task <FileModel> Upload(int projectId, int sectionId)
        {
            if (!Request.Content.IsMimeMultipartContent())
            {
                throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
            }
            var context = HttpContext.Current.Request;
            var file    = new FileModel();

            if (context.Files.Count > 0)
            {
                var filesReadToProvider = await Request.Content.ReadAsMultipartAsync();

                var          index        = 0;
                BlobStorage  blobStorage  = new BlobStorage();
                TableStorage tableStorage = new TableStorage();
                QueueStorage queueStorage = new QueueStorage();

                foreach (var streamContent in filesReadToProvider.Contents)
                {
                    file.inputStream = await streamContent.ReadAsByteArrayAsync();

                    file.ProjectId = projectId;
                    file.SectionId = sectionId;
                    file.FileName  = context.Files[index].FileName;

                    file.FileSize  = file.inputStream.Length;
                    file.ImagePath = String.Format("{0}_{1}_{2}_{3}", projectId, sectionId, DateTime.Now.Ticks, file.FileName);
                    file.ThumbPath = String.Format("/UploadedFiles/{0}_{1}_th_{2}_{3}", projectId, sectionId, file.FileName, DateTime.Now.Ticks);
                    //var img = Image.FromStream(new System.IO.MemoryStream(fileBytes));
                    blobStorage.Upload(file);
                    file.inputStream = null;
                    // tableStorage.SaveTableStorage(file);
                    queueStorage.PushToQueue(file);

                    // FileModel fileModel= queueStorage.ReadFromQueue();
                    index++;
                }
            }
            return(file);
        }