public async Task <ActionResult <GeoMessage> > PostGeoMessage(GeoMessage geoMessage) { var newGeoMessage = new GeoMessage { Message = geoMessage.Message, Latitude = geoMessage.Latitude, Longitude = geoMessage.Longitude }; var geoMessageV2DTO = new Models.V1.GeoMessageV1_DTO { Message = newGeoMessage.Message, Latitude = newGeoMessage.Latitude, Longitude = newGeoMessage.Longitude }; var newGeoMessageV2 = new GeoMessageV2 { Latitude = geoMessageV2DTO.Latitude, Longitude = geoMessageV2DTO.Longitude }; await _context.AddAsync(newGeoMessage); await _context.AddAsync(newGeoMessageV2); await _context.SaveChangesAsync(); return(CreatedAtAction("GetGeoMessage", new { id = newGeoMessage.ID }, newGeoMessage)); }
public async Task <ProfileLocationModel> Handle( Command request, CancellationToken cancellationToken ) { try { Guid UserId = request.UserId; var existingProfileLocation = await _geoDbContext.ProfileLocations .AsNoTracking() .SingleOrDefaultAsync(profile => profile.UserId == UserId); if (existingProfileLocation == null) { throw new AppException($"The UserId {UserId} doesn't have a Profile Location"); } existingProfileLocation.Latitud = request.Latitud; existingProfileLocation.Longitud = request.Longitud; existingProfileLocation.ZipCode = request.ZipCode; existingProfileLocation.CityId = request.CityId; _geoDbContext.ProfileLocations.Update(existingProfileLocation); await _geoDbContext.SaveChangesAsync(); return(existingProfileLocation); } catch (Exception e) { throw new AppException(e.Message); } }
public async Task <bool> Handle( Command request, CancellationToken cancellationToken ) { try { Guid UserId = request.UserId; var existingProfileLocation = await _geoDbContext.ProfileLocations .AsNoTracking() .SingleOrDefaultAsync(profile => profile.UserId == UserId); if (existingProfileLocation == null) { return(false); } _geoDbContext.ProfileLocations.Remove(existingProfileLocation); await _geoDbContext.SaveChangesAsync(); return(true); } catch (Exception e) { throw new AppException(e.Message); } }
public async Task <AuthenticationPayload> RegisterAsync(RegisterUserInput input, [ScopedService] GeoDbContext context) { var existingUser = context.Users .Where(i => i.Email.ToLower() == input.Email.ToLower()) .SingleOrDefault(); if (existingUser != null) { return(new AuthenticationPayload(null, "User with this email address already exists")); } var salt = HashHelper.GenerateSalt(); var newUser = new User { Email = input.Email, Salt = salt, Hash = HashHelper.GenerateHash(salt, input.Password) }; var createdUser = await context.Users.AddAsync(newUser); await context.SaveChangesAsync(); return(GenerateAuthenticationResultForUser(newUser)); }
public async Task <ActionResult <GeoMessageV2_DTO> > PostGeoMessage(GeoMessageV2_Input_DTO message) { var user = await _context.MyUsers.FindAsync(_userManager.GetUserId(User)); var newMessage = new GeoMessageV2() { Title = message.Title, Body = message.Body, Author = $"{user.FirstName} {user.LastName}", Longitude = message.Longitude, Latitude = message.Latitude }; await _context.AddAsync(newMessage); await _context.SaveChangesAsync(); var messageDTO = new GeoMessageV2_DTO { Message = new Messages { Body = newMessage.Body, Title = newMessage.Title, Author = newMessage.Author }, Longitude = newMessage.Longitude, Latitude = newMessage.Latitude }; return(CreatedAtAction(nameof(GetGeoMessage), new { id = newMessage.Id }, messageDTO)); }
public async Task <ActionResult> SaveAutoNumberAsync(Country obj) { await _context.Countries.AddAsync(obj); await _context.SaveChangesAsync(); return(Ok()); }
public async Task <UpdateCityPayload> UpdateCityAsync(UpdateCityInput input, [ScopedService] GeoDbContext context) { var city = await context.Cities.FindAsync(input.Id); city.Name = input.Name; await context.SaveChangesAsync(); return(new UpdateCityPayload(city)); }
public async Task <ActionResult <Models.V1.GeoMessageDTO> > PostGeoMessage(Models.V1.GeoMessageDTO geoPost) { var geo = geoPost.GeoMessageModel(); var geoV2 = V1GeoMessageDTOToV2(geoPost); _context.GeoMessage.Add(geoV2); await _context.SaveChangesAsync(); return(Ok()); }
public async Task <UpdateCountryPayload> UpdateCountryAsync(UpdateCountryInput input, [ScopedService] GeoDbContext context) { var country = await context.Countries.FindAsync(input.Id); country.Name = input.Name; country.Alpha2Code = input.Alpha2Code; country.Alpha3Code = input.Alpha3Code; await context.SaveChangesAsync(); return(new UpdateCountryPayload(country)); }
public async Task <AddCityPayload> AddCityAsync(AddCityInput input, [ScopedService] GeoDbContext context) { var city = new Domain.City { Name = input.Name, CountryId = input.CountryId }; context.Cities.Add(city); await context.SaveChangesAsync(); return(new AddCityPayload(city)); }
public async Task <ResponseMessagePayload> DeleteCountryAsync(DeleteCountryInput input, [ScopedService] GeoDbContext context) { var country = await context.Countries.FindAsync(input.Id); if (country == null) { return(new ResponseMessagePayload("Country not found")); } context.Countries.Remove(country); await context.SaveChangesAsync(); return(new ResponseMessagePayload("Country deleted")); }
public async Task <ActionResult <ReturnNoAuthor> > PostGeoMessage(ReturnNoAuthor geoPost) { var userName = User.Identity.Name; _context.GeoMessage.Add(new Models.V2.GeoMessage { Author = userName, Title = geoPost.Message.Title, // fyll body med message och tvärtom Body = geoPost.Message.Body, Latitude = geoPost.Latitude, Longitude = geoPost.Longitude }); await _context.SaveChangesAsync(); return(Ok()); }
public async Task <AddCountryPayload> AddCountryAsync( AddCountryInput input, [ScopedService] GeoDbContext context, [Service] ITopicEventSender eventSender, CancellationToken cancellationToken ) { var country = new Domain.Country { Name = input.Name, Alpha2Code = input.Alpha2Code }; context.Countries.Add(country); await context.SaveChangesAsync(cancellationToken); await eventSender.SendAsync(nameof(CountrySubscriptions.OnCountryAdded), country, cancellationToken); return(new AddCountryPayload(country)); }
public async Task <ProfileLocationModel> Handle( Command request, CancellationToken cancellationToken ) { try { Guid UserId = request.UserId; var existingProfileLocation = await _geoDbContext.ProfileLocations .AsNoTracking() .SingleOrDefaultAsync(profile => profile.UserId == UserId); if (existingProfileLocation != null) { throw new AppException($"The UserId {UserId} already has a Profile Location"); } ProfileLocationModel profileLocation = new ProfileLocationModel { UserId = UserId, Latitud = request.Latitud, Longitud = request.Longitud, ZipCode = request.ZipCode, CityId = request.CityId }; _geoDbContext.ProfileLocations.Add(profileLocation); await _geoDbContext.SaveChangesAsync(); return(profileLocation); } catch (Exception e) { throw new AppException(e.Message); } }