public ActionResult ChangeProspectLO(int contactId, int newOwnerAccountId, string lid)
        {
            try
            {
                UserAccount loggedUser = null;
                if (HttpContext != null && HttpContext.Session != null && HttpContext.Session[SessionHelper.UserData] != null)
                {
                    loggedUser = ( UserAccount )HttpContext.Session[SessionHelper.UserData];
                }
                else
                {
                    // TODO: Handle if user don't have priviledges to see this log
                    throw new UnauthorizedAccessException("User is not authorized to access this method!");
                }

                var licenseExpiredClass   = "notdisplayed";
                var licenseExpiredMessage = String.Empty;

                var updated = ContactServiceFacade.UpdateContactOwner(contactId, newOwnerAccountId, loggedUser.UserAccountId);

                if (!updated || newOwnerAccountId == 0 || !WebCommonHelper.LicensingEnabled())
                {
                    return(Json(new
                    {
                        LicenseExpiredClass = licenseExpiredClass,
                        LicenseExpiredMessage = licenseExpiredMessage
                    }, JsonRequestBehavior.AllowGet));
                }

                Guid loanId;
                Guid.TryParse(lid, out loanId);

                // Check if concierge/branch is licensed
                var isUserStateLicensedForLoan = UserAccountServiceFacade.IsUserStateLicensedForLoan(newOwnerAccountId, loanId, contactId);

                licenseExpiredMessage = LicenseHelper.ConfigureLicenseExpiredMessage(licenseExpiredMessage, isUserStateLicensedForLoan);
                if (!String.IsNullOrEmpty(licenseExpiredMessage))
                {
                    licenseExpiredClass = "licenseExpiredNotification";
                }

                return(Json(new
                {
                    LicenseExpiredClass = licenseExpiredClass,
                    LicenseExpiredMessage = licenseExpiredMessage
                }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                TraceHelper.Error(TraceCategory.Global, "LoanController::ChangeProspectLO", ex);
                return(Json(null, JsonRequestBehavior.AllowGet));
            }
        }