示例#1
0
        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));
        }
示例#2
0
        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);
            }
        }
示例#3
0
        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));
        }
示例#4
0
        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();
     }
 }
示例#6
0
        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.");
                }
            }
        }