コード例 #1
0
ファイル: ContactController.cs プロジェクト: KKPBank/CSM
        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())));
            }
        }