Ejemplo n.º 1
0
        public IHttpActionResult GetListAdvancedSearch(
            int id = 0
            , int?plannedRouteId              = null
            , string name                     = null
            , int?orderNumber                 = null
            , double?latitude                 = null
            , double?longitude                = null
            , int?addressId                   = null
            , int?estimatedTimeArrival        = null
            , System.DateTime?minimumTimeFrom = null
            , System.DateTime?minimumTimeTo   = null
            , System.DateTime?maximumTimeFrom = null
            , System.DateTime?maximumTimeTo   = null
            , int?nucleoId                    = null
            , int?supplierId                  = null
            , bool?active                     = null
            )
        {
            try
            {
                // advanced search

                log.Debug("GetCheckpointListAdvancedSearch");

                IEnumerable <CheckpointDTO> resultsDTO = _checkpointService.GetCheckpointListAdvancedSearch(
                    plannedRouteId
                    , name
                    , orderNumber
                    , latitude
                    , longitude
                    , addressId
                    , estimatedTimeArrival
                    , minimumTimeFrom
                    , minimumTimeTo
                    , maximumTimeFrom
                    , maximumTimeTo
                    , nucleoId
                    , supplierId
                    , active
                    );

                // convert to view model list, and add edit url
                List <CheckpointViewModel> checkpointList = resultsDTO.Select(checkpoint => new CheckpointViewModel(checkpoint, GetEditUrl(checkpoint.CheckpointId))).ToList();

                log.Debug("result: 'success', count: " + (checkpointList != null ? checkpointList.Count().ToString() : "null"));

                //return Content(JsonConvert.SerializeObject(checkpointList), "application/json");
                //return JsonConvert.SerializeObject(checkpointList);
                return(Ok(checkpointList));
            }
            catch (System.Exception e)
            {
                // error
                log.Error(e.ToString());

                throw;
            }
        }