public async Task <ActionResult> Create(int?serviceId) { if (serviceId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var userId = User.Identity.GetUserId(); if (!await _serviceProviderManager.IsServiceProviderProfileExistAsync(userId)) { return(RedirectToAction("Index", "ServiceProvider", new { Message = ManageMessage.NullErrorServiceProviderProfile })); } if (await _providerServiceRelationManager.IsRelationExistsAsync(userId, (int)serviceId)) { return(RedirectToAction("Index", new { Message = ManageMessage.ServiceRelationExists })); } var viewModel = new ProviderServiceCreateViewModel(); viewModel.Service = await _serviceManager.GetByIdAsync <ServiceViewModel>((int)serviceId); if (viewModel.Service == null) { return(HttpNotFound()); } viewModel.ServiceId = viewModel.Service.Id; viewModel.ServiceProviderId = userId; return(View(viewModel)); }
private void imageFileSaver(ProviderServiceCreateViewModel 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(ProviderServiceCreateViewModel viewModel) { imageFileValidator(viewModel); if (ModelState.IsValid) { imageFileSaver(viewModel); await _providerServiceRelationManager.ModifyServiceRelationAsync(viewModel); return(RedirectToAction("Index", new { Message = ManageMessage.AddServiceRelationSuccess })); } viewModel = await _providerServiceRelationManager.GetServiceRelationAsync <ProviderServiceCreateViewModel>((int)viewModel.Id); return(View(viewModel)); }
public async Task <ActionResult> Create(ProviderServiceCreateViewModel viewModel) { imageFileValidator(viewModel); if (ModelState.IsValid) { if (await _providerServiceRelationManager.IsRelationExistsAsync(viewModel.ServiceProviderId, (int)viewModel.ServiceId)) { return(RedirectToAction("Index", new { Message = ManageMessage.ServiceRelationExists })); } imageFileSaver(viewModel); await _providerServiceRelationManager.CreateServiceRelationAsync(viewModel); return(RedirectToAction("Index", new { Message = ManageMessage.AddServiceRelationSuccess })); } viewModel.Service = await _serviceManager.GetByIdAsync <ServiceViewModel>(viewModel.ServiceId); return(View(viewModel)); }
public async Task ModifyServiceRelationAsync(ProviderServiceCreateViewModel viewModel) { if (await context.Services.AnyAsync(x => x.Id == viewModel.Id)) { var dataModel = _mapper.Map <ServiceProviderService>(viewModel); if (viewModel.Photo != null) { dataModel.PhotoId = await _photoManager.AddAsync(viewModel.Photo); } context.ServiceProviderServices.Attach(dataModel); context.Entry <ServiceProviderService>(dataModel).State = EntityState.Modified; await context.SaveChangesAsync(); } else { throw new Exception(); } }
private void imageFileValidator(ProviderServiceCreateViewModel viewModel) { if (viewModel.UploadPhoto != null) { var imageTypes = new string[] { "image/bmp", "image/gif", "image/jpeg", "image/pjpeg", "image/png" }; if (viewModel.UploadPhoto.ContentLength == 0) { ModelState.AddModelError("UploadPhoto", "File cannot be zero size"); } else if (!imageTypes.Contains(viewModel.UploadPhoto.ContentType)) { ModelState.AddModelError("UploadPhoto", "Please choose either a BMP, GIF, JPG or PNG image."); } } }