/// <summary> /// DELETE whole album /// </summary> /// <param name="albumid"></param> /// <param name="pagename"></param> /// <returns>My Album view</returns> public IActionResult DeleteAlbum(string albumid, string pagename) { Album album = new Album(); int AlbumId = 0; if (!String.IsNullOrEmpty(albumid)) { AlbumId = Convert.ToInt32(Protector.Unprotect(albumid)); album = albumRepository.GetById(AlbumId); } albumRepository.Delete(AlbumId); foreach (var item in album.PhotoList) { LMCommon.DeletePhoto(item.PhotoPath, hostingEnvironment.WebRootPath, configuration["PhotoPath"]); } toastNotification.AddSuccessToastMessage("Album Delete Successfully."); string page = pagename.ToLower(); if (page == "allalbums") { return(RedirectToAction("AllAlbums", "User")); } else if (page == "newalbums") { return(RedirectToAction("NewAlbum", "User")); } return(RedirectToAction("MyAlbums", "User")); // return RedirectToAction("AlbumDetail", new RouteValueDictionary( //new { controller = "User", action = "AlbumDetail", albumId = model.ProtectorId })); }
public IActionResult DeletePhoto(int Id, string AlbumEncrypted) { Photos p = photoRepository.DeletePhoto(Id); //return RedirectToAction("AlbumDetail", new RouteValueDictionary(new { controller = "User", action = "AlbumDetail", albumId = AlbumEncrypted })); LMCommon.DeletePhoto(p.PhotoPath, hostingEnvironment.WebRootPath, configuration["PhotoPath"]); toastNotification.AddSuccessToastMessage("Image Delete Successfully"); return(RedirectToAction("AlbumDetail", new RouteValueDictionary(new { controller = "User", action = "AlbumDetail", albumId = AlbumEncrypted }))); }
public async Task <IActionResult> NewAlbum(NewAlbumViewModel obj) { Album model = obj.Album; //IF model state is valid then procced if (ModelState.IsValid) { if (model.Id == 0) { model.CreatedDate = DateTime.Now.ToString(); } AccountUser user = await GetLoggedInUser(); model.AccountUserId = user.Id; if (model.FileLists?.Count > 0) { string FileExtension = String.Empty; //CREATE album with valid images or gives an ERROR if (!ValidateFileExtension(model.FileLists, out FileExtension)) { TempData["Error"] = "File Extension " + FileExtension + " is not allowed"; toastNotification.AddErrorToastMessage("File Extension " + FileExtension + " is not allowed"); return(RedirectToAction("NewAlbum")); } List <Photos> p = new List <Photos>(); List <string> Paths = new List <string>(); Paths = await LMCommon.UploadMultiplePhoto(model.FileLists, hostingEnvironment.WebRootPath, configuration["PhotoPath"]); if (Paths.Count > 0) { foreach (var item in Paths) { Photos ph = new Photos(); ph.PhotoPath = item; ph.UserId = user.Id; ph.ImgName = GetImageName(item); ph.UplodedDate = DateTime.Now.ToString(); p.Add(ph); } } model.PhotoList = p; } albumRepository.Add(model); toastNotification.AddSuccessToastMessage("Album save successfully"); } return(RedirectToAction("NewAlbum")); }
public async Task <IActionResult> UpdateAlbum(Album model) { //IF album is valid then proceed if (ModelState.IsValid) { if (model.Id == 0) { model.CreatedDate = DateTime.Now.ToString(); } AccountUser user = await GetLoggedInUser(); model.AccountUserId = user.Id; if (model.FileLists?.Count > 0) { string FileExtension = String.Empty; //CHECK if file uploaded is wrong if (!ValidateFileExtension(model.FileLists, out FileExtension)) { //IF wrong file give an ERROR message TempData["Error"] = "File Extension " + FileExtension + " is not allowed"; toastNotification.AddErrorToastMessage("File Extension " + FileExtension + " is not allowed"); return(RedirectToAction("AlbumDetail", new RouteValueDictionary(new { controller = "User", action = "AlbumDetail", albumId = model.ProtectorId }))); } List <Photos> p = new List <Photos>(); List <string> Paths = new List <string>(); Paths = await LMCommon.UploadMultiplePhoto(model.FileLists, hostingEnvironment.WebRootPath, configuration["PhotoPath"]); if (Paths.Count > 0) { foreach (var item in Paths) { Photos ph = new Photos(); ph.PhotoPath = item; ph.UserId = user.Id; ph.UplodedDate = DateTime.Now.ToString(); ph.ImgName = GetImageName(item); p.Add(ph); } } model.PhotoList = p; } //SUCCESSFULY updated albumRepository.Add(model); toastNotification.AddSuccessToastMessage("Album update successfully"); } return(RedirectToAction("NewAlbum")); }
public async Task <IActionResult> ReplacePhoto(Photos model) { if (model != null) { string FileExtension = String.Empty; List <IFormFile> filelst = new List <IFormFile>(); filelst.Add(model.ReplacePhoto); //CHECK for new file if it's valid then proceed if (!ValidateFileExtension(filelst, out FileExtension)) { TempData["Error"] = "File Extension " + FileExtension + " is not allowed"; return(RedirectToAction("AlbumDetail", new RouteValueDictionary(new { controller = "User", action = "AlbumDetail", albumId = model.AlbumEncrypted }))); } Photos p = photoRepository.DeletePhoto(model.Id); //return RedirectToAction("AlbumDetail", new RouteValueDictionary(new { controller = "User", action = "AlbumDetail", albumId = AlbumEncrypted })); LMCommon.DeletePhoto(model.PhotoPath, hostingEnvironment.WebRootPath, configuration["PhotoPath"]); string path = await LMCommon.UploadPhoto(model.ReplacePhoto, hostingEnvironment.WebRootPath, configuration["PhotoPath"]); //REPLACE if (!String.IsNullOrEmpty(path)) { AccountUser user = await GetLoggedInUser(); Photos ph = new Photos(); ph.PhotoPath = path; ph.AlbumId = model.AlbumId; ph.UserId = user.Id; ph.UplodedDate = DateTime.Now.ToString(); ph.ImgName = GetImageName(path); photoRepository.Add(ph); toastNotification.AddSuccessToastMessage("Image Replace successfully"); } } return(RedirectToAction("AlbumDetail", new RouteValueDictionary(new { controller = "User", action = "AlbumDetail", albumId = model.AlbumEncrypted }))); }
/// <summary> /// DELETE current user /// </summary> /// <param name="UserId"></param> /// <returns>all users view</returns> public async Task <IActionResult> DeleteUser(string UserId) { AccountUser user = await userManager.Users.Include(i => i.AlbumList).ThenInclude(r => r.PhotoList).Where(user => user.Id == UserId).FirstOrDefaultAsync(); //user.AlbumList = user.AlbumList.ToList(); // List<Album> albums= albumRepository.GetUserAlbums(user.Id); if (user != null && user.AlbumList.Count > 0) { foreach (var item in user.AlbumList.ToList()) { foreach (var item2 in item.PhotoList.ToList()) { LMCommon.DeletePhoto(item2.PhotoPath, hostingEnvironment.WebRootPath, configuration["PhotoPath"]); photoRepository.DeletePhoto(item2.Id); } albumRepository.Delete(item.Id); } } await userManager.DeleteAsync(user); return(RedirectToAction("AllUsers")); }