コード例 #1
0
        protected void ProblemStatementsGrid_OnItemCommand(Object sender, Telerik.Web.UI.GridCommandEventArgs e)
        {
            Telerik.Web.UI.RadGrid grid = (Telerik.Web.UI.RadGrid)sender;

            Telerik.Web.UI.GridDataItem item = (Telerik.Web.UI.GridDataItem)e.Item;

            Mercury.Server.Application.MemberCaseModificationResponse response;

            Int64 memberCaseProblemCarePlanId = 0;


            switch (e.CommandName)
            {
            case "DeleteProblemStatement":

                memberCaseProblemCarePlanId = Convert.ToInt64(item.GetDataKeyValue("Id"));

                response = MercuryApplication.MemberCase_DeleteProblemStatement(Case, memberCaseProblemCarePlanId);

                Case = new Client.Core.Individual.Case.MemberCase(MercuryApplication, response.MemberCase);

                if (response.HasException)
                {
                    ExceptionMessage = response.Exception.Message;
                }

                break;
            }

            return;
        }
コード例 #2
0
        public void CaseDescriptionSaveLink_OnClick(Object sender, EventArgs e)
        {
            Server.Application.MemberCaseModificationResponse response;

            String modifiedCaseDescription = CaseDescription.Text;


            response = MercuryApplication.MemberCase_SetDescription(Case, CaseDescription.Text);

            // UPDATE FORM FROM UPDATED CASE RECEVIED THROUGH RESPONSE

            if (response.MemberCase != null)
            {
                Case = new Client.Core.Individual.Case.MemberCase(MercuryApplication, response.MemberCase);
            }

            if (response.HasException)
            {
                ExceptionMessage = response.Exception.Message;

                CaseDescription.Text = modifiedCaseDescription;
            }

            return;
        }
コード例 #3
0
        public void CaseAssignedToWorkTeamSaveLink_OnClick(Object sender, EventArgs e)
        {
            Server.Application.MemberCaseModificationResponse response;


            Int64 selectedWorkTeamId = Convert.ToInt64(CaseAssignedToWorkTeamSelection.SelectedValue);

            if (Case.AssignedToWorkTeamId != selectedWorkTeamId)
            {
                response = MercuryApplication.MemberCase_AssignToWorkTeam(Case, selectedWorkTeamId);

                if (response.HasException)
                {
                    ExceptionMessage = response.Exception.Message;
                }

                // UPDATE FORM FROM UPDATED CASE RECEVIED THROUGH RESPONSE

                if (response.MemberCase != null)
                {
                    Case = new Client.Core.Individual.Case.MemberCase(MercuryApplication, response.MemberCase);
                }
            }

            return;
        }
コード例 #4
0
        public void CaseLockToggleLink_OnClick(Object sender, EventArgs e)
        {
            Server.Application.MemberCaseModificationResponse response = null;

            if (((LinkButton)sender).Text == "(lock)")
            {
                response = MercuryApplication.MemberCase_Lock(Case);
            }

            else
            {
                response = MercuryApplication.MemberCase_Unlock(Case);
            }

            if (response == null)
            {
                return;
            }

            if (response.HasException)
            {
                ExceptionMessage = response.Exception.Message;
            }


            // UPDATE FORM FROM UPDATED CASE RECEVIED THROUGH RESPONSE

            if (response.MemberCase != null)
            {
                Case = new Client.Core.Individual.Case.MemberCase(MercuryApplication, response.MemberCase);
            }

            return;
        }
コード例 #5
0
        public void CaseReferenceNumberSaveLink_OnClick(Object sender, EventArgs e)
        {
            Server.Application.MemberCaseModificationResponse response;


            response = MercuryApplication.MemberCase_SetReferenceNumber(Case, CaseReferenceNumber.Text);

            if (response.HasException)
            {
                ExceptionMessage = response.Exception.Message;
            }

            // UPDATE FORM FROM UPDATED CASE RECEVIED THROUGH RESPONSE

            if (response.MemberCase != null)
            {
                Case = new Client.Core.Individual.Case.MemberCase(MercuryApplication, response.MemberCase);
            }

            return;
        }
