public njAsyncFileUploadResult AddItem(HttpPostedFileWrapper postedfile, bool RequireImage = false)
        {
            if (postedfile == null)
            {
                return new Models.njAsyncFileUploadResult {
                           Id = new Guid(), Message = "فایل ارسال نشد", IsSuccessful = false, FileName = "خطا"
                }
            }
            ;
            if (postedfile.ContentLength == 0)
            {
                return new Models.njAsyncFileUploadResult {
                           Id = new Guid(), Message = "فایل ارسالی خالی می باشد", IsSuccessful = false, FileName = postedfile.FileName
                }
            }
            ;
            bool IsImage = postedfile.IsImage();

            if (!IsImage && RequireImage)
            {
                return new Models.njAsyncFileUploadResult {
                           Id = new Guid(), Message = "لطفاً عکس ارسال نمایید", IsSuccessful = false, FileName = postedfile.FileName
                }
            }
            ;
            if (MaximumFileCount <= Files.Count)
            {
                return new Models.njAsyncFileUploadResult {
                           Id = new Guid(), Message = "فایل ارسال نشد! شما حداکثر " + MaximumFileCount + " فایل میتوانید ارسال کنید.", IsSuccessful = false, FileName = postedfile.FileName
                }
            }
            ;

            Guid newid = Guid.NewGuid();

            byte[] fileData = null;
            using (var binaryReader = new BinaryReader(postedfile.InputStream))
            {
                fileData = binaryReader.ReadBytes(postedfile.ContentLength);
            }
            this.Files.Add(new Models.njAsyncFileUpload(fileData, postedfile.FileName, newid, postedfile.ContentType, IsImage));
            return(new Models.njAsyncFileUploadResult {
                FileName = postedfile.FileName, Id = newid, IsSuccessful = true, FileSize = fileData.Length, Message = "فایل باموفقیت ارسال شد"
            });
        }