public IActionResult CreateNewEmployee([FromBody] EditEmployeeVm editEmployeeVm) { FullEmployeeVm newEmployee = new FullEmployeeVm(); newEmployee.Id = _employees.Count == 0 ? 1 : _employees.Max(e => e.Id) + 1; newEmployee.Update(editEmployeeVm); _employees.Add(newEmployee); return(Json(newEmployee.Id)); }
public IActionResult UpdateEmployee(int id, [FromBody] EditEmployeeVm editEmployeeVm) { FullEmployeeVm employee = _employees.SingleOrDefault(e => e.Id == id); if (employee == null) { return(HttpNotFound()); } employee.Update(editEmployeeVm); return(Json(employee.Id)); }
public IActionResult Edit(string id) { int decryptedId = Convert.ToInt32(protector.Unprotect(id)); Employee employee = _employeeRepository.GetEmployee(decryptedId); if (employee == null) { ViewBag.Message = $"Employee with id = {id} not found."; return(View("NotFound")); } EditEmployeeVm model = new EditEmployeeVm { EncryptedId = id, Name = employee.Name, Email = employee.Email, Department = employee.Department, PhotoPath = employee.Photo }; return(View(model)); }
public IActionResult Edit(EditEmployeeVm model) { if (!ModelState.IsValid) { return(View()); } int decryptedId = Convert.ToInt32(protector.Unprotect(model.EncryptedId)); Employee employee = _employeeRepository.GetEmployee(decryptedId); if (employee == null) { ViewBag.Message = $"Employee with id = {model.EncryptedId} not found."; return(View("NotFound")); } employee.Name = model.Name; employee.Email = model.Email; employee.Department = model.Department; if (model.Photo != null) { // If user had a photo, remove it if (!String.IsNullOrEmpty(model.PhotoPath)) { RemoveOldPhoto(model.PhotoPath); } employee.Photo = ProcessUploadedFile(model.Photo); } _employeeRepository.Update(employee); TempData["Success"] = $"Employee '{employee.Name}' was updated successfully."; return(RedirectToAction("Index")); }
/// <summary> /// Updates this instance with the properties from an <see cref="EditEmployeeVm"/>. /// </summary> /// <param name="editEmployee">The edit employee view model to read from.</param> public void Update(EditEmployeeVm editEmployee) { Mapper.Map(editEmployee, this); LastModified = DateTimeOffset.Now; }