public async Task <IActionResult> GetBusiness(int id) { var business = await _repo.GetBusiness(id); var businessToReturn = _mapper.Map <BusinessForDetailedDto>(business); return(Ok(businessToReturn)); }
public async Task <IActionResult> AddVideoForUser(int businessId, [FromForm] VideoForCreationDto videoForCreationDto) { var businessFromRepo = await _repo.GetBusiness(businessId); if (businessFromRepo.UserId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var file = videoForCreationDto.File; var uploadResult = new VideoUploadResult(); if (file.Length > 0) { using (var stream = file.OpenReadStream()) { var uploadParams = new VideoUploadParams { File = new FileDescription(file.Name, stream) }; uploadResult = _cloudinary.Upload(uploadParams); } } if (businessFromRepo.Video != null && businessFromRepo.Video.PublicId != null) { var deleteParams = new DeletionParams(businessFromRepo.Video.PublicId) { ResourceType = ResourceType.Video }; var result = _cloudinary.Destroy(deleteParams); if (result.Result == "ok") { _repo.Delete(businessFromRepo.Video); } } videoForCreationDto.Url = uploadResult.Uri.ToString(); videoForCreationDto.PublicId = uploadResult.PublicId; var video = _mapper.Map <VideoModel>(videoForCreationDto); businessFromRepo.Video = video; if (await _repo.SaveAll()) { var videoToReturn = _mapper.Map <VideoForReturnDto>(video); return(CreatedAtRoute("GetVideo", new { id = video.Id }, videoToReturn)); } return(BadRequest("Cloud not add the video")); }
public void IsBusinessGood_BusinessDoesNotExist_ThrowsUnauthorizedAccessException() { // Arrange businessRepositoryFake.GetBusiness(Arg.Any <Guid>()).ReturnsNull(); // Act var exception = Assert.Throws <UnauthorizedAccessException>(() => this.main.IsBusinessGood(Guid.NewGuid())); // Assert StringAssert.Contains("Unauthorized access", exception.Message); }
public async Task <IActionResult> AddPhotoForBusiness(int businessId, [FromForm] PhotoForCreationDto photoForCreationDto) { var businessFromRepo = await _repo.GetBusiness(businessId); if (businessFromRepo.UserId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var file = photoForCreationDto.File; var uploadResult = new ImageUploadResult(); if (file.Length > 0) { using (var stream = file.OpenReadStream()) { var uploadParams = new ImageUploadParams { File = new FileDescription(file.Name, stream) }; uploadResult = _cloudinary.Upload(uploadParams); } } photoForCreationDto.Url = uploadResult.Uri.ToString(); photoForCreationDto.PublicId = uploadResult.PublicId; var photo = _mapper.Map <Photo>(photoForCreationDto); if (!businessFromRepo.Photos.Any(u => u.IsMain)) { photo.IsMain = true; } businessFromRepo.Photos.Add(photo); businessFromRepo.IsPublishable = businessFromRepo.Photos.Any(); if (await _repo.SaveAll()) { var photoToReturn = _mapper.Map <PhotoForReturnDto>(photo); return(CreatedAtRoute("GetPhoto", new { id = photo.Id }, photoToReturn)); } return(BadRequest("Cloud not add the photo")); }
public IActionResult Login(string username, string pwd, string code) { var result = new JsonData(); if (code != null) { if (HttpContext.Session.Get <string>("VerificationCode") != code) { result.Msg = "验证码错误"; return(Json(result)); } } var business = _service.GetBusiness(a => (a.Code == username || a.Mobile == username) && a.Password == UtilHelper.MD5Encrypt(pwd)); if (business == null) { result.Msg = "帐号或密码错误"; return(Json(result)); } result.Success = true; result.Data = business; HttpContext.Session.Set(_appData.Session, business); HttpContext.Response.Cookies.Append(_appData.Cookie, business.ObjectId, new CookieOptions { Expires = DateTime.Now.AddDays(3) }); return(Json(result)); }
public bool IsBusinessGood(Guid id) { var business = Repository.GetBusiness(id); if (business == null) { NotificationService.Notify(new Uri("https://www.notify.io"), "Could not find business"); throw new UnauthorizedAccessException("Unauthorized access"); } return(business.Age() > 5); }