public async Task AddAsync(ServiceViewModelCreate viewModel, bool isApproved) { var dataModel = _mapper.Map <Service>(viewModel); if (viewModel.Photo != null) { dataModel.PhotoId = await _photoManager.AddAsync(viewModel.Photo); } dataModel.IsApproved = isApproved; context.Services.Add(dataModel); await context.SaveChangesAsync(); }
private void imageFileSaver(ServiceViewModelCreate viewModel) { if (viewModel.UploadPhoto != null) { var imageName = DateTime.Now.Ticks.ToString(); var imageExt = System.IO.Path.GetExtension(viewModel.UploadPhoto.FileName).ToLower(); var imagePath = "/Content/DataImages/"; viewModel.Photo = new PhotoViewModel(); viewModel.Photo.Url = imagePath + imageName + imageExt; viewModel.UploadPhoto.SaveAs(Server.MapPath("~") + viewModel.Photo.Url); } }
public async Task <ActionResult> Edit(ServiceViewModelCreate serviceViewModelCreate) { imageFileValidator(serviceViewModelCreate); if (ModelState.IsValid) { imageFileSaver(serviceViewModelCreate); await _serviceManager.ModifyAsync(serviceViewModelCreate); return(RedirectToAction("Index")); } serviceViewModelCreate.ServiceCategories = new SelectList(await _serviceCategoryManager.GetAllAsync(), "Id", "Name"); return(View(serviceViewModelCreate)); }
public async Task <ActionResult> Create() { var serviceCategories = await _serviceCategoryManager.GetAllAsync(); if (serviceCategories.Count == 0) { return(RedirectToAction("Index", new { Message = ManageMessage.NoCategoryError })); } var serviceViewModelCreate = new ServiceViewModelCreate(); serviceViewModelCreate.ServiceCategories = new SelectList(serviceCategories, "Id", "Name"); return(View(serviceViewModelCreate)); }
public async Task <ActionResult> Create(ServiceViewModelCreate serviceViewModelCreate) { imageFileValidator(serviceViewModelCreate); if (ModelState.IsValid) { imageFileSaver(serviceViewModelCreate); var isAdministrator = User.IsInRole("Administrator"); await _serviceManager.AddAsync(serviceViewModelCreate, isAdministrator); return(RedirectToAction("Index")); } serviceViewModelCreate.ServiceCategories = new SelectList(await _serviceCategoryManager.GetAllAsync(), "Id", "Name"); return(View(serviceViewModelCreate)); }
public async Task ModifyAsync(ServiceViewModelCreate viewModel, bool isApproved = true) { if (await context.Services.AnyAsync(x => x.Id == viewModel.Id)) { var dataModel = _mapper.Map <Service>(viewModel); if (viewModel.Photo != null) { dataModel.PhotoId = await _photoManager.AddAsync(viewModel.Photo); } dataModel.IsApproved = isApproved; context.Services.Attach(dataModel); context.Entry <Service>(dataModel).State = EntityState.Modified; await context.SaveChangesAsync(); } else { throw new Exception(); } }
private void imageFileValidator(ServiceViewModelCreate serviceViewModelCreate) { if (serviceViewModelCreate.UploadPhoto != null) { var imageTypes = new string[] { "image/bmp", "image/gif", "image/jpeg", "image/pjpeg", "image/png" }; if (serviceViewModelCreate.UploadPhoto.ContentLength == 0) { ModelState.AddModelError("UploadPhoto", "File cannot be zero size"); } else if (!imageTypes.Contains(serviceViewModelCreate.UploadPhoto.ContentType)) { ModelState.AddModelError("UploadPhoto", "Please choose either a BMP, GIF, JPG or PNG image."); } } }