コード例 #6
0
        public JsonResult MyAssignedCasesGridDetail(String memberCaseKey, Boolean _search, String nd, Int32 page, Int32 rows, String sidx, String sord)
        {
            Int64 memberCaseId = 0;

            Int64.TryParse(memberCaseKey.Split('_')[memberCaseKey.Split('_').Length - 1], out memberCaseId);


            Client.Core.Individual.Case.MemberCase memberCase = MercuryApplication.MemberCaseGet(memberCaseId, true);

            var gridData =

                from currentProblemClass in memberCase.ProblemClasses

                select new {
                id = memberCaseId + "_" + currentProblemClass.Id.ToString(),

                Classification = currentProblemClass.Classification,

                AssignedToUserDisplayName = currentProblemClass.AssignedToUserDisplayName,

                AssignedToProviderName = ((currentProblemClass.AssignedToProvider != null) ? currentProblemClass.AssignedToProvider.Name : String.Empty)
            };


            var jsonData = new {
                total = 1,

                page = 1,

                records = memberCase.ProblemClasses.Count,

                rows = gridData
            };

            return(Json(jsonData, JsonRequestBehavior.AllowGet));
        }
コード例 #7
0
        protected void MyAssignedCasesGrid_OnItemCommand(Object sender, Telerik.Web.UI.GridCommandEventArgs e)
        {
            switch (e.CommandName)
            {
            case Telerik.Web.UI.RadGrid.ExpandCollapseCommandName:

                System.Diagnostics.Debug.WriteLine("Item Command Argument: " + e.CommandArgument);

                Telerik.Web.UI.GridDataItem gridItem = (Telerik.Web.UI.GridDataItem)e.Item;

                Int64 memberCaseId = 0;

                if (Int64.TryParse(gridItem["Id"].Text, out memberCaseId))
                {
                    if (gridItem.Expanded)       // COLLAPSE ITEM

                    {
                        List <Client.Core.Individual.Case.MemberCaseProblemClass> sendersToRemove = new List <Client.Core.Individual.Case.MemberCaseProblemClass> ();

                        foreach (Client.Core.Individual.Case.MemberCaseProblemClass currentSender in MyAssignedCasesProblemClasses)
                        {
                            if (currentSender.MemberCaseId == memberCaseId)
                            {
                                sendersToRemove.Add(currentSender);
                            }
                        }

                        foreach (Client.Core.Individual.Case.MemberCaseProblemClass currentSenderToRemove in sendersToRemove)
                        {
                            MyAssignedCasesProblemClasses.Remove(currentSenderToRemove);
                        }
                    }

                    else       // EXPAND ITEM

                    {
                        Client.Core.Individual.Case.MemberCase memberCase = MercuryApplication.MemberCaseGet(memberCaseId, true);

                        List <Client.Core.Individual.Case.MemberCaseProblemClass> problemClasses =

                            (from currentProblemClass in memberCase.ProblemClasses

                             where currentProblemClass.HasActiveCarePlans

                             orderby currentProblemClass.Classification

                             select currentProblemClass).ToList();


                        MyAssignedCasesProblemClasses.AddRange(problemClasses);
                    }
                }

                break;

            default:

                System.Diagnostics.Debug.WriteLine("Unhandled Grid Item Command: " + e.CommandName);

                break;
            }

            return;
        }
