Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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("图片上传失败!"));
        }
Exemplo n.º 3
0
        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)));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 6
0
        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();
        }
Exemplo n.º 7
0
        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());
        }
Exemplo n.º 8
0
        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)));
        }
Exemplo n.º 9
0
        /// <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);
        }
Exemplo n.º 10
0
        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));
        }
Exemplo n.º 11
0
        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));
        }
Exemplo n.º 13
0
        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));
        }
Exemplo n.º 14
0
 protected override void initDefault()
 {
     Validation = new ImageValidation();
 }
Exemplo n.º 15
0
        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)));
        }