Ejemplo n.º 1
0
        public async Task <IActionResult> InsertOrUpdateBookImage(ImageBookViewModel ViewModel)
        {
            if (ModelState.IsValid)
            {
                var Book = await _unitofwork.BaseRepository <Book>().FindByIDAsync(ViewModel.BookID);

                using (var memorySteam = new MemoryStream())
                {
                    string FileExtension = Path.GetExtension(ViewModel.Image.FileName);
                    await ViewModel.Image.CopyToAsync(memorySteam);

                    var  types  = FileExtentions.FileType.Image;
                    bool result = FileExtentions.IsValidFile(memorySteam.ToArray(), types, FileExtension.Replace('.', ' '));
                    if (result)
                    {
                        Book.Image = memorySteam.ToArray();
                        await _unitofwork.Commit();

                        ViewModel.ImageByte       = memorySteam.ToArray();
                        TempData["Notifications"] = "آپلود فایل با موفقیت انجام شد.";
                    }
                    else
                    {
                        ModelState.AddModelError("", "فایل تصویر کتاب نامعتبر است.");
                    }
                }
            }
            return(PartialView("_InsertOrUpdateBookImage", ViewModel));
        }
Ejemplo n.º 2
0
        public async Task <UploadFileResult> UploadFileAsync(IFormFile file, string path)
        {
            string FileExtension = Path.GetExtension(file.FileName);
            var    types         = FileExtentions.FileType.PDF;
            bool   result        = true;

            using (var memory = new MemoryStream())
            {
                await file.CopyToAsync(memory);

                result = FileExtentions.IsValidFile(memory.ToArray(), types, FileExtension.Replace('.', ' '));
                if (result)
                {
                    using (var stream = new FileStream(path, FileMode.Create))
                    {
                        await file.CopyToAsync(stream);
                    }

                    return(new UploadFileResult(true, null));
                }
                else
                {
                    return(new UploadFileResult(false, new List <string>()
                    {
                        "فایل انتخاب شده معتبر نمی باشد."
                    }));
                }
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 显示打开文件对话框
 /// </summary>
 /// <param name="caption">标题</param>
 /// <param name="fileName">文件名</param>
 /// <param name="fileFilters">文件过滤器</param>
 public static DialogReturn ShowSaveFileDialog(string caption, ref string fileName, params string[] fileFilters)
 {
     if (DefaultUserInterface == null)
     {
         Debug.WriteLine("ShowSaveFileDialog");
         return(DialogReturn.None);
     }
     return(DefaultUserInterface.ShowFileDialog(false, caption, FileExtentions.BuildFileFilter(fileFilters), ref fileName));
 }
Ejemplo n.º 4
0
        public async Task <IActionResult> Download(int id)
        {
            var book = await _unitofwork.BaseRepository <Book>().FindByIDAsync(id);

            if (book == null)
            {
                return(NotFound());
            }
            var Path   = $"{_environment.WebRootPath}/BookFiles/{book.File}";
            var memory = new MemoryStream();

            using (var stream = new FileStream(Path, FileMode.Open))
            {
                await stream.CopyToAsync(memory);
            }
            memory.Position = 0;
            return(File(memory, FileExtentions.GetContentType(Path), book.File));
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> Download(int?id)
        {
            var Book = await _context.BookStors.FindAsync(id);

            if (Book == null)
            {
                return(Content("همچییین موجود نیست"));
            }
            else
            {
                if (Book.File == null)
                {
                    return(Content("فایل  موجود نیست"));
                }
                var path   = $"{_evn.WebRootPath}/BookFile/{Book.File}";
                var Memory = new MemoryStream();
                using (var stream = new FileStream(path, FileMode.Open))
                {
                    await stream.CopyToAsync(Memory);
                }
                Memory.Position = 0;
                return(File(Memory, FileExtentions.GetContentType(path), Book.File));
            }
        }
Ejemplo n.º 6
0
        public async Task <bool> CreateBookAsync(BooksCreateEditViewModel ViewModel)
        {
            try
            {
                byte[] Image = null;
                if (!string.IsNullOrWhiteSpace(ViewModel.ImageBase64))
                {
                    Image = Convert.FromBase64String(ViewModel.ImageBase64);
                }
                List <Book_Translator> translators = new List <Book_Translator>();
                List <Book_Category>   categories  = new List <Book_Category>();
                if (ViewModel.TranslatorID != null)
                {
                    translators = ViewModel.TranslatorID.Select(a => new Book_Translator {
                        TranslatorID = a
                    }).ToList();
                }
                if (ViewModel.CategoryID != null)
                {
                    categories = ViewModel.CategoryID.Select(a => new Book_Category {
                        CategoryID = a
                    }).ToList();
                }

                DateTime?PublishDate = null;
                if (ViewModel.IsPublish == true)
                {
                    PublishDate = DateTime.Now;
                }
                Book book = new Book()
                {
                    ISBN         = ViewModel.ISBN,
                    IsPublish    = ViewModel.IsPublish,
                    NumOfPages   = ViewModel.NumOfPages,
                    Stock        = ViewModel.Stock,
                    Price        = ViewModel.Price,
                    LanguageID   = ViewModel.LanguageID,
                    Summary      = ViewModel.Summary,
                    Title        = ViewModel.Title,
                    Image        = Image,
                    PublishYear  = ViewModel.PublishYear,
                    PublishDate  = PublishDate,
                    Weight       = ViewModel.Weight,
                    PublisherID  = ViewModel.PublisherID,
                    Author_Books = ViewModel.AuthorID.Select(a => new Author_Book {
                        AuthorID = a
                    }).ToList(),
                    book_Tranlators = translators,
                    book_Categories = categories,
                    File            = ViewModel.FileName,
                };

                if (ViewModel.Image != null)
                {
                    using (var memorySteam = new MemoryStream())
                    {
                        string FileExtension = Path.GetExtension(ViewModel.Image.FileName);
                        await ViewModel.Image.CopyToAsync(memorySteam);

                        var  types  = FileExtentions.FileType.Image;
                        bool result = FileExtentions.IsValidFile(memorySteam.ToArray(), types, FileExtension.Replace('.', ' '));
                        if (result)
                        {
                            book.Image = memorySteam.ToArray();
                        }
                    }
                }

                await _UW.BaseRepository <Book>().CreateAsync(book);

                await _UW.Commit();

                return(true);
            }

            catch
            {
                return(false);
            }
        }