Esempio n. 1
0
        public async Task <IActionResult> PostAPhotoRequest(PhotoRequestPost photoRequestPost)
        {
            //var errors = ModelState.Where(x => x.Value.Errors.Count > 0).Select(x => new { x.Key, x.Value.Errors }).ToArray();

            var userId          = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
            var photoEnthusiast = _context.PhotoEnthusiasts.Where(e => e.IdentityUserId == userId).SingleOrDefault();

            photoRequestPost.PhotoEnthusiastId = photoEnthusiast.PhotoEnthusiastId;


            if (ModelState.IsValid)
            {
                var     geoAddress = photoRequestPost.Address.StreetAddress + ", " + photoRequestPost.Address.City + ", " + photoRequestPost.Address.State;
                GeoCode geocode    = await _apiCalls.Geocoding(geoAddress);

                var lat = geocode.results[0].geometry.location.lat;
                var lng = geocode.results[0].geometry.location.lng;

                photoRequestPost.Address.Latitude  = lat;
                photoRequestPost.Address.Longitude = lng;
                _context.Addresses.Add(photoRequestPost.Address);
                await _context.SaveChangesAsync();

                _context.PhotoRequestPosts.Add(photoRequestPost);

                await _context.SaveChangesAsync();

                return(RedirectToAction());
            }
            return(View());
        }