Praveen Kumar

Praveen Kumar

  • NA
  • 235
  • 22.5k

Object reference not set to an instance of an object

Apr 11 2020 1:10 AM
Controller
  1. [HttpPost]  
  2. [ValidateAntiForgeryToken]  
  3. public ActionResult Edit(ContactDetailViewModel model)  
  4. {  
  5. if (ModelState.IsValid)  
  6. {  
  7. model.Id = _Login.GetCurrentUserCustomer().Id;  
  8. using (var dbContextScope = _dbContextScopeFactory.Create())  
  9. {  
  10. Contact contact = model;  
  11. contact.ContactAttributes = new List<ContactAttribute>();  
  12. var user = _Login.GetCurrentUser();  
  13. if(model.Attributes != null)  
  14. {  
  15. foreach (var item in model.Attributes)  
  16. {  
  17. if (item.AddressValue != null)  
  18. {  
  19. ContactAttribute attribute = new ContactAttribute()  
  20. {  
  21. AttributeValue = item.AddressValue,  
  22. Code = item.AddressElement,  
  23. Contact = contact//,  
  24. };  
  25. _ContactRepo.UpdateContactAttribute(attribute, user);  
  26. contact.ContactAttributes.Add(attribute);  
  27. }  
  28. }  
  29. }  
  30. try  
  31. {  
  32. _ContactRepo.UpdateContact(contact, user);  
  33. }  
  34. catch (RMException rme)  
  35. {  
  36. rme.Log();  
  37. ModelState.AddModelError("""Updating contact failed. Please check your values and try again.");  
  38. return PartialView(model);  
  39. }  
  40. dbContextScope.SaveChanges();  
  41. }  
  42. }  
  43. else  
  44. {  
  45. return PartialView(model);  
  46. }  
  47. return RedirectToAction("Index""Contact");  

Model
  1. public ContactAttribute UpdateContactAttribute(ContactAttribute attribute, User user)  
  2. {  
  3. var dbAttribute = DbContext.ContactAttributes.Find(attribute.ContactId);  
  4. dbAttribute.AttributeValue = attribute.AttributeValue;  
  5. dbAttribute.Code = attribute.Code;  
  6. UpdateWithUser(dbAttribute, user.UserId, "ContactRepo.UpdateContactAttribute");  
  7. return dbAttribute;  

 

Answers (2)