Bitboxx.DNNModules.BBImageStory.Services.ImageController.UploadImage C# (CSharp) Метод

UploadImage() приватный Метод

private UploadImage ( ) : HttpResponseMessage
Результат System.Net.Http.HttpResponseMessage
        public HttpResponseMessage UploadImage()
        {
            try
            {
                var httpRequest = HttpContext.Current.Request;
                int storyId = Convert.ToInt32(httpRequest["storyId"]);
                if (httpRequest.Files.Count > 0)
                {
                    string imageDir = "Images/BBImageStory/" + storyId.ToString();

                    IFolderInfo folder;
                    if (!FolderManager.Instance.FolderExists(ActiveModule.PortalID, imageDir))
                        folder = FolderManager.Instance.AddFolder(ActiveModule.PortalID, imageDir);
                    else
                        folder = FolderManager.Instance.GetFolder(ActiveModule.PortalID, imageDir);


                    // Save uploaded files to upload directory
                    for (int i = 0; i < httpRequest.Files.Count; i++)
                    {
                        var file = httpRequest.Files[i];

                        if (!FileManager.Instance.FileExists(folder, file.FileName))
                        {
                            // Add File to directory
                            IFileInfo ifile = FileManager.Instance.AddFile(folder, file.FileName, file.InputStream, true);

                            // Insert Image reference into Image Table
                            ImageInfo image = new ImageInfo() { FileId = ifile.FileId };
                            int imageId = DbController.Instance.InsertImage(image);

                            // Create empty language info for image
                            ImageLangInfo imageLang = new ImageLangInfo() { ImageId = imageId, Language = System.Threading.Thread.CurrentThread.CurrentCulture.Name, LongDescription = "", ShortDescription = "" };
                            DbController.Instance.InsertImageLang(imageLang);

                            // Combine image and story in crosstable
                            ForeignImageInfo foreignImage = new ForeignImageInfo() { ForeignId = storyId, ForeignToken = "STORY", ImageId = imageId, ViewOrder = 0 };
                            DbController.Instance.InsertForeignImage(foreignImage);
                        }
                    }

                    var retval = new HttpResponseMessage(HttpStatusCode.OK);
                    retval.Content = new StringContent("File transfer completed", System.Text.Encoding.UTF8, "text/plain");
                    return retval;
                }
                return Request.CreateResponse(HttpStatusCode.BadRequest);

            }
            catch (Exception ex)
            {
                return Request.CreateResponse(HttpStatusCode.InternalServerError, ex);
            }
        }
    }