예제 #1
0
        // 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));
        }
예제 #2
0
        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));
            }
        }
예제 #3
0
        // 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));
        }