public async Task <IActionResult> AddLocation([FromBody] GroupMemberLocationVM groupMemberLocationVM) { if (!ModelState.IsValid) { return(BadRequest()); } await _dbRepository.InsertOrUpdateLocation(groupMemberLocationVM); return(Ok()); }
public async Task InsertOrUpdateLocation(GroupMemberLocationVM groupMemberLocation) { var locationId = await GetMemberLocationId(groupMemberLocation.MemberId, groupMemberLocation.GroupUid); if (!locationId.HasValue) { await InsertMemberLocation(groupMemberLocation); } else { await UpdateLocation(locationId.Value, groupMemberLocation.Coordinate); } }
public async Task InsertMemberLocation(GroupMemberLocationVM groupMemberLocation) { var sqlCommand = new CommandDefinition(@" insert [dbo].[MemberLocations] (MemberId, GroupUid, Latitude, Longitude) values (@memberId, @groupUid, @latitude, @longitude)", new { @memberId = groupMemberLocation.MemberId, @groupUid = groupMemberLocation.GroupUid, @latitude = groupMemberLocation.Coordinate.Latitude, @longitude = groupMemberLocation.Coordinate.Longitude }); using (var conn = CreateConnection()) await conn.ExecuteAsync(sqlCommand); }
public async Task UpdateLocation(GroupMemberLocationVM groupMemberLocation) { var sqlCommand = new CommandDefinition(@" update [dbo].[MemberLocations] set Latitude = @latitude, Longitude = @longitude where MemberId = @memberId and GroupUid = @groupUid", new { @memberId = groupMemberLocation.MemberId, @groupUid = groupMemberLocation.GroupUid, @latitude = groupMemberLocation.Coordinate.Latitude, @longitude = groupMemberLocation.Coordinate.Longitude }); using (var conn = CreateConnection()) await conn.ExecuteAsync(sqlCommand); }