public IHttpActionResult Search([FromUri] SOWTrackSearchFilter filter)
        {
            string accessType = "TaskRoute_ViewAll";

            ThrowIfUserHasNoRole(accessType);
            if (filter == null)
            {
                throw new KairosException("Missing search filter parameter");
            }

            using (var trackSearch = new SOWTrackSearch(Db))
            {
                var data   = trackSearch.GetDataByFilter(filter);
                var xml    = string.Empty;
                var result = new object();

                if (data.Records.Count > 0)
                {
                    xml = data.Records[0].Route;
                    var kml = KMLReader.ConvertToKML(xml);

                    if (filter.Format == 0)
                    {
                        result = kml.GetCoordinates();
                    }
                    else
                    {
                        result = kml;
                    }
                }
                else
                {
                    result = new List <object>();
                }
                return(Ok(result));
            }
        }