public Apartment AddApartment([FromBody] Apartment apartment) { string userName = ((ClaimsIdentity)User.Identity).FindFirst("UserName").Value; int role = Int32.Parse(((ClaimsIdentity)User.Identity).FindFirst("Role").Value); if (apartment.CategoryID < 1 || apartment.CategoryID > 2 || apartment.CountryID < 1 || apartment.CountryID > 5 || apartment.PricePerDay < 0 || apartment.Address.Length > 50 || apartment.Address.Length < 5 || String.IsNullOrEmpty(apartment.Address) || apartment.FromDate.Ticks >= apartment.ToDate.Ticks || presentTicks > apartment.FromDate.Ticks || presentTicks >= apartment.ToDate.Ticks || apartment.Description.Length > 70 || apartment.Description.Length < 5 || String.IsNullOrEmpty(apartment.Description) || apartment.NumberOfGuests < 1 || apartment.NumberOfGuests > 20 || apartment.NumberOfBedRooms < 1 || apartment.LivingRoomDescription.Length > 70 || apartment.LivingRoomDescription.Length < 5 || String.IsNullOrEmpty(apartment.LivingRoomDescription) || apartment.BedRoomDescription.Length > 70 || apartment.BedRoomDescription.Length < 5 || String.IsNullOrEmpty(apartment.BedRoomDescription) || apartment.QueenSizeBed < 0 || apartment.DoubleBed < 0 || apartment.SingleBed < 0 || apartment.SofaBed < 0 || apartment.BedsDescription.Length > 70 || apartment.BedsDescription.Length < 5 || String.IsNullOrEmpty(apartment.BedsDescription)) { return(null); } if (apartment.ApartmentImageType[0] != null) { apartment.ApartmentImageByte = ImageValidation.Base64Vadilation(null, apartment.ApartmentImage); } if (apartment.ApartmentImageByte[0] == null) { return(null); } bool changeRenterStatus = false; if (role == 0) { changeRenterStatus = true; } return(DB.ApartmentDB.AddApartment(apartment, userName, changeRenterStatus)); }
public async Task <IActionResult> UploadImage(IFormFile file, [FromForm] string name, [FromForm] string tags) { if (file == null) { file = Request.Form.Files[0]; } ImageOutput output = new ImageOutput(); if (file != null) { if (file.Length > 0) { //验证是否是图片 if (ImageValidation.IsCheck(file)) { ImageInput input = new ImageInput(); input.File = file; input.Name = name; input.Tags = tags; ImageHandleService handleService = new ImageHandleService(); //处理图片 output = await handleService.Processing(input, Request); return(Ok(output)); } } } return(BadRequest("图片上传失败!")); }
public async Task <IActionResult> CreateDeveloper() { if (!ModelState.IsValid) { return(View(DevViewModel)); } var file = DevViewModel.DeveloperImage; // if file is uploaded with form if (file != null && file.Length > 0) { var validation = new ImageValidation() { FileSize = 3000 }; var validationResult = validation.FileCheck(file); if (validationResult == "ok") { //image validation succeeds var uploadResult = new ImageUploadResult(); using (var stream = file.OpenReadStream()) { var uploadParams = new ImageUploadParams() { File = new FileDescription(file.Name, stream) }; uploadResult = _cloudinary.Upload(uploadParams); } if (uploadResult.Error == null) { DevViewModel.Developer.PhotoId = uploadResult.PublicId; DevViewModel.Developer.PhotoUrl = uploadResult.Uri.ToString(); } } else //image validation fails { SetMessage("danger", validationResult); return(RedirectToAction(nameof(Index))); } } _repo.Add(DevViewModel.Developer); if (await _repo.SaveAll()) { SetMessage("info", "Developer added"); return(RedirectToAction(nameof(Index))); } SetMessage("danger", "Something went wrong while trying to save changes to the database"); return(RedirectToAction(nameof(Index))); }
public ImageValidation GetImageValidationModel() { ImageValidation retVal = null; retVal = this.imageValidation == null ? new ImageValidation() : this.imageValidation; retVal.error = this.errors; return(retVal); }
public bool UpdateProfileImage([FromBody] Users user) { user.UserName = ((ClaimsIdentity)User.Identity).FindFirst("UserName").Value; user.ProfileImageByte = ImageValidation.Base64Vadilation(user.ProfileImage, null)[0]; if (user.ProfileImageByte == null || user.ProfileImageType == null || user.ProfileImageType.Length > 50) { return(false); } return(DB.UsersDB.UpdateProfilePicture(user)); }
static void Main(string[] args) { Console.Write("CREATE USER"); SMServiceConfig.Instance.Refresh(); User testUser; DateTime value = new DateTime(1990, 1, 1); Task.Run(async() => { // Create A User testUser = await UserFactory.createUser(generateID(), RandomString(6) + "@example.com", UserFactory.UserGender.f, value.ToString("yyyy-MM-dd"), "127.0.0.1"); // Fetch User testUser = await UserFactory.getUserByExternalId(testUser.external_id); // When the User does Something Send an Event to SessionM Server Console.WriteLine("SEND BUY EVENT/EVENTS"); var events = new ActivityEvents <String, int>(); events.Add("buy_something", 1); bool added = await EventFactory.sendEventByExternalId(testUser.external_id, events); // Fetch User And Get Updated Points testUser = await UserFactory.getUserByExternalId(testUser.external_id); Console.WriteLine("USER POINTS : " + testUser.available_points); // Create an Order For the Rewards Offers Console.WriteLine("FETCH ALL OFFERS"); List <Offer> allOffers = new List <Offer>(await OfferFactory.getAllOffers()); Console.WriteLine("CREATE A NEW ORDER"); Order myOrder1 = await OrderFactory.createOrderByExternalId(allOffers.First().id.ToString(), "127.0.0.1", testUser.external_id); // Fetch User And Get Updated Points testUser = await UserFactory.getUserByExternalId(testUser.external_id); Console.WriteLine("USER POINTS : " + testUser.available_points); // Send code via SMS testUser.phoneNumber = "111-111-1111"; testUser.message = "{{code}}"; Verification verification = await UserFactory.validateViaSMS(testUser); Console.WriteLine("SMS Verfication Response: " + verification); // Validate an image string imageBase64String = GenerateBase64String(@"path/to/image.jpg"); List <ImageValidationItem> images = new List <ImageValidationItem>(); images.Add(new ImageValidationItem(imageBase64String, "image/jpg")); ImageValidation imageValidation = new ImageValidation(); imageValidation.validationType = models.enums.ImageValidationTypeEnum.receipt.ToString(); imageValidation.campaignId = 385; imageValidation.placementId = 53421; imageValidation.images = images; ImageValidation imageValidationResult = await ImageValidationFactory.validateImage(testUser, imageValidation); Console.WriteLine("Image URL: " + imageValidationResult.images.First().Url); // Get a Skills Test Question Challenge challenge = await ChallengeFactory.getChallengeQuestion(testUser); Console.WriteLine("Skills Test Question: " + challenge.skillsTestQuestion.question); }).Wait(); }
public static async Task <ImageValidation> validateImage(User user, ImageValidation img) { SMRequest imageValidationRequest = new SMRequest(); imageValidationRequest.user = user; imageValidationRequest.imageValidation = img; string route = String.IsNullOrEmpty(user.id) ? APIRoutes.validateImageWithUserIdRoute(user.id) : APIRoutes.validateImageWithExternalIdRoute(user.external_id); SMResponse m = await AsyncClient.post(route, imageValidationRequest); return(m == null ? null : m.GetImageValidationModel()); }
protected override ValidationResult IsValid(object value, ValidationContext validationContext) { if (value == null) { return(ValidationResult.Success); } var url = value.ToString(); if (UrlValidation.IsValidUrl(url) && ImageValidation.HasValidImageExtension(url, ImageType.Ico, ImageType.Jpeg, ImageType.Png)) { return(ValidationResult.Success); } return(new ValidationResult(string.Format("The value entered for {0} is not a valid image URL", validationContext.DisplayName))); }
/// <summary> /// Saves image data (in byte array) and returns it's random file name with extension type /// </summary> /// <param name="imageData"></param> /// <returns></returns> public static async Task <string> SaveBytesToFile(byte[] imageData) { string ext = ImageValidation.GetImageFormat(imageData) != null ? (ImageValidation.GetImageFormat(imageData) == ImageFormat.Jpeg ? ".jpg" : ".png") : null; if (ext == null) { return(null); } string filename = Path.GetRandomFileName().Split('.')[0] + ext; string filePath = Path.Combine(Directory.GetCurrentDirectory(), contributionPath, filename); using FileStream stream = new FileStream(filePath, FileMode.Create); await stream.WriteAsync(imageData); return(filename); }
private async void OnGetArtworkFromUrl() { var enterUrlModel = new EnterStringViewModel( _messenger, "Get Artwork", "Enter the URL for the artwork below", str => UrlValidation.IsValidUrl(str) && ImageValidation.HasValidImageExtension(str, ImageType.Jpeg, ImageType.Bmp, ImageType.Png), "The value entered is not a valid artwork URL"); _messenger.Send(new ShowDialogMessage(enterUrlModel)); var result = enterUrlModel.Result; if (result == null) { return; } LoadingArtwork = true; UpdateArtwork(await GetImageBytesFromUrl(result)); }
public async Task <IActionResult> UploadImages(List <IFormFile> files) { if (files.Count == 0) { if (Request.Form.Files.Count > 0) { foreach (var item in Request.Form.Files) { files.Add(item); } } } if (files.Count > 0) { List <ImageInput> imageInputs = new List <ImageInput>(); foreach (var file in files) { if (file.Length > 0) { //验证是否是图片 if (ImageValidation.IsCheck(file)) { ImageInput input = new ImageInput(); input.File = file; input.Name = file.Name; input.Tags = file.Name; imageInputs.Add(input); } } } ImageHandleService handleService = new ImageHandleService(); //处理图片 var output = await handleService.ProcessingImages(imageInputs, Request); return(Ok(output)); } return(BadRequest("图片上传失败!")); }
public bool SignUp([FromBody] Users user) { if (String.IsNullOrEmpty(user.UserName) || String.IsNullOrEmpty(user.Password) || String.IsNullOrEmpty(user.PhoneNumber) || String.IsNullOrEmpty(user.Email) || String.IsNullOrEmpty(user.Address) || String.IsNullOrEmpty(user.FirstName) || String.IsNullOrEmpty(user.LastName) || user.CountryID > 5 || user.CountryID < 1 || user.Address.Length > 50 || user.Address.Length < 3 || user.PhoneNumber.Length > 15 || user.PhoneNumber.Length < 5 || user.UserName.Length > 10 || user.UserName.Length < 4 || user.Password.Length > 10 || user.Password.Length < 6 || user.Email.Length > 30 || user.Email.Length < 7 || user.FirstName.Length > 11 || user.LastName.Length > 11 || !user.Email.Contains(".com") || !user.Email.Contains("@") || String.IsNullOrEmpty(user.ProfileImageType) || user.ProfileImageType.Length > 50) { return(false); } if (!String.IsNullOrEmpty(user.ProfileImage)) { user.ProfileImageByte = ImageValidation.Base64Vadilation(user.ProfileImage, null)[0]; } PasswordHash hash = new PasswordHash(); user.Password = hash.Hash(user.Password); return(DB.UsersDB.SignUp(user)); }
public bool UpdateApartmentImages([FromBody] Apartment apartment) { apartment.RenterUserName = ((ClaimsIdentity)User.Identity).FindFirst("UserName").Value; int role = Int32.Parse(((ClaimsIdentity)User.Identity).FindFirst("Role").Value); if (role != 1 || String.IsNullOrEmpty(apartment.RenterUserName)) { return(false); } apartment.ApartmentImageByte = ImageValidation.Base64Vadilation(null, apartment.ApartmentImage); if (apartment.ApartmentImageByte[0] == null || apartment.ApartmentImageType[0] == null) { return(false); } for (int i = 1; i < 5; i++) { if (apartment.ApartmentImageType[i] == null || apartment.ApartmentImageByte[i] == null) { apartment.ApartmentImageType[i] = null; apartment.ApartmentImageByte[i] = null; } } return(DB.ApartmentDB.UpdateApartmentPictures(apartment)); }
protected override void initDefault() { Validation = new ImageValidation(); }
public async Task <IActionResult> EditDeveloper(int?id) { if (!ModelState.IsValid) { return(View(DevViewModel)); } if (id != DevViewModel.Developer.Id) { return(BadRequest()); } var devFromRepo = await _repo.GetDeveloper(id); if (devFromRepo == null) { return(NotFound()); } var file = DevViewModel.DeveloperImage; if (file != null && file.Length > 0) { var validation = new ImageValidation() { FileSize = 3000 }; var validationResult = validation.FileCheck(file); if (validationResult == "ok") { var uploadResult = new ImageUploadResult(); using (var stream = file.OpenReadStream()) { var uploadParams = new ImageUploadParams() { File = new FileDescription(file.Name, stream) }; uploadResult = _cloudinary.Upload(uploadParams); } if (uploadResult.Error == null) { if (devFromRepo.PhotoId != null) { var deletionParams = new DeletionParams(devFromRepo.PhotoId); _cloudinary.Destroy(deletionParams); } devFromRepo.PhotoId = uploadResult.PublicId; devFromRepo.PhotoUrl = uploadResult.Uri.ToString(); } } else { SetMessage("danger", validationResult); return(RedirectToAction(nameof(Index))); } } devFromRepo.Name = DevViewModel.Developer.Name; devFromRepo.Created = DevViewModel.Developer.Created; devFromRepo.IsActive = DevViewModel.Developer.IsActive; if (await _repo.SaveAll()) { SetMessage("info", "Changes saved"); return(RedirectToAction(nameof(Index))); } SetMessage("danger", "Something went wrong. Could not complete request."); return(RedirectToAction(nameof(Index))); }