public async Task <IActionResult> Edit(int?id, [Bind("Header, Content, Year")] Models.NewsItem newsItem) { //if (id != newsItem.NewsItemId) //{ // return NotFound(); //} if (id == null) { return(NotFound()); } if (ModelState.IsValid) { string webRootPath = _hostingEnvironment.WebRootPath; var files = HttpContext.Request.Form.Files; var newsFromDb = _db.NewsItem.Where(m => m.NewsItemId == id).FirstOrDefault(); if (files.Count > 0 && files[0] != null) { //if user uploads a new image var uploads = Path.Combine(webRootPath, SD.NewsImageFolder); //var extension_new = Path.GetExtension(files[0].FileName); //var extension_old = Path.GetExtension(newsFromDb.Image); var newFilename = Path.GetFileName(files[0].FileName); var oldFilename = newsFromDb.FileName; if (System.IO.File.Exists(Path.Combine(uploads, oldFilename))) { System.IO.File.Delete(Path.Combine(uploads, oldFilename)); } using (var filestream = new FileStream(Path.Combine(uploads, newFilename), FileMode.Create)) { files[0].CopyTo(filestream); } newsFromDb.FilePath = @"\" + SD.NewsImageFolder + @"\" + newFilename; newsFromDb.FileName = newFilename; } //if (newsItem.FilePath != null) //{ // newsFromDb.FilePath = newsItem.FilePath; //} newsFromDb.Header = newsItem.Header; newsFromDb.Content = newsItem.Content; newsFromDb.Year = newsItem.Year; //newsFromDb.Image = newsItem.Image; //newsFromDb.FileId = file.FileId; await _db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["Year"] = new SelectList(new string[] { "2019", "2018", "2017", "2016" }); return(View(newsItem)); }
// PUT: api/NewsItem/5 public void Put(int id, Models.NewsItem value) { Database.Model1 db = new Database.Model1(); Database.NewsItem ni = db.NewsItems.Find(id); ni.HeadLine = value.HeadLine; ni.NewsItemDate = value.StoryDate; db.SaveChanges(); }
// POST: api/NewsItem public void Post(Models.NewsItem newsItem) { Database.Model1 db = new Database.Model1(); db.NewsItems.Add(new Database.NewsItem() { HeadLine = newsItem.HeadLine, NewsItemDate = DateTime.Now }); db.SaveChanges(); }
/// <summary> /// This method fires when the user clicks the Save button in the /// submitNewsItem user control /// </summary> /// <param name="sender">The submitNewsItem control</param> /// <param name="e">The Click event</param> protected void submitNewsItem_Click(object sender, EventArgs e) { if (currentProgramRole.AllowedToEdit.Value || currentProgramRole.RoleFK.Value == (int)Utilities.ProgramRoleFKs.HUB_DATA_VIEWER) { //Get the item pk int itemPK = Convert.ToInt32(hfAddEditNewsItemPK.Value); if (itemPK > 0) { //This is an edit using (PyramidContext context = new PyramidContext()) { //The current news item NewsItem currentNewsItem = context.NewsItem.Find(itemPK); //Fill the NewsItem fields from the form currentNewsItem.ItemNum = Convert.ToInt32(txtItemNum.Value); currentNewsItem.Contents = txtNewsItemContents.Value.ToString(); currentNewsItem.NewsEntryFK = currentNewsEntryPK; //Set the edit-only fields currentNewsItem.Editor = User.Identity.Name; currentNewsItem.EditDate = DateTime.Now; //Get the existing NewsItem record Models.NewsItem existingNewsItem = context.NewsItem.Find(currentNewsItem.NewsItemPK); //Overwrite the existing NewsItem record with the values from the form context.Entry(existingNewsItem).CurrentValues.SetValues(currentNewsItem); context.SaveChanges(); } //Show the user a success message msgSys.ShowMessageToUser("success", "News Item Added", "News Item successfully edited!", 5000); } else { //This is an add using (PyramidContext context = new PyramidContext()) { //The current news item NewsItem currentNewsItem = new NewsItem(); //Fill the NewsItem fields from the form currentNewsItem.ItemNum = Convert.ToInt32(txtItemNum.Value); currentNewsItem.Contents = txtNewsItemContents.Value.ToString(); currentNewsItem.NewsEntryFK = currentNewsEntryPK; //Set the create-only fields currentNewsItem.Creator = User.Identity.Name; currentNewsItem.CreateDate = DateTime.Now; //Add the NewsItem to the database context.NewsItem.Add(currentNewsItem); context.SaveChanges(); } //Show the user a success message msgSys.ShowMessageToUser("success", "News Item Added", "News Item successfully added!", 5000); } //Reset the values in the hidden field and hide the div hfAddEditNewsItemPK.Value = "0"; divAddEditNewsItem.Visible = false; //Bind the news items BindNewsItems(); } }
public async Task <IActionResult> Create([Bind("Header, Content, Year")] Models.NewsItem newsItem) { if (!ModelState.IsValid) { return(View()); } var identityUser = await _userManager.GetUserAsync(HttpContext.User); if (identityUser == null) { return(RedirectToPage(nameof(Index))); } // This comes up if the user doesn't select a year if (newsItem.Year == -1) { ModelState.AddModelError("Year", "Please select a year"); } //var news = _db.File.Find(); //newsItem.FileId = news.FileId; if (ModelState.IsValid) { //newsItem.File = file; _db.NewsItem.Add(newsItem); await _db.SaveChangesAsync(); //Save Physical Image------------------------------------------------------------------------------------ string webRootPath = _hostingEnvironment.WebRootPath; var files = HttpContext.Request.Form.Files; //var photosFromDb = _db.Photo.Find(AdminPhotoVM.Photo.PhotoId); var newsFromDb = _db.NewsItem.Find(newsItem.NewsItemId); if (files.Count != 0) { //Image(s) has been uploaded with form var uploads = Path.Combine(webRootPath, SD.NewsImageFolder); var extension = Path.GetExtension(files[0].FileName); var filename = Path.GetFileName(files[0].FileName); using (var filestream = new FileStream(Path.Combine(uploads, filename), FileMode.Create)) { files[0].CopyTo(filestream); //moves to server and renames } //now I know the new image name, so I can save the STRING image to the database newsFromDb.FilePath = @"\" + SD.NewsImageFolder + @"\" + filename; newsFromDb.FileName = filename; } //else //{ // //when the user didn't give us an image so we'll upload the placeholder // var uploads = Path.Combine(webRootPath, SD.NewsImageFolder + @"\" + SD.DefaultImage); // System.IO.File.Copy(uploads, webRootPath + @"\" + SD.NewsImageFolder + @"\" + newsItem.NewsItemId + ".jpg"); // newsFromDb.Image = @"\" + SD.NewsImageFolder + @"\" + newsItem.NewsItemId + ".jpg"; //} //------------------------------------------------------------------------------------------------------ //newsItem.File = file; //_db.Add(newsItem); //_db.NewsItem.Add(newsItem); await _db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["Year"] = new SelectList(new string[] { "2019", "2018", "2017", "2016" }); return(View(newsItem)); }