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(); }
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(); }