public async Task <IActionResult> Save([FromBody] CalculateDistanceDto dto) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var userId = _caller.Claims.Single(c => c.Type.Equals("id")).Value; var source = new Point(dto.SourceX, dto.SourceY); var destination = new Point(dto.DestinationX, dto.DestinationY); var distance = source.Distance(destination); var userDistance = new Model.Geographical.UserDistance() { Distance = distance, UserId = userId }; // You can hust save data in sql database by use this parameter useInMemory = false var result = await _distanceService.Insert(userDistance); if (result != null) { return(Ok()); } return(StatusCode(500, "Internal Error")); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public async Task <IActionResult> Post(CalculateDistanceDto cDistanceDto) { var userId = HttpContext.User.Claims.FirstOrDefault().Value; if (userId != null) { //var currentUser = await _userManager.FindByNameAsync(userName); var distance = _unitOfWork.Distances.CalculateDistance(cDistanceDto.FirstLat, cDistanceDto.FirstLon, cDistanceDto.SecondLat, cDistanceDto.SecondLon, cDistanceDto.Type.ToUpper()); var res = _mapper.Map <Distance>(cDistanceDto); res.UsersId = userId; res.FinalDistance = distance; _unitOfWork.Distances.Add(res); _unitOfWork.Complete(); return(Ok(distance)); } else { return(Unauthorized()); } }