public Tank GetTank(string name) { return(_tankRep.GetTank(name)); }
public Tank GetTank(string name) { return(_repository.GetTank(name)); }
public IActionResult GetTank(Guid terminalId, Guid dispenserId, Guid fuelTypeId, Guid tankId, string fields, [FromHeader(Name = "Accept")] string mediaType) { TankResourceParameters tankResourceParameters = new TankResourceParameters(); tankResourceParameters.TermimalId = terminalId; tankResourceParameters.DispenserId = dispenserId; tankResourceParameters.TermimalId = fuelTypeId; if (!MediaTypeHeaderValue.TryParse(mediaType, out MediaTypeHeaderValue parsedMediaType)) { return(BadRequest()); } if (!_propertyCheckerService.TypeHasProperties <TankDto> (fields)) { return(BadRequest()); } var tankFromRepo = _tankRepository.GetTank(tankResourceParameters, tankId); if (tankFromRepo == null) { return(NotFound()); } var includeLinks = parsedMediaType.SubTypeWithoutSuffix .EndsWith("hateoas", StringComparison.InvariantCultureIgnoreCase); IEnumerable <LinkDto> links = new List <LinkDto>(); if (includeLinks) { links = CreateLinksForTank(terminalId.ToString(), dispenserId.ToString(), fuelTypeId.ToString(), tankId.ToString(), fields); } var primaryMediaType = includeLinks ? parsedMediaType.SubTypeWithoutSuffix .Substring(0, parsedMediaType.SubTypeWithoutSuffix.Length - 8) : parsedMediaType.SubTypeWithoutSuffix; // full tank if (primaryMediaType == "vnd.marvin.tank.full") { var fullResourceToReturn = _mapper.Map <TankFullDto>(tankFromRepo) .ShapeData(fields) as IDictionary <string, object>; if (includeLinks) { fullResourceToReturn.Add("links", links); } return(Ok(fullResourceToReturn)); } // friendly tank var friendlyResourceToReturn = _mapper.Map <TankDto>(tankFromRepo) .ShapeData(fields) as IDictionary <string, object>; if (includeLinks) { friendlyResourceToReturn.Add("links", links); } return(Ok(friendlyResourceToReturn)); }