// GET: MediaKitFiles/Delete/5 public async Task <IActionResult> Delete(int?id) { if (id == null) { return(NotFound()); } MediaKitFileViewModel mediaKitFilevm = new MediaKitFileViewModel(); var mediaKitFile = await _context.MediaKitFile.SingleOrDefaultAsync(m => m.MediaKitFileId == id); if (mediaKitFile == null) { return(NotFound()); } else { mediaKitFilevm.MediaKitFileId = mediaKitFile.MediaKitFileId; mediaKitFilevm.Description = mediaKitFile.Description; mediaKitFilevm.IconURL = mediaKitFile.URL; mediaKitFilevm.CopyrightDate = mediaKitFile.CopyrightDate; mediaKitFilevm.DateCreated = mediaKitFile.DateCreated; mediaKitFilevm.DateModified = mediaKitFile.DateModified; mediaKitFilevm.Enabled = mediaKitFile.Enabled; mediaKitFilevm.Owner = _context.Owner.SingleOrDefault(o => o.OwnerId == mediaKitFile.OwnerId); } return(View(mediaKitFilevm)); }
public async Task <IActionResult> UploadFilesAjax() { Boolean blnError = false; String errorMessage = ""; String errorElement = ""; Int32 ownerid = 0; DateTime copyrightDate = DateTime.Now; string newFileTags = Request.Form["FileTags"].ToString(); if (string.IsNullOrEmpty(newFileTags)) { blnError = true; errorMessage = "Media kit file cannot be updated because there is a problem with the tags."; errorElement = "FileTags"; } else { if (newFileTags.Length < 2) { blnError = true; errorMessage = "Media kit file cannot be updated because there is a problem with the tags."; errorElement = "FileTags"; } } string rawFilename = Request.Form["url"].ToString().Trim().ToLower(); if (!string.IsNullOrEmpty(Request.Form["copyrightDate"])) { try { copyrightDate = Convert.ToDateTime(Request.Form["copyrightDate"].ToString().Trim()); } catch (Exception ex) { blnError = true; errorMessage = "Media kit file cannot be updated because there is a problem with the copyright date."; errorElement = "copyrightDate"; } } else { blnError = true; errorMessage = "Media kit file cannot be updated because there is a problem with the copyright date."; errorElement = "copyrightDate"; } if (!string.IsNullOrEmpty(Request.Form["ownerId"])) { bool result = Int32.TryParse(Request.Form["ownerId"].ToString().Trim(), out ownerid); if (ownerid == 0) { if (!string.IsNullOrEmpty(Request.Form["ownerName"])) { Owner newOwner = new Owner(); newOwner.Name = Request.Form["ownerName"].ToString().Trim(); newOwner.Address = Request.Form["address"].ToString().Trim(); newOwner.Email = Request.Form["email"].ToString().Trim(); newOwner.Phone = Request.Form["phone"].ToString().Trim(); newOwner.SocialMedia = Request.Form["socialMedia"].ToString().Trim(); newOwner.Website = Request.Form["website"].ToString().Trim(); newOwner.DateCreated = DateTime.Now; _context.Add(newOwner); await _context.SaveChangesAsync(); ownerid = newOwner.OwnerId; } } } if (ownerid == 0) { blnError = true; errorMessage = "Media kit file cannot be updated because there is a problem with the owner."; errorElement = "ownerId"; } string description = Request.Form["description"].ToString().Trim(); if (string.IsNullOrEmpty(description)) { blnError = true; errorMessage = "Media kit file cannot be updated because there is a problem with the caption."; errorElement = "description"; } string altText = Request.Form["altText"].ToString().Trim(); if (string.IsNullOrEmpty(altText)) { blnError = true; errorMessage = "Media kit file cannot be updated because there is a problem with the alt text."; errorElement = "altText"; } var files = Request.Form.Files; if (files.Count == 0) { blnError = true; errorMessage = "Media kit file cannot be updated because there is a problem with the file."; errorElement = "files"; } if (blnError) { return(Json(new { status = "error", message = errorMessage, element = errorElement })); } else { var filename = ""; var rawFile = ""; var convertedFilename = ""; var fileExt = ""; foreach (var file in files) { rawFile = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"'); string[] fileParts = rawFile.ToString().Split('.'); if (fileParts.Length >= 2) { fileExt = "." + fileParts[fileParts.Length - 1]; } if (!string.IsNullOrEmpty(rawFilename)) { filename = hostingEnv.WebRootPath + $@"\mediakitfiles\{rawFilename + fileExt}"; convertedFilename = rawFilename + fileExt; if (fileExists(rawFilename + fileExt)) { blnError = true; errorMessage = "Media kit file cannot be updated because there is a problem with the file."; errorElement = "files"; return(Json(new { status = "error", message = errorMessage, element = errorElement })); } } else { filename = hostingEnv.WebRootPath + $@"\mediakitfiles\{rawFile}"; convertedFilename = rawFile; if (fileExists(filename)) { blnError = true; errorMessage = "Media kit file cannot be updated because there is a problem with the file."; errorElement = "files"; return(Json(new { status = "error", message = errorMessage, element = errorElement })); } } using (FileStream fs = System.IO.File.Create(filename)) { file.CopyTo(fs); fs.Flush(); } } MediaKitFile newKitFile = new MediaKitFile(); MediaKitFile tempKitFile = new MediaKitFile(); MediaKitFileViewModel output = new MediaKitFileViewModel(); tempKitFile = _context.MediaKitFile.SingleOrDefault(m => m.URL.ToLower() == convertedFilename); if (tempKitFile == null) { newKitFile.DateCreated = DateTime.Now; newKitFile.DateModified = DateTime.Now; newKitFile.Description = description; newKitFile.Enabled = true; newKitFile.MediaType = getFileType(fileExt); newKitFile.URL = convertedFilename; newKitFile.OwnerId = ownerid; newKitFile.CopyrightDate = copyrightDate; newKitFile.AltText = altText; _context.Add(newKitFile); await _context.SaveChangesAsync(); List <MediaKitFileTag> fileTags = new List <MediaKitFileTag>(); if (!string.IsNullOrEmpty(newFileTags)) { if (newFileTags.Substring(0, 1) == ",") { newFileTags = newFileTags.Substring(1, newFileTags.Length - 1); } if (newFileTags.Substring(newFileTags.Length - 1, 1) == ",") { newFileTags = newFileTags.Substring(0, newFileTags.Length - 1); } List <String> tags = newFileTags.Split(',').ToList(); for (var x = 0; x < tags.Count; x++) { _context.MediaKitFileTag.Add(new MediaKitFileTag() { MediaKitFileId = newKitFile.MediaKitFileId, TagId = Convert.ToInt32(tags[x]) }); } await _context.SaveChangesAsync(); output.MediaKitFileId = newKitFile.MediaKitFileId; output.URL = newKitFile.URL; output.CopyrightDate = newKitFile.CopyrightDate; output.Description = newKitFile.Description; output.IconURL = newKitFile.URL; output.TagNames = _context.Tag.Where(t => tags.Contains(t.TagId.ToString())).Select(tt => new TagName { Name = tt.TagName }).ToList(); } } //return Json(newKitFile); return(Json(output)); } }
// GET: MediaKitFiles/Edit/5 public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } MediaKitFileViewModel mediaKitFilevm = new MediaKitFileViewModel(); string selectedTagIds = ","; var mediaKitFile = await _context.MediaKitFile.SingleOrDefaultAsync(m => m.MediaKitFileId == id); if (mediaKitFile == null) { return(NotFound()); } else { mediaKitFilevm.MediaKitFileId = mediaKitFile.MediaKitFileId; mediaKitFilevm.Enabled = mediaKitFile.Enabled; mediaKitFilevm.IconURL = mediaKitFile.URL; mediaKitFilevm.URL = mediaKitFile.URL; mediaKitFilevm.AltText = mediaKitFile.AltText; mediaKitFilevm.Description = mediaKitFile.Description; mediaKitFilevm.MediaType = mediaKitFile.MediaType; mediaKitFilevm.Owner = _context.Owner.SingleOrDefault(o => o.OwnerId == mediaKitFile.OwnerId); mediaKitFilevm.CopyrightDate = mediaKitFile.CopyrightDate; mediaKitFilevm.DateCreated = mediaKitFile.DateCreated; mediaKitFilevm.DateModified = mediaKitFile.DateModified; List <TagName> tempTagNames = new List <TagName>(); List <MediaKitFileTag> mediaTags = _context.MediaKitFileTag.Where(m => m.MediaKitFileId == mediaKitFile.MediaKitFileId).ToList <MediaKitFileTag>(); foreach (var mediaTag in mediaTags) { Tag temp = _context.Tag.SingleOrDefault(t => t.TagId == mediaTag.TagId); tempTagNames.Add(new TagName() { Id = temp.TagId, Name = temp.TagName }); selectedTagIds += temp.TagId + ","; } mediaKitFilevm.TagNames = tempTagNames; } ViewData["OwnerId"] = new SelectList(_context.Owner, "OwnerId", "Name", mediaKitFile.OwnerId); List <Owner> owners = _context.Owner.Where(o => o.Enabled == true).OrderBy(n => n.Name).ToList <Owner>(); List <Tag> tags = _context.Tag.Where(t => t.Enabled == true).OrderBy(g => g.TagName).ToList <Tag>(); foreach (TagName tagName in mediaKitFilevm.TagNames) { Tag tempTag = _context.Tag.SingleOrDefault(t => t.TagId == tagName.Id); tags.Remove(tempTag); } ViewBag.selectedTagIds = selectedTagIds; ViewBag.tags = tags; ViewBag.owners = owners; return(View(mediaKitFilevm)); }