public ActionResult InitEditContactRelationship(string jsonData) { Logger.Info(_logMsg.Clear().SetPrefixMsg("InitEdit ContactRelationship").Add("JsonContactRelationship", jsonData).ToInputLogString()); try { _commonFacade = new CommonFacade(); _customerFacade = new CustomerFacade(); var contactRelationVM = JsonConvert.DeserializeObject <ContactRelationshipViewModel>(jsonData); if (contactRelationVM.ListIndex != null) { CustomerContactEntity selected = contactRelationVM.ContactRelationshipList[contactRelationVM.ListIndex.Value]; contactRelationVM.AccountId = selected.AccountId; contactRelationVM.RelationshipId = selected.RelationshipId; contactRelationVM.Product = selected.Product; } if (contactRelationVM.CustomerId.HasValue) { var listAccount = _customerFacade.GetAccountByCustomerId(contactRelationVM.CustomerId.Value); TempData["AccountList"] = listAccount; // keep AccountList contactRelationVM.AccountList = new SelectList((IEnumerable)listAccount.Select(x => new { key = x.AccountId, value = x.ProductAndAccountNoDisplay }).ToDictionary(t => t.key, t => t.value), "Key", "Value", string.Empty); } // Get SelectList var lstRelationship = _commonFacade.GetRelationshipSelectList(); TempData["RelationshipList"] = lstRelationship; // Keep RelationshipList contactRelationVM.RelationshipList = new SelectList((IEnumerable)lstRelationship, "Key", "Value", string.Empty); return(PartialView("~/Views/Contact/_EditContactRelationship.cshtml", contactRelationVM)); } catch (Exception ex) { Logger.Error("Exception occur:\n", ex); Logger.Info(_logMsg.Clear().SetPrefixMsg("InitEdit ContactRelationship").Add("Error Message", ex.Message).ToFailLogString()); return(Error(new HandleErrorInfo(ex, this.ControllerContext.RouteData.Values["controller"].ToString(), this.ControllerContext.RouteData.Values["action"].ToString()))); } }