public bool EliminateLocation(LocationCriteria pCriteriaKey, String pCriteriaValue) { bool mBoolSuccess = false; String mStrSQL = ""; String[] ArrCriteria = GetDBFieldByCriteria(pCriteriaKey, pCriteriaValue); mStrSQL = "DELETE FROM LOCATIONS " + "WHERE " + ArrCriteria[cCRITERIAKEY] + " = " + ArrCriteria[cCRITERIAVALUE]; try { oConnection.OpenConnection(); oConnection.UpdateSQL(mStrSQL, null); mBoolSuccess = true; } catch (Exception ex) { throw ex; } finally { oConnection.CloseConnection(); } return mBoolSuccess; }
public SearchResult <LocationModel> SearchLocation(LocationCriteria criteria) { var result = new SearchResult <LocationModel>(); var query = locationRepository.GetAll().Where(FilterLocation(criteria)); result.ItemCount = query.Count(); query = query.Sort(criteria.Sorting, new Sorting("Address", SortDirection.Ascending)); query = query.Page(criteria.Paging); result.ResultData = query.Select(locationToModel).ToList(); return(result); }
private Expression <Func <Location, bool> > FilterLocation(LocationCriteria criteria) { Expression <Func <Location, bool> > result = t => true; if (!string.IsNullOrWhiteSpace(criteria.Keyword)) { result = result.And(t => EF.Functions.Like(t.Address, $"%{criteria.Keyword}%") || EF.Functions.Like(t.Province.Name, $"%{criteria.Keyword}%")); } if (criteria.IsActive.HasValue) { result = result.And(t => t.IsActive == criteria.IsActive); } return(result); }
private String[] GetDBFieldByCriteria(LocationCriteria pCriteriaKey, String pCriteriaValue) { String[] ArrCriteriaField = new String[2]; switch (pCriteriaKey) { case LocationCriteria.cLOCATIONID: ArrCriteriaField[cCRITERIAKEY] = "LOCATIONID"; ArrCriteriaField[cCRITERIAVALUE] = pCriteriaValue; break; case LocationCriteria.cLOCATIONNAME: ArrCriteriaField[cCRITERIAKEY] = "LOCATIONNAME"; ArrCriteriaField[cCRITERIAVALUE] = "'" + pCriteriaValue + "'"; break; case LocationCriteria.cLOCATIONDESCRIPTION: ArrCriteriaField[cCRITERIAKEY] = "LOCATIONDESCRIPTION"; ArrCriteriaField[cCRITERIAVALUE] = "'" + pCriteriaValue + "'"; break; case LocationCriteria.cLOCATIONADDRESS: ArrCriteriaField[cCRITERIAKEY] = "LOCATIONADDRESS"; ArrCriteriaField[cCRITERIAVALUE] = "'" + pCriteriaValue + "'"; break; case LocationCriteria.cLOCATIONLATITUDE: ArrCriteriaField[cCRITERIAKEY] = "LOCATIONLATITUDE"; ArrCriteriaField[cCRITERIAVALUE] = pCriteriaValue; break; case LocationCriteria.cLOCATIONLONGITUDE: ArrCriteriaField[cCRITERIAKEY] = "LOCATIONLONGITUDE"; ArrCriteriaField[cCRITERIAVALUE] = pCriteriaValue; break; } return ArrCriteriaField; }
public String[,] ListLocationsByCriteria(LocationCriteria pCriteriaKey, String pCriteriaValue) { String[,] ArrLocations; String[] ArrCriteria = GetDBFieldByCriteria(pCriteriaKey, pCriteriaValue); String mStrSQL = ""; mStrSQL = "SELECT LOCATIONID, LOCATIONNAME, LOCATIONDESCRIPTION, LOCATIONADDRESS, " + "LOCATIONLATITUDE, LOCATIONLONGITUDE " + "FROM LOCATIONS " + "WHERE " + ArrCriteria[cCRITERIAKEY] + " = " + ArrCriteria[cCRITERIAVALUE]; try { oConnection.OpenConnection(); ArrLocations = oConnection.QuerySQLResultFlatArray(mStrSQL); } catch (Exception ex) { throw ex; } finally { oConnection.CloseConnection(); } return ArrLocations; }
public IActionResult SearchLocation([FromQuery] LocationCriteria criteria) { var result = locationService.SearchLocation(criteria); return(Ok(new SuccessResult(result))); }