public List <ParkDto> GetListPark(SearchParameter searchParam) { _context.Configuration.ProxyCreationEnabled = false; List <ParkDto> result = null; if (searchParam != null) { List <Park> items = null; ParkDto ParkDto = GetSearchObject(searchParam); Int32 SpacesToRent = Convert.ToInt32(ParkDto.SpacesToRent); Int32 SpacesToOwn = Convert.ToInt32(ParkDto.SpacesToOwn); string ParkName = Convert.ToString(ParkDto.ParkName); string State = Convert.ToString(ParkDto.State); string PhysicalAddress = Convert.ToString(ParkDto.PhysicalAddress); if (!searchParam.IsFilterValue) { searchParam.TotalRecordCount = _context.Parks.Where(x => x.IsActive == true).Count(); items = _context.Parks.Include("PhysicalState") .Where(x => x.IsActive == true) .OrderBy(x => x.Id) .Skip(searchParam.StartIndex).Take((searchParam.PageSize > 0 ? searchParam.PageSize : searchParam.TotalRecordCount)). ToList(); } else { items = _context.Parks.Include("PhysicalState").Where(m => (ParkDto.Id == 0 ? 1 == 1 : m.Id == ParkDto.Id) && (string.IsNullOrEmpty(ParkName) ? 1 == 1 : m.ParkName.ToUpper().StartsWith(ParkName.ToUpper())) && (SpacesToRent == 0 ? 1 == 1 : SqlFunctions.StringConvert((double)m.SpacesToRent).StartsWith(SqlFunctions.StringConvert((double)SpacesToRent))) && (SpacesToOwn == 0 ? 1 == 1 : SqlFunctions.StringConvert((double)m.SpacesToOwn).StartsWith(SqlFunctions.StringConvert((double)SpacesToOwn))) && (string.IsNullOrEmpty(PhysicalAddress) ? 1 == 1 : m.PhysicalAddress.ToUpper().StartsWith(PhysicalAddress.ToUpper())) && (string.IsNullOrEmpty(State) ? 1 == 1 : m.PhysicalState.Abbr.ToUpper().StartsWith(State.ToUpper())) && (ParkDto.PhysicalZip == 0 ? 1 == 1 : SqlFunctions.StringConvert((double)m.PhysicalZip).StartsWith(SqlFunctions.StringConvert((double)ParkDto.PhysicalZip))) && m.IsActive == true ).ToList(); searchParam.TotalRecordCount = items.Count(); } result = items.Select(x => new ParkDto() { Id = x.Id, IsActive = x.IsActive, ParkName = x.ParkName, PhysicalAddress = x.PhysicalAddress, PhysicalStateId = x.PhysicalStateId, PhysicalZip = x.PhysicalZip, SpacesToOwn = x.SpacesToOwn, SpacesToRent = x.SpacesToRent, State = (x.PhysicalStateId != null || x.PhysicalStateId != 0) ? x.PhysicalState.Abbr : "", IsOn = x.IsOn } ).ToList(); } searchParam.SearchedCount = (!searchParam.IsFilterValue ? searchParam.TotalRecordCount : result.Count); return(result); }
private ParkDto GetSearchObject(SearchParameter searchParam) { ParkDto parkObj = new ParkDto(); if (searchParam != null) { var isFilterValue = searchParam.SearchColumnValue.Any(e => !string.IsNullOrWhiteSpace(e)); searchParam.IsFilterValue = isFilterValue; if ((searchParam.SearchColumn != null && searchParam.SearchColumn.Count > 0) && searchParam.SearchColumn.Count == searchParam.SearchColumnValue.Count - 1 && isFilterValue) // minus -1 means, skipping action column from search list { var filterValueProp = new Dictionary <string, string>(); for (int idx = 0; idx < searchParam.SearchColumnValue.Count; idx++) { if (!string.IsNullOrWhiteSpace(searchParam.SearchColumnValue[idx])) { if (searchParam.SearchColumn[idx] == "Id") { parkObj.Id = Convert.ToInt32(searchParam.SearchColumnValue[idx]); } else if (searchParam.SearchColumn[idx] == "ParkName") { parkObj.ParkName = searchParam.SearchColumnValue[idx]; } else if (searchParam.SearchColumn[idx] == "SpacesToRent") { parkObj.SpacesToRent = Convert.ToInt32(searchParam.SearchColumnValue[idx]); } else if (searchParam.SearchColumn[idx] == "SpacesToOwn") { parkObj.SpacesToOwn = Convert.ToInt32(searchParam.SearchColumnValue[idx]); } else if (searchParam.SearchColumn[idx] == "PhysicalAddress") { parkObj.PhysicalAddress = searchParam.SearchColumnValue[idx]; } else if (searchParam.SearchColumn[idx] == "State") { parkObj.State = searchParam.SearchColumnValue[idx]; } else if (searchParam.SearchColumn[idx] == "PhysicalZip") { parkObj.PhysicalZip = Convert.ToInt32(searchParam.SearchColumnValue[idx]); } //else if (searchParam.SearchColumn[idx] == "IsActive") parkObj.IsActive = Convert.ToBoolean(searchParam.SearchColumnValue[idx]); } } } } return(parkObj); }
public static Feature ParseParkToFeature(ParkDto park) { if (park.Location[0][0] != park.Location.Last()[0] && park.Location[0][1] != park.Location.Last()[1]) { park.Location.Add(park.Location[0]); } var geometry = new Polygon(new List <IEnumerable <IEnumerable <double> > > { park.Location }); var properties = new Dictionary <string, dynamic> { { "Id", park.Id.ToString() }, { "Name", park.Name == null? "": park.Name.ToString() }, { "HasBenches", park.HasBenches } }; return(new Feature(geometry, properties)); }
public IActionResult Update(ParkDto parkDto) { var park = _parkService.Update(_mapper.Map <Park>(parkDto)); return(NoContent()); }
public async Task <IActionResult> Save(ParkDto parkDto) { var park = await _parkService.AddAsync(_mapper.Map <Park>(parkDto)); return(Created(string.Empty, _mapper.Map <ParkDto>(park))); }