[HttpGet]
[Route("getMemberDetailById/{id:int}")]
public IHttpActionResult getMemberDetailById(int id)
{
int languageId = getLanguageId();
string minYear = System.Configuration.ConfigurationManager.AppSettings["minYear"];
int year = DateTime.Now.Year - int.Parse(minYear);
var memberToGroup = db.MemberToGroups.Where(mtg => mtg.memberId == id).FirstOrDefault();
if (memberToGroup.memberId == id)
{
var data = db.member_select_by_id(id, languageId).FirstOrDefault();
var point = db.memberPoint_select_by_id(id, year).AsEnumerable().ToList();
var usedPoints = db.member_total_used_points_select_by_memberId(id);
return Ok(new { data = data, point = point, usedPoints = usedPoints });
}
else
{
var data = db.member_without_group_select_by_id(id);
var point = db.memberPoint_select_by_id(id, year).AsEnumerable().ToList();
var usedPoints = db.member_total_used_points_select_by_memberId(id);
return Ok(new { data = data, point = point, usedPoints = usedPoints });
}
}
Asked
Active
Viewed 63 times
0

Dmitry Stepanov
- 2,776
- 8
- 29
- 45

KTK
- 1
- 2
-
Where does it throw exception ? On which line ? – MD. Khairul Basar Jan 17 '20 at 10:12
-
Check for the line: `var memberToGroup = db.MemberToGroups.Where(mtg => mtg.memberId == id).FirstOrDefault(); if (memberToGroup.memberId == id)`. – Sisir Jan 17 '20 at 10:13
-
If your `db` doesn't have the item matching the `id` it will return NULL. In the next line when u use `memberToGroup` without checking for it will trow NUllReferenceException because it has become NULL from previous line – Sisir Jan 17 '20 at 10:15
-
`var memberToGroup = db.MemberToGroups.Where(mtg => mtg.memberId == id).FirstOrDefault();` can return null so you need to verify that, `if(!memberToGroup.any())`-like condition. – anastaciu Jan 17 '20 at 10:16