public static MapSearchResultVM SearchForAddress(MapRequestAVM mapRequestAVM) { Validator.ValidateObject(mapRequestAVM, new ValidationContext(mapRequestAVM), true); MapRequest mapRequest = CreateMapRequest(mapRequestAVM); return(SearchForAddress(mapRequest)); }
private static MapRequest CreateMapRequest(MapRequestAVM mapRequestAVM) { var mapRequest = new MapRequest(mapRequestAVM.Email, mapRequestAVM.Latitude.Value, mapRequestAVM.Longitude.Value, DateTime.Now); using (MediatelModel context = new MediatelModel()) { context.MapRequests.Add(mapRequest); context.SaveChanges(); } return(mapRequest); }
public object SearchAddress([FromBody] MapRequestAVM value) { try { var result = MapRequests.SearchForAddress(value); switch ((OSMClient.SearchResultCode)Enum.Parse(typeof(OSMClient.SearchResultCode), result.ResultCode)) { case OSMClient.SearchResultCode.OK: return(Request.CreateResponse(HttpStatusCode.OK, JsonConvert.SerializeObject(result))); case OSMClient.SearchResultCode.NOT_FOUND: return(Request.CreateResponse(HttpStatusCode.NotFound, JsonConvert.SerializeObject(result))); default: return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Unexpected internal server error during map search")); } } catch (Exception e) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e)); } }