You are on page 1of 2

DECLARE @userId INT = 6 /*Currently Logged in user (Users.

UserID)*/
SELECT r.reasonID, r.companyID, r.productFeatureID, r.reason, r.DESCRIPTION,
r.flag, r.reasonCommentID, r.commentOther, r.notes, r.reasonStatusID,
r.createdByUserID, r.lastModifiedByUserID, r.sync, r.reasonGUID, r.dateCreated,
r.dateModified, r.approvedReasonNum , r.approvedReasonID , F.ProductFeature ,
F.featureOwnerName , f.featureOwnerEmail, u.userName , rc.reasonComment ,
f.featureOwnerUserID, f.productOwnerUserID,s.reasonStatus, u.userEmail, u.userID
FROM dbo.Reason AS r
INNER JOIN dbo.vwFeatures AS F ON F.featureID = r.productFeatureID
INNER JOIN dbo.Users AS u ON u.userID = r.createdByUserID
INNER JOIN dbo.l_ReasonStatus AS s ON s.reasonStatusID = r.reasonStatusID
LEFT OUTER JOIN dbo.l_ReasonComment AS rc ON rc.reasonCommentID =
r.reasonCommentID
WHERE r.reasonStatusID IN (1,4)
AND (f.featureOwnerUserID=@userId OR f.productOwnerUserID=@userId)
ORDER BY reason;

var query = from r in _dbContext.Reasons


join f in _dbContext.VwFeatures on r.ProductFeatureId equals
f.FeatureId
join u in _dbContext.Users on r.CreatedByUserId equals u.UserId
join s in _dbContext.LReasonStatuses on r.ReasonStatusId equals
s.ReasonStatusId
join rc in _dbContext.LReasonComments on r.ReasonCommentId
equals rc.ReasonCommentId into rrc
from result in rrc.DefaultIfEmpty()
where reasonStatusIds.Contains(r.ReasonStatusId)
&& (f.FeatureOwnerUserId == userId || f.ProductOwnerUserId ==
userId)
orderby r.Reason1
select new
{
r.ReasonId,
r.CompanyId,
r.ProductFeatureId,
r.Reason1,
r.Description,
r.Flag,
r.ReasonCommentId,
r.CommentOther,
r.Notes,
r.ReasonStatusId,
r.CreatedByUserId,
r.LastModifiedByUserId,
r.Sync,
r.ReasonGuid,
r.DateCreated,
r.DateModified,
r.ApprovedReasonNum,
r.ApprovedReasonId,
f.ProductFeature,
f.FeatureOwnerName,
f.FeatureOwnerEmail,
u.UserName,
r.ReasonComment,
f.FeatureOwnerUserId,
f.ProductOwnerUserId,
s.ReasonStatus,
u.UserEmail,
u.UserId

};

You might also like