Esempio n. 1
0
        /// <summary>
        /// Get CaseID from CustomerID
        /// </summary>
        /// <param name="ID">CustomerID</param>
        /// <returns>CaseID</returns>
        public int GetCaseID(int ID)
        {
            List<AquariumCaseManagement.LeadDetails> CaseDetail = new List<AquariumCaseManagement.LeadDetails>();
            int CaseID = 0;
            IR_Dashboard_SDK.AquariumCaseManagement.CaseManagementSoapClient caseSdk = new AquariumCaseManagement.CaseManagementSoapClient();

            AquariumCaseManagement.SessionDetails sd = SDKHelper.GetSessionDetails<AquariumCaseManagement.SessionDetails>("User");

            AquariumCaseManagement.LeadCaseMatterResult result = caseSdk.GetLeadsCasesMatters(sd, ID);
            if (result.ResultInfo.ReturnCode == AquariumCaseManagement.BasicCode.OK)
            {
                CaseDetail = result.LeadsCasesMatters.ToList();
                CaseID = CaseDetail[0].Cases[0].CaseID;
            }
            else if (result.ResultInfo.ReturnCode == AquariumCaseManagement.BasicCode.Failed)
            {
                throw new System.ApplicationException("Error ID:" + result.ResultInfo.Errors[0].ResultCodeID + ", Description:" + result.ResultInfo.Errors[0].Description);
            }
            return CaseID;
        }
        //////////////////////////////
        //////////////instance methods
        //////////////////////////////
        //the value - pass in a LeadID and it will pull it
        /// <summary>
        /// //the value - pass in a LeadID and it will pull the value using internal data
        /// </summary>
        /// <param name="LeadID">LeadID</param>
        /// <returns>DetailFieldValue</returns>
        public string GetDetailFieldValue(int LeadID)
        {
            try
            {

                var theValue = "";

                using (AquariumDetailFieldManagement.DetailFieldManagementSoapClient detailfieldSDK = new DetailFieldManagementSoapClient())
                {
                    using (AquariumCaseManagement.CaseManagementSoapClient caseManSDK = new AquariumCaseManagement.CaseManagementSoapClient())
                    {
                        //need to get the matterID
                        int matterID = DiaryDetailField.GetMatterByLeadID(LeadID);

                        var sd = SDKHelper.GetSessionDetails<AquariumCaseManagement.SessionDetails>("User");
                        var sdDetailFields = SDKHelper.GetSessionDetails<AquariumDetailFieldManagement.SessionDetails>("User"); //yes it's lazy not to convert the above - f**k off

                        int[] theDetailFieldIDWeWant = new int[1];

                        theDetailFieldIDWeWant[0] = this.FieldDefinition.FieldID;

                        var theResultSet = detailfieldSDK.GetMatterDetailValuesByFieldIDs(sdDetailFields, LeadID, matterID, theDetailFieldIDWeWant);

                        //////////////////////////////
                        ////// NB REMOVE WHEN IMPLEMENT RESOURCE LISTS OR TABLE
                        /////////////////////////////
                        if (theResultSet.DetailFieldValues.Count() > 0)
                        {
                            theValue = theResultSet.DetailFieldValues.ElementAt(0).DetailValue;
                        }

                        else
                        {
                            theValue = "";

                        }

                        if (theResultSet.DetailFieldValues.Count() > 0)
                        {
                            if (theResultSet.DetailFieldValues.ElementAt(0).QuestionTypeID == 14 || theResultSet.DetailFieldValues.ElementAt(0).QuestionTypeID == 19)
                            {
                                theValue = "";
                            }
                        }

                    }
                }

                return theValue;
            }
            catch (Exception ex) { throw ex; }
        }