Given tables associated with foreign keys, i want to build a class structure that reflect the hierarchy. I've written the code below, but don't like all of those nested loops - is there a cleaner way to construct?
Cheers in advance!
var db = Database.OpenNamedConnection("Reviews");
var result = db.tbl_OrderReviews
.FindAllBySecurityAccessCode(securityAccessCode)
.With(db.tbl_OrderReviews.tbl_OrderProductReviews)
.With(db.tbl_OrderReviews.tbl_OrderProductReviews.tbl_Reviews)
.With(db.tbl_OrderReviews.tbl_OrderProductReviews.tbl_Reviews.tbl_Reviewers)
.Get(1);
var products = new List<ReviewableOrderProduct>();
// STINKY! - VL 081014
foreach (var p in result.tbl_OrderProductReviews)
{
dynamic reviewRecord = null;
dynamic reviewerRecord = null;
try
{
foreach (var review in result.tbl_Reviews)
{
if (review.OrderProductReviewId == p.OrderProductReviewID)
{
reviewRecord = review;
foreach (var reviewer in result.tbl_Reviewers)
{
if (review.ReviewerId == reviewer.ReviewerId)
{
reviewerRecord = reviewer;
break;
}
}
break;
}
}
}
catch (RuntimeBinderException e)
{
}
if (reviewRecord != null && reviewerRecord != null)
{
var reviewEntity = new ReviewableOrderProductReview(reviewerRecord.DisplayName,
reviewRecord.OverallRating);
products.Add(new ReviewableOrderProduct(p.OrderProductReviewID, p.ProductName, p.ApplianceTypeId,
reviewEntity));
}
else
{
products.Add(new ReviewableOrderProduct(p.OrderProductReviewID, p.ProductName, p.ApplianceTypeId));
}
}
var reviewableOrder = new ReviewableOrder(result.SecurityAccessCode, products);
Given tables associated with foreign keys, i want to build a class structure that reflect the hierarchy. I've written the code below, but don't like all of those nested loops - is there a cleaner way to construct?
Cheers in advance!