コード例 #8
0
        protected Boolean ApplyChanges()
        {
            Boolean isModified = false;

            Boolean success = false;

            List <Int64> problemStatementIds = new List <Int64> (); // PROBLEM STATEMENTS TO ADD

            Int64 problemStatementId = 0;

            Mercury.Server.Application.MemberCaseModificationResponse response;



            // IDENTIFY ALL REQUESTED PROBLEM STATEMENTS TO ADD

            foreach (Telerik.Web.UI.RadTreeNode currentNode in ProblemStatementTreeView.GetAllNodes())
            {
                // VALIDATE THAT THE NODE IS CHECKED AND REQUESTED TO BE ADDED TO CASE

                if (currentNode.Checked)
                {
                    // VALIDATE THAT THE NODE IS A PROBLEM STATEMENT NODE

                    if (Int64.TryParse(currentNode.Value, out problemStatementId))
                    {
                        problemStatementIds.Add(problemStatementId);
                    }
                }
            }


            isModified = (problemStatementIds.Count > 0);

            if (isModified)
            {
                success = true;

                foreach (Int64 currentProblemStatementId in problemStatementIds)
                {
                    // TODO: ADD SINGLE INSTANCE SUPPORT HERE

                    response = MercuryApplication.MemberCase_AddProblemStatement(Case, currentProblemStatementId, false);

                    Case = new Client.Core.Individual.Case.MemberCase(MercuryApplication, response.MemberCase);

                    if (response.HasException)
                    {
                        ExceptionMessage = response.Exception.Message;

                        success = false;

                        // REBUILD TREE AND SET ERROR NODE ACTIVE

                        ProblemStatementTreeView.Nodes.Clear();

                        InitializeProblemStatementTreeView();

                        Telerik.Web.UI.RadTreeNode problemStatementNode = ProblemStatementTreeView.FindNodeByValue(currentProblemStatementId.ToString());

                        if (problemStatementNode != null)
                        {
                            problemStatementNode.Expanded = true;

                            problemStatementNode.ParentNode.Expanded = true;

                            problemStatementNode.ParentNode.ParentNode.Expanded = true;

                            problemStatementNode.Selected = true;
                        }

                        break;
                    }
                }

                if (success)   // IF ALL PROBLEMS WERE ADDED WITHOUT PROBLEMS, REFRESH TREE

                {
                    ProblemStatementTreeView.Nodes.Clear();

                    InitializeProblemStatementTreeView();
                }
            }

            else
            {
                ExceptionMessage = "No Changes Detected";

                success = true;
            }

            return(success);
        }
