public ActionResult EditContactForm(int id) { if (AuthenticationService.LoggedUser == null) { return(RedirectToAction("Login", "Default")); } else { EditModel = new ContactControllerEditContactVM(); EditModel.UserId = AuthenticationService.LoggedUser.Id; if (id != 0) { Contact contact = new Contact(); contact = contactRepository.GetByID(id); EditModel.FullName = contact.FullName; EditModel.Id = id; EditModel.Email = contact.Email; EditModel.ImageLocation = contact.ImageLocation; EditModel.BirthDay = contact.BirthDay; } return(View(EditModel)); } }
public ActionResult EditContactForm(int Id, ContactControllerEditContactVM fileModel) { if (AuthenticationService.LoggedUser == null) { return(RedirectToAction("Login", "Default")); } TryUpdateModel(fileModel); if (ModelState.IsValid) { string directory = null; string userDirectory = null; string fileLocation = null; StringBuilder trailingPath = null; string newDirectory = null; string oldDirectory = null; Contact contact = new Contact(); if (Id > 0) { contact = contactRepository.GetByID(Id); contact.FullName = fileModel.FullName; contact.Email = fileModel.Email; if (fileModel.BirthDay <= new DateTime(1 / 1 / 1753)) { fileModel.BirthDay = DateTime.Now; } contact.BirthDay = fileModel.BirthDay; if (fileModel.file != null) { if (contact.ImageLocation != null) { int index = contact.ImageLocation.LastIndexOf(@"/"); string str = contact.ImageLocation.Substring(index + 1); oldDirectory = Path.Combine(directory + userDirectory + @"\" + str); } directory = Server.MapPath(@"~/images/"); userDirectory = AuthenticationService.LoggedUser.UserName; trailingPath = new StringBuilder(Path.GetExtension(fileModel.file.FileName)); trailingPath.Insert(0, Id); fileLocation = Path.Combine(directory, userDirectory, trailingPath.ToString()); if (!Directory.Exists(directory + userDirectory)) { Directory.CreateDirectory(directory + userDirectory); } fileModel.file.SaveAs(fileLocation); newDirectory = @"/images/" + userDirectory + "/" + trailingPath; if (contact.ImageLocation == null) { contact.ImageLocation = newDirectory; } if (contact.ImageLocation != newDirectory) { System.IO.File.Delete(oldDirectory); contact.ImageLocation = newDirectory; } } contactRepository.Save(contact); return(RedirectToAction("ListContact", "Contact")); } if (Id <= 0) { contact.UserId = AuthenticationService.LoggedUser.Id; contact.FullName = fileModel.FullName; contact.Email = fileModel.Email; if (fileModel.BirthDay <= new DateTime(1 / 1 / 1753)) { fileModel.BirthDay = DateTime.Now; } contact.BirthDay = fileModel.BirthDay; contactRepository.Save(contact); if (fileModel.file != null) { directory = Server.MapPath(@"~/images/"); userDirectory = AuthenticationService.LoggedUser.UserName; trailingPath = new StringBuilder(Path.GetExtension(fileModel.file.FileName)); trailingPath.Insert(0, contact.Id); fileLocation = Path.Combine(directory, userDirectory, trailingPath.ToString()); if (!Directory.Exists(directory + userDirectory)) { Directory.CreateDirectory(directory + userDirectory); } fileModel.file.SaveAs(fileLocation); newDirectory = @"/images/" + userDirectory + "/" + trailingPath; contact.ImageLocation = newDirectory; contactRepository.Save(contact); } return(RedirectToAction("ListContact", "Contact")); } } return(View(fileModel)); }