public async Task <ActionResult> Edit(EditClassTypeViewModel viewModel) { if (ModelState.IsValid) { if (viewModel.ImageFile != null && viewModel.ImageFile.ContentLength > 0) { if (viewModel.ImageFile.ContentLength > 2000000) { ModelState.AddModelError("", "Please ensure image file is less than 2MB"); return(RedirectToAction("Edit")); } var fileName = Path.GetFileName(viewModel.ImageFile.FileName); if (!fileName.Contains(".jpg") && !fileName.Contains(".png")) { ModelState.AddModelError("", "Please ensure file is in JPG or PNG format"); return(RedirectToAction("Edit")); } if (fileName.Contains(" ")) { ModelState.AddModelError("", "Image filename cannot contain spaces or special characters"); return(RedirectToAction("Edit")); } // store the file inside ~/App_Data/classtype folder var filePath = ConfigurationManager.AppSettings["ClassTypeAssetPath"]; var path = Path.Combine(Server.MapPath(filePath), fileName); viewModel.ImageFile.SaveAs(path); viewModel.ImageFileName = fileName; } var isSuccess = await _classTypeService.EditClassType(viewModel); if (!isSuccess) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } } return(RedirectToAction("Details", "ClassType", new { Id = viewModel.Id })); }
public async Task <ActionResult> Edit(string id) { if (id == null) { _logger.Trace("No parameters passed for Edit"); return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var dto = await _classTypeService.GetClassType(id); if (dto == null) { _logger.Info($"Parameter {id} was passed for Edit but did not return a result"); return(HttpNotFound()); } var viewModel = new EditClassTypeViewModel(dto); return(View(viewModel)); }
public async Task <bool> EditClassType(EditClassTypeViewModel viewModel) { if (viewModel == null) { return(await Task.FromResult(false)); } var dto = new ClassTypeDto { Id = viewModel.Id, Name = viewModel.Name, ClassColour = viewModel.ClassColour, Difficulty = viewModel.Difficulty, Description = viewModel.Description, IsActive = viewModel.IsActive, ImageFileName = viewModel.ImageFileName }; var result = _classTypeWriter.EditClassType(dto); return(await Task.FromResult(result)); }