コード例 #9
0
        public void ProblemClassAssignedToProviderSaveLink_OnClick(Object sender, EventArgs e)
        {
            // GET REFERENCE TO CURRENT SAVE LINK BUTTON

            System.Web.UI.WebControls.LinkButton currentSaveLinkButton = (System.Web.UI.WebControls.LinkButton)sender;

            // GET REFERENCE TO CURRENT PROBLEM CLASS RAD LIST VIEW ITEM

            Telerik.Web.UI.RadListViewItem currentProblemClassRadListViewItem = (Telerik.Web.UI.RadListViewItem)currentSaveLinkButton.Parent;

            // GET REFERENCE TO CURRENT PROBLEM CLASS ASSIGNED TO PROVIDER SELECTION RAD COMBO BOX

            Telerik.Web.UI.RadComboBox currentProblemClassAssignedToProviderSelection = (Telerik.Web.UI.RadComboBox)currentProblemClassRadListViewItem.FindControl("ProblemClassAssignedToProviderSelection");

            // CREATE REFERENCE TO SELECTED PROVIDER ID AND DEFAULT IT TO 0

            Int64 selectedProviderId = 0;

            // IF SELECTED VALUE OF CURRENT PROBLEM CLASS ASSIGNED TO PROVIDER SELECTION RAD COMBO BOX IS NOT AN EMPTY STRING, THEN TRY TO PARSE SELECTED VALUE TO INT64

            if (currentProblemClassAssignedToProviderSelection.SelectedValue != "")
            {
                // SET SELECTED VALUE AS SELECTED VALUE OF CURRENT PROBLEM CLASS ASSIGNED TO PROVIDER SELECTION

                String selectedValue = currentProblemClassAssignedToProviderSelection.SelectedValue;

                // CREATE REFERENCE TO PARSED SELECTED PROVIDER ID AND DEFAULT IT TO 0

                Int64 parsedSelectedProviderId = 0;

                // IF SELECTED VALUE OF CURRENT PROBLAM CLASS ASSIGNED TO PROVIDER SELECTION CAN BE PARSED AS AN INT64, THEN SET SELECTED PROVIDER ID TO PARSED VALUE OF SELECTED VALUE OF CURRENT PROBLAM CLASS ASSIGNED TO PROVIDER SELECTION

                if (Int64.TryParse(selectedValue.Split('|')[0], out (parsedSelectedProviderId)))
                {
                    // SET SELECTED PROVIDER ID TO PARSED VALUE OF SELECTED VALUE OF CURRENT PROBLAM CLASS ASSIGNED TO PROVIDER SELECTION

                    selectedProviderId = Convert.ToInt64(selectedValue.Split('|')[0]);
                }

                // CREATE REFERENCE TO MEMBER CASE PROBLEM CLASS ID

                Int64 memberCaseProblemClassId = 0;

                // CREATE REFERENCE TO PARSED MEMBER CASE PROBLEM CLASS ID

                Int64 parsedMemberCaseProblemClassId = 0;

                // TRY TO PARSE FIRST INDEX OF SPIT STRING OF SELECTED VALUE AS INT64

                if (Int64.TryParse(selectedValue.Split('|')[1], out (parsedMemberCaseProblemClassId)))
                {
                    // SET MEMBER CASE PROBLEM CLASS ID TO INT64 OF FIRST INDEX OF SPLIT STRING OF SELECTED VALUE

                    memberCaseProblemClassId = Convert.ToInt64(selectedValue.Split('|')[1]);
                }

                // IF UNASSIGNING PROVIDER FOR MEMBER CASE PROBLEM CLASS (SELECTED PTOVIDER ID IS 0),

                if (selectedProviderId == 0)
                {
                    // CREATE REFERENCE TO MEMBER CASE MODIFICATION RESPONSE

                    Mercury.Server.Application.MemberCaseModificationResponse response = new Mercury.Server.Application.MemberCaseModificationResponse();

                    // ASSIGN MEMBER CASE PROBLEM CLASS TO PROVIDER

                    response = MercuryApplication.MemberCaseProblemClass_AssignToProvider(Case, memberCaseProblemClassId, selectedProviderId);

                    // IF RESPOSNE IS NOT NULL, THEN EVALUATE IF EXCEPTION EXISTS

                    if (response != null)
                    {
                        // IF RESPONSE HAS EXCEPTION, THEN SET EXCEPTION MESSAGE OF PARENT MEMBER CASE PAGE AS MESAGE OF EXCEPTION OF RESPONSE

                        if (response.HasException)
                        {
                            ParentMemberCasePage.ExceptionMessage = response.Exception.Message;
                        }

                        // UPDATE FORM FROM UPDATED CASE RECEVIED THROUGH RESPONSE

                        if (response.MemberCase != null)
                        {
                            // RELOAD MEMBER CASE

                            Case = new Client.Core.Individual.Case.MemberCase(MercuryApplication, response.MemberCase);
                        }
                    }
                }

                // IF ASSIGNING PROVIDER FOR MEMBER CASE PROBLEM CLASS (SELECTED PROVIDER ID IS NOT 0),

                else
                {
                    // GET REFERENCE TO MEMBER CASE MODIFICATION REPONSE

                    Mercury.Server.Application.MemberCaseModificationResponse response = new Mercury.Server.Application.MemberCaseModificationResponse();

                    // TRY TO ASSIGN MEMBER CASE PROBLEM CLASS TO PROVIDER

                    response = MercuryApplication.MemberCaseProblemClass_AssignToProvider(Case, memberCaseProblemClassId, selectedProviderId);

                    // IF RESPOSNE IS NOT NULL, THEN EVALUATE IF EXCEPTION EXISTS

                    if (response != null)
                    {
                        // IF RESPONSE HAS EXCEPTION, THEN SET EXCEPTION MESSAGE OF PARENT MEMBER CASE PAGE AS MESAGE OF EXCEPTION OF RESPONSE

                        if (response.HasException)
                        {
                            ParentMemberCasePage.ExceptionMessage = response.Exception.Message;
                        }

                        // UPDATE FORM FROM UPDATED CASE RECEVIED THROUGH RESPONSE

                        if (response.MemberCase != null)
                        {
                            // RELOAD MEMBER CASE

                            Case = new Client.Core.Individual.Case.MemberCase(MercuryApplication, response.MemberCase);
                        }
                    }
                }
            }

            return;
        }
