public ActionResult <RequestDeliveryDTO> GetRequestDelivery(int id) { RequestDeliveryDTO item = repository.Get(id); if (item == null) { return(NotFound()); } return(item); }
public RequestDeliveryDTO Get(int id) { using IDbConnection db = new SqlConnection(connectionString); const string query = "SELECT * FROM RequestDeliverys WHERE Id = @Id"; RequestDeliveryDTO entity = mapper.Map <RequestDeliveryDTO>(db.QueryFirstOrDefault <RequestDelivery>(query, new { Id = id })); LoadReferences(db, entity); return(entity); }
private void LoadReferences(IDbConnection db, RequestDeliveryDTO entity) { const string shopQuery = "SELECT * FROM Shops WHERE Id = @ShopId"; entity.Shop = mapper.Map <ShopDTO>(db.QueryFirst <Shop>(shopQuery, entity)); const string warehouseQuery = "SELECT * FROM WHERE Id = @WarehouseId"; entity.Warehouse = mapper.Map <WarehouseDTO>(db.QueryFirst <Warehouse>(warehouseQuery, entity)); const string productsQuery = "SELECT p.* FROM Products as p INNER JOIN DeliveryItems as di ON p.Id = di.ProductId WHERE di.RequestDeliveryId = @Id"; entity.Products = mapper.Map <List <ProductDTO> >(db.Query <Product>(productsQuery, entity)); }