public ActionResult DeleteFile(FileDeleteModel model) { Tbl_Files q = db.Tbl_Files.Where(a => a.File_DownloadKey == model.Key).SingleOrDefault(); if (q != null) { Tbl_BookDetails _BookDetails = db.Tbl_Book.Where(a => a.Book_ID == q.File_BookID).SingleOrDefault().Tbl_BookDetails; if (_BookDetails.BD_FileCount > 1) { _BookDetails.BD_FileCount--; } else { _BookDetails.BD_FileCount = null; } int book_id = q.File_BookID; string path = Path.Combine(Server.MapPath("~/App_Data/Upload/"), q.File_Path); string root = Path.Combine(Server.MapPath("~/App_Data/Upload/"), q.File_FolderName.ToString()); db.Tbl_Files.Remove(q); db.Entry(_BookDetails).State = System.Data.Entity.EntityState.Modified; if (Convert.ToBoolean(db.SaveChanges() > 0)) { FileManagement file = new FileManagement(); file.DeleteFileWithPath(path); file.Dir_Empty(root); return(RedirectToAction("BookShow", "Book", new { id = book_id })); } else { return(null); } } else { return(null); } }
public void UploadFiles(int id) { if (db.Tbl_Book.Any(a => a.Book_ID == id)) { if (Request.Files?.Count > 0) { Guid folderName; int index = 0; if (db.Tbl_Files.Any(a => a.File_BookID == id)) { folderName = db.Tbl_Files.FirstOrDefault(a => a.File_BookID == id).File_FolderName; index = db.Tbl_Files.Select(a => a.File_BookID == id).Count(); } else { folderName = Guid.NewGuid(); Directory.CreateDirectory(Path.Combine(Server.MapPath("~/App_Data/Upload/"), folderName.ToString())); } Membership membership = new Membership(); var filesCount = Request.Files.Count; for (int i = 0; i < filesCount; i++) { Tbl_Files q = new Tbl_Files(); var file = Request.Files[i]; index++; q.File_Index = index; var fileName = Path.GetFileName(file.FileName); q.File_Name = fileName; var path = Path.Combine(Server.MapPath("~/App_Data/Upload/"), string.Format("{0}/", folderName.ToString()), fileName); q.File_Path = Path.Combine(string.Format("{0}/", folderName.ToString()), fileName); q.File_BookID = id; q.File_UserUploaderID = membership.Get_IDByUserName(User.Identity.Name); q.File_Date = DateTime.Now; Guid key = Guid.NewGuid(); q.File_DownloadKey = key; q.File_DownloadAcssesGlobalIP = true; q.File_DownloadAcssesLocalIP = true; q.File_FolderName = folderName; db.Tbl_Files.Add(q); Tbl_BookDetails _BookDetails = db.Tbl_Book.Where(a => a.Book_ID == id).SingleOrDefault().Tbl_BookDetails; if (_BookDetails.BD_FileCount != null) { _BookDetails.BD_FileCount++; } else { _BookDetails.BD_FileCount = 1; } db.Entry(_BookDetails).State = System.Data.Entity.EntityState.Modified; if (Convert.ToBoolean(db.SaveChanges() > 0)) { file.SaveAs(path); } else { } } } } }
public ActionResult BookNew(BookNewModel model) { Tbl_Book _book = new Tbl_Book(); Tbl_BookDetails _details = new Tbl_BookDetails(); Tbl_BookAcsses _acsses = new Tbl_BookAcsses(); Membership membership = new Membership(); Rep_Book rep = new Rep_Book(); model.DetailsNav = rep.Get_BookDetailsListByBookType(model.ID); _book.Book_Code = model.Book.Book_Code; _book.Book_Name = model.Book.Book_Name; _book.Book_BookTypeID = model.ID; _book.Book_UploaderUserID = membership.Get_IDByUserName(User.Identity.Name); _book.Book_Publish = false; _details.BD_DigitalVersionAvailable = model.Details.BD_DigitalVersionAvailable; if (model.Details.BD_DigitalVersionAvailable) { _details.BD_FileEnabel = true; } _details.BD_PhysicalVersionAvailable = model.Details.BD_PhysicalVersionAvailable; if (model.Details.BD_PhysicalVersionAvailable) { _details.BD_LibraryID = model.Details.BD_LibraryID; } _details.BD_PageCount = model.Details.BD_PageCount; _details.BD_LanguageID = model.Details.BD_LanguageID; foreach (var item in model.DetailsNav) { switch (item) { case "Titel": _details.BD_Titel = model.Details.BD_Titel; break; case "Abstract": _details.BD_Abstract = model.Details.BD_Abstract; break; case "Student": _details.BD_StudentID = model.Details.BD_StudentID; break; case "Master": _details.BD_MasterID = model.Details.BD_MasterID; break; case "ISBN": _details.BD_ISBN = model.Details.BD_ISBN; break; case "Group": _details.BD_GroupID = model.Details.BD_GroupID; break; case "Branch": _details.BD_BranchID = model.Details.BD_BranchID; break; case "Publishers": _details.BD_Publishers = model.Details.BD_Publishers; break; case "Subject": _details.BD_Subject = model.Details.BD_Subject; break; case "Description": _details.BD_Description = model.Details.BD_Description; break; case "WriterName": _details.BD_WriterName = model.Details.BD_WriterName; break; case "ReleaseCount": _details.BD_ReleaseCount = model.Details.BD_ReleaseCount; break; case "Translator": _details.BD_Translator = model.Details.BD_Translator; break; default: break; } } _acsses.BookAcsses_Guest = false; _acsses.BookAcsses_Global = false; _acsses.BookAcsses_Local = false; _acsses.BookAcsses_Custom = false; db.Tbl_BookDetails.Add(_details); db.Tbl_BookAcsses.Add(_acsses); _book.Tbl_BookDetails = _details; _book.Tbl_BookAcsses = _acsses; db.Tbl_Book.Add(_book); foreach (var item in model.Tag) { Tbl_BookTag _booktag = new Tbl_BookTag(); int id = 0; if (Int32.TryParse(item, out id)) { Tbl_Tag tag = db.Tbl_Tag.Where(a => a.Tag_ID == id).SingleOrDefault(); if (tag == null) { Tbl_Tag _tag = new Tbl_Tag(); _tag.Tag_Name = item; db.Tbl_Tag.Add(_tag); _booktag.Tbl_Tag = _tag; _booktag.Tbl_Book = _book; } else { _booktag.Tbl_Tag = tag; _booktag.Tbl_Book = _book; } } else { Tbl_Tag _tag = new Tbl_Tag(); _tag.Tag_Name = item; db.Tbl_Tag.Add(_tag); _booktag.Tbl_Tag = _tag; _booktag.Tbl_Book = _book; } db.Tbl_BookTag.Add(_booktag); } if (Convert.ToBoolean(db.SaveChanges() > 0)) { ViewBag.Message = "عملبات با موفقیت انجام شده!"; ViewBag.State = "Sucsse"; if (_details.BD_DigitalVersionAvailable) { return(RedirectToAction("BookUplaod", "Book", new { id = _book.Book_ID })); } else { if (User.IsInRole("Publish")) { return(RedirectToAction("BookPublish", "Book", new { id = _book.Book_ID })); } return(RedirectToAction("BookList", "Book")); } } else { ViewBag.Message = "عملبات با موفقیت انجام نشده!"; ViewBag.State = "Error"; return(RedirectToAction("BookNew", "Book", new { id = model.ID })); } }
public ActionResult BookEdit(BookEditModel model) { Tbl_Book _book = new Tbl_Book(); Tbl_BookDetails _details = new Tbl_BookDetails(); Tbl_BookTag _tag = new Tbl_BookTag(); Membership membership = new Membership(); Rep_Book rep = new Rep_Book(); var q = db.Tbl_Book.Where(a => a.Book_ID == model.ID).SingleOrDefault(); _book = q; _details = q.Tbl_BookDetails; model.DetailsNav = rep.Get_BookDetailsListByBookType(q.Tbl_BookType.BookType_ID); _book.Book_Code = model.Book.Book_Code; _book.Book_Name = model.Book.Book_Name; _book.Book_UploaderUserID = membership.Get_IDByUserName(User.Identity.Name); _details.BD_DigitalVersionAvailable = model.Details.BD_DigitalVersionAvailable; if (model.Details.BD_DigitalVersionAvailable) { _details.BD_FileEnabel = true; } _details.BD_PhysicalVersionAvailable = model.Details.BD_PhysicalVersionAvailable; if (model.Details.BD_PhysicalVersionAvailable) { _details.BD_LibraryID = model.Details.BD_LibraryID; } _details.BD_PageCount = model.Details.BD_PageCount; _details.BD_LanguageID = model.Details.BD_LanguageID; foreach (var item in model.DetailsNav) { switch (item) { case "Titel": _details.BD_Titel = model.Details.BD_Titel; break; case "Abstract": _details.BD_Abstract = model.Details.BD_Abstract; break; case "Student": _details.BD_StudentID = model.Details.BD_StudentID; break; case "Master": _details.BD_MasterID = model.Details.BD_MasterID; break; case "ISBN": _details.BD_ISBN = model.Details.BD_ISBN; break; case "Group": _details.BD_GroupID = model.Details.BD_GroupID; break; case "Branch": _details.BD_BranchID = model.Details.BD_BranchID; break; case "Publishers": _details.BD_Publishers = model.Details.BD_Publishers; break; case "Subject": _details.BD_Subject = model.Details.BD_Subject; break; case "Description": _details.BD_Description = model.Details.BD_Description; break; case "WriterName": _details.BD_WriterName = model.Details.BD_WriterName; break; case "ReleaseCount": _details.BD_ReleaseCount = model.Details.BD_ReleaseCount; break; case "Translator": _details.BD_Translator = model.Details.BD_Translator; break; default: break; } } db.Entry(_details).State = System.Data.Entity.EntityState.Modified; db.Entry(_book).State = System.Data.Entity.EntityState.Modified; if (Convert.ToBoolean(db.SaveChanges() > 0)) { return(RedirectToAction("BookShow", "Book", new { id = _book.Book_ID })); } else { ViewBag.Message = "عملبات با موفقیت انجام نشده!"; ViewBag.State = "Error"; return(RedirectToAction("BookShow", "Book", new { id = _book.Book_ID })); } }