コード例 #10
0
        public void ProblemClassAssignedToUserSaveLink_OnClick(Object sender, EventArgs e)
        {
            // GET REFERENCE OF CURRENT SAVE LINK BUTTON

            System.Web.UI.WebControls.LinkButton currentSaveLinkButton = (System.Web.UI.WebControls.LinkButton)sender;

            // GET REFERENCE OF CURRENT PROBLEM CLASS RAD LIST VIEW ITEM

            Telerik.Web.UI.RadListViewItem currentProblemClassRadListViewItem = (Telerik.Web.UI.RadListViewItem)currentSaveLinkButton.Parent;

            // GET REFERENCE TO CURRENT PROBLEM CLASS ASSIGNED TO USER SELECTION

            Telerik.Web.UI.RadComboBox currentProblemClassAssignedToUserSelection = (Telerik.Web.UI.RadComboBox)currentProblemClassRadListViewItem.FindControl("ProblemClassAssignedToUserSelection");

            // IF SELECTED VALUE OF CURRENT PROBLEM CLASS ASSIGNED TO USER SELECT IS NOT AN EMPTY STRING, THEN EVALUATE SELECTED VALUE

            if (currentProblemClassAssignedToUserSelection.SelectedValue != "")
            {
                // SET USER NAME AS TEXT OF SELECTED ITEM OF CURRENT PROBLEM CLASS ASSIGNED TO USER SELECTION

                String userName = currentProblemClassAssignedToUserSelection.SelectedItem.Text;

                // IF USER NAME IS NOT "NOT ASSIGNED", THEN GET ASSIGNED TO USER INFORMATION

                if (userName != "** Not Assigned")
                {
                    // SET SELECTED VALUE AS SELECTED VALUE OF CURRENT PROBLEM CLASS ASSIGNED TO USER SELECTION

                    String selectedValue = currentProblemClassAssignedToUserSelection.SelectedValue;

                    // SET ASSIGNED TO SECURITY AUTHORITY ID AS 0 INDEX OF SELECTED VALUE

                    Int64 assignedToSecurityAuthorityId = Convert.ToInt64(selectedValue.Split('|')[0]);

                    // SET ASSIGNED TO USER ACCOUNT ID AS 2 INDEX OF SELECTED VALUE

                    String assignedToUserAccountId = selectedValue.Split('|')[1];

                    // SET MEMBER CASE PROBLEM CLASS ID AS 2 INDEX OF SELECTED VALUE

                    Int64 memberCaseProblemClassId = Convert.ToInt64(selectedValue.Split('|')[2]);

                    // SAVE MEMBER CASE PROBLEM CLASS ASSIGNMENT, ASSIGN USER TO MEMBER CASE PROBLEM CLASS

                    Mercury.Server.Application.MemberCaseModificationResponse response = new Mercury.Server.Application.MemberCaseModificationResponse();

                    // ASSIGN MEMBER CASE PROBLEM CLASS TO USER

                    response = MercuryApplication.MemberCaseProblemClass_AssignToUser(Case, memberCaseProblemClassId,

                                                                                      assignedToSecurityAuthorityId, assignedToUserAccountId, userName, userName);

                    // IF RESPOSNE IS NOT NULL, THEN EVALUATE IF EXCEPTION EXISTS

                    if (response != null)
                    {
                        // IF RESPONSE HAS EXCEPTION, THEN SET EXCEPTION MESSAGE OF PARENT MEMBER CASE PAGE AS MESAGE OF EXCEPTION OF RESPONSE

                        if (response.HasException)
                        {
                            ParentMemberCasePage.ExceptionMessage = response.Exception.Message;
                        }

                        // UPDATE FORM FROM UPDATED CASE RECEVIED THROUGH RESPONSE

                        if (response.MemberCase != null)
                        {
                            // RELOAD MEMBER CASE

                            Case = new Client.Core.Individual.Case.MemberCase(MercuryApplication, response.MemberCase);
                        }
                    }
                }

                // IF USER NAME IS NOT ASSIGNED, THEN CHECK IF CURRENT MEMBER PROBLEM CLASS IS CURRENTLY NOT ASSIGNED, IF NOT THEN SET CURRENT MEMBER PROBLEM CLASS AS NOT ASSIGNED

                else
                {
                    // SET SELECTED VALUE AS SELECTED VALUE OF CURRENT PROBLEM CLASS ASSIGNED TO USER SELECTION

                    String selectedValue = currentProblemClassAssignedToUserSelection.SelectedValue;

                    // SET MEMBER CASE PROBLEM CLASS ID AS 2 INDEX OF SELECTED VALUE

                    Int64 memberCaseProblemClassId = Convert.ToInt64(selectedValue.Split('|')[2]);

                    // SAVE MEMBER CASE PROBLEM CLASS ASSIGNMENT, UNASSIGN USER MEMBER CASE PROBLEM CLASS ASSIGNMENT

                    Mercury.Server.Application.MemberCaseModificationResponse response = new Server.Application.MemberCaseModificationResponse();

                    // ASSIGN MEMBER CASE PROBLEM CLASS TO USER

                    response = MercuryApplication.MemberCaseProblemClass_AssignToUser(Case, memberCaseProblemClassId, 0, String.Empty, String.Empty, String.Empty);

                    // IF RESPOSNE IS NOT NULL, THEN EVALUATE IF EXCEPTION EXISTS

                    if (response != null)
                    {
                        // IF RESPONSE HAS EXCEPTION, THEN SET EXCEPTION MESSAGE OF PARENT MEMBER CASE PAGE AS MESAGE OF EXCEPTION OF RESPONSE

                        if (response.HasException)
                        {
                            ParentMemberCasePage.ExceptionMessage = response.Exception.Message;
                        }

                        // UPDATE FORM FROM UPDATED CASE RECEVIED THROUGH RESPONSE

                        if (response.MemberCase != null)
                        {
                            // RELOAD MEMBER CASE

                            Case = new Client.Core.Individual.Case.MemberCase(MercuryApplication, response.MemberCase);
                        }
                    }
                }
            }

            return;
        }
コード例 #11
0
        protected Boolean ApplyChanges()
        {
            Boolean isModified = false;

            Boolean success = false;

            List <Int64> careInterventionIds = new List <Int64> (); // CARE INTERVENTIONS TO ADD

            Int64 careInterventionId = 0;

            Mercury.Server.Application.MemberCaseModificationResponse response;


            // IDENTIFY ALL REQUESTED CARE INTERVENTIONS TO ADD

            foreach (Telerik.Web.UI.RadTreeNode currentNode in CareInterventionTreeView.GetAllNodes())
            {
                // VALIDATE THAT THE NODE IS CHECKED AND REQUESTED TO BE ADDED TO THE GOAL

                if (currentNode.Checked)
                {
                    // VALIDATE THAT THE NODE IS A CARE INTERVENTION NODE

                    if (Int64.TryParse(currentNode.Value, out careInterventionId))
                    {
                        careInterventionIds.Add(careInterventionId);
                    }
                }
            }

            isModified = (careInterventionIds.Count > 0);

            if (isModified)
            {
                success = true;

                foreach (Int64 currentCareInterventionId in careInterventionIds)
                {
                    // TODO: ADD SINGLE INSTANCE SUPPORT HERE

                    response = MercuryApplication.MemberCaseCarePlanGoal_AddCareIntervention(Case, MemberCaseCarePlanGoal.Id, currentCareInterventionId, false);

                    Case = new Client.Core.Individual.Case.MemberCase(MercuryApplication, response.MemberCase);

                    if (response.HasException)
                    {
                        ExceptionMessage = response.Exception.Message;

                        success = false;

                        // REBUILD TREE AND SET ERROR NODE ACTIVE

                        CareInterventionTreeView.Nodes.Clear();

                        InitializeCareInterventionTreeView();

                        Telerik.Web.UI.RadTreeNode careInterventionNode = CareInterventionTreeView.FindNodeByValue(currentCareInterventionId.ToString());

                        if (careInterventionNode != null)
                        {
                            careInterventionNode.Expanded = true;

                            careInterventionNode.ParentNode.Expanded = true; // ONLY TWO LEVELS DEEP

                            careInterventionNode.Selected = true;
                        }

                        break;
                    }
                }

                if (success)   // IF ALL PROBLEMS WERE ADDED WITHOUT PROBLEMS, REFRESH TREE

                {
                    CareInterventionTreeView.Nodes.Clear();

                    InitializeCareInterventionTreeView();
                }
            }

            else
            {
                ExceptionMessage = "No Changes Detected";

                success = true;
            }


            return(success);
        }
コード例 #12
0
        public void CaseAssignedToUserSaveLink_OnClick(Object sender, EventArgs e)
        {
            Server.Application.MemberCaseModificationResponse response = null;


            Int64 securityAuthorityId = Convert.ToInt64(CaseAssignedToUserSelection.SelectedValue.Split('|')[0]);

            String userAccountId = CaseAssignedToUserSelection.SelectedValue.Split('|')[1];


            // DETERMINE IF THERE WAS AN ACTUAL CHANGE

            if (!((Case.AssignedToSecurityAuthorityId == securityAuthorityId) && (Case.AssignedToUserAccountId == userAccountId)))
            {
                if (securityAuthorityId != 0)
                {
                    // FIND WORK TEAM MEMBERSHIP RECORD THAT IS SELETED

                    Mercury.Server.Application.WorkTeamMembership membership = null;

                    foreach (Mercury.Server.Application.WorkTeamMembership currentMembership in Case.AssignedToWorkTeam.Membership)
                    {
                        if ((currentMembership.SecurityAuthorityId == securityAuthorityId) && (currentMembership.UserAccountId == userAccountId))
                        {
                            membership = currentMembership;
                        }
                    }

                    if (membership != null)
                    {
                        response = MercuryApplication.MemberCase_AssignToUser(Case,

                                                                              membership.SecurityAuthorityId,

                                                                              membership.UserAccountId,

                                                                              membership.UserAccountName,

                                                                              membership.UserDisplayName

                                                                              );
                    }
                }

                else   // REQUEST TO UNASSIGN FROM CURRENT USER

                {
                    response = MercuryApplication.MemberCase_AssignToUser(Case, 0, String.Empty, String.Empty, String.Empty);
                }
            }

            if (response != null)
            {
                if (response.HasException)
                {
                    ExceptionMessage = response.Exception.Message;
                }

                // UPDATE FORM FROM UPDATED CASE RECEVIED THROUGH RESPONSE

                if (response.MemberCase != null)
                {
                    Case = new Client.Core.Individual.Case.MemberCase(MercuryApplication, response.MemberCase);
                }
            }

            return;
        }