public JsonResult Search(JQueryDataTablesModel jQueryDataTablesModel, string identifier)
{
int totalRecordCount;
int searchRecordCount;
//Get Connection string
var entityConnectionString = HydroServerToolsUtils.BuildConnectionStringForUserName(HttpContext.User.Identity.Name);
//var entityConnectionString = HydroServerToolsUtils.GetDBEntityConnectionStringByName(connectionName);
if (String.IsNullOrEmpty(entityConnectionString))
{
ModelState.AddModelError(String.Empty, Ressources.HYDROSERVER_USERLOOKUP_FAILED);
}
var sitesRepository = new SitesRepository();
var items = sitesRepository.GetSites(entityConnectionString, startIndex: jQueryDataTablesModel.iDisplayStart,
pageSize: jQueryDataTablesModel.iDisplayLength, sortedColumns: jQueryDataTablesModel.GetSortedColumns(),
totalRecordCount: out totalRecordCount, searchRecordCount: out searchRecordCount, searchString: jQueryDataTablesModel.sSearch);
var result = from c in items
select new[] {
c.SiteCode,
c.SiteName,
c.Latitude,
c.Longitude,
c.LatLongDatumSRSName,
c.Elevation_m,
c.VerticalDatum,
c.LocalX,
c.LocalY,
c.LocalProjectionSRSName,
c.PosAccuracy_m,
c.State,
c.County,
c.Comments,
c.SiteType
};
return this.DataTablesJson(items: result,
totalRecords: totalRecordCount,
totalDisplayRecords: searchRecordCount,
sEcho: jQueryDataTablesModel.sEcho);
}