0
[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 });
    }
}
Dmitry Stepanov
  • 2,198
  • 4
  • 23
  • 36
KTK
  • 1
  • 1
  • 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

0 Answers0