public void CreateObligorTest()
        {
            string user = "******";
            string pass = "******";
            string bankId = "84";
            string ObligorNumber = "";
            string itemNumber = "";
            string luw = Constants.CREATE_OBLGR_LUW_ID;//"L001";
            string batchId = "L01";

            var obligorCommand = new CreateObligorCommand(user, pass, bankId, ObligorNumber, batchId, "", "", "", "", itemNumber, luw, "");

            //input fields

            obligorCommand.X1001_CUSTOMER_NAME = "*TESTING ANOTHER LLC";
            obligorCommand.X1001_CUSTOMER_GREETING = "";
            obligorCommand.X1001_CUSTOMER_NAME_CONT = "";
            obligorCommand.X1001_TAXID = "261998044";
            obligorCommand.X1001_ADDRESS_LINE_ONE = "3500 W ANDERE JOHNSON HWY";
            obligorCommand.X1001_SOCIAL_SECURITY = "";
            obligorCommand.X1001_ADDRESS_LINE_TWO = "";
            obligorCommand.X1001_CONTACT_DATE = "020215";
            obligorCommand.X1001_ADDRESS_LINE_THREE = "";
            obligorCommand.X1001_RESIDENT_AREA_CODE = "423";
            obligorCommand.X1001_RESIDENT_PHONE_NUMBER = "4704049";
            obligorCommand.X1001_ADDRESS_LINE_FOUR = "";
            obligorCommand.X1001_RESIDENT_EXTENSION = "";
            obligorCommand.X1001_ADDRESS_LINE_FIVE = "";
            obligorCommand.X1001_BUSINESS_AREA_CODE = "";
            obligorCommand.X1001_BUSINESS_PHONE_NUMBER = "";
            obligorCommand.X1001_ADDRESS_LINE_SIX = "";
            obligorCommand.X1001_BUSINESS_EXTENSION = "";
            obligorCommand.X1001_CITY = "GREENVILLE";
            obligorCommand.X1001_STATE_PROVINCE = "TN";
            obligorCommand.X1001_BIRTH_INC_DATE = "";
            obligorCommand.X1001_ZIP_CODE = "377430000";
            obligorCommand.X1001_TIME_ZONE = "";
            obligorCommand.X1001_FOUND_ON_CRF = "1";
            obligorCommand.X1040_ASSIGNMENT_UNIT = "1000508";
            obligorCommand.X1040_CONTACT_OFFICER = "011667";
            obligorCommand.X1040_SERVICE_UNIT = "82950";
            obligorCommand.X1040_SIC_CODE = "";
            obligorCommand.X1035_NAICS_CODE = "238990";
            obligorCommand.X1043_TYPE_TIN_IND = "T";
            obligorCommand.X1043_TYPE_ID = "";
            obligorCommand.X1043_ID_NUMBER_1 = "";
            obligorCommand.X1043_STATE_OF_ISSUE = "";
            obligorCommand.X1043_COUNTRY_OF_ISSUE = "";
            obligorCommand.X1043_ISSUANCE_DATE = "";
            obligorCommand.X1043_EXPIRATION_DATE = "";
            obligorCommand.X1043_ID_NUMBER_2 = "";
            obligorCommand.X1043_ID_NUMBER_3 = "";

            var task = commandBus.ExecuteAsync(obligorCommand);
            task.GetAwaiter().GetResult();
            Assert.IsTrue(obligorCommand.Errors.Length < 1, obligorCommand.Errors);
            Assert.IsTrue(obligorCommand.ObligorNumber.Length > 1);

        }
        /// <summary>
        /// Creates the obligor.
        /// </summary>
        /// <param name="request">The request.</param>
        public void CreateObligor(CreateObligorCommand request)
        {
            ClientContext ctx = GetClientContext(request.User, request.Password);

            CreateObligorInDocument doc = new CreateObligorInDocument
            {
                LUW_BANK = request.BankId,
                LUW_BATCH_ID = request.BatchID,
                LUW_ERROR_MESSAGES = request.Errors,
                LUW_HEADER_RESTRICTIONS = request.HeaderRestrictions,
                LUW_ID = request.Luw,
                LUW_ITEM_NBR = request.ItemNumber,
                LUW_LENGTH = request.DataLength,
                LUW_OBLIGATION = request.ObligationNumber,
                LUW_OBLIGOR = request.ObligorNumber,
                LUW_REQUEST_CODE = request.RestartRequestCode,
                SEG_COUNTER = request.Segment,
                X1001_CUSTOMER_GREETING = request.X1001_CUSTOMER_GREETING,
                X1001_CUSTOMER_NAME = request.X1001_CUSTOMER_NAME,
                X1001_CUSTOMER_NAME_CONT = request.X1001_CUSTOMER_NAME_CONT,
                X1001_BIRTH_INC_DATE = request.X1001_BIRTH_INC_DATE,
                X1001_SOCIAL_SECURITY = request.X1001_SOCIAL_SECURITY,
                X1001_TAXID = request.X1001_TAXID,
                X1001_ADDRESS_LINE_ONE = request.X1001_ADDRESS_LINE_ONE,
                X1001_ADDRESS_LINE_TWO = request.X1001_ADDRESS_LINE_TWO,
                X1001_ADDRESS_LINE_THREE = request.X1001_ADDRESS_LINE_THREE,
                X1001_ADDRESS_LINE_FOUR = request.X1001_ADDRESS_LINE_FOUR,
                X1001_ADDRESS_LINE_FIVE = request.X1001_ADDRESS_LINE_FIVE,
                X1001_ADDRESS_LINE_SIX = request.X1001_ADDRESS_LINE_SIX,
                X1001_CITY = request.X1001_CITY,
                X1001_STATE_PROVINCE = request.X1001_STATE_PROVINCE,
                X1001_ZIP_CODE = request.X1001_ZIP_CODE,
                X1001_BUSINESS_AREA_CODE = request.X1001_BUSINESS_AREA_CODE,
                X1001_BUSINESS_PHONE_NUMBER = request.X1001_BUSINESS_PHONE_NUMBER,
                X1001_BUSINESS_EXTENSION = request.X1001_BUSINESS_EXTENSION,
                X1001_RESIDENT_AREA_CODE = request.X1001_RESIDENT_AREA_CODE,
                X1001_RESIDENT_PHONE_NUMBER = request.X1001_RESIDENT_PHONE_NUMBER,
                X1001_RESIDENT_EXTENSION = request.X1001_RESIDENT_EXTENSION,
                X1001_TIME_ZONE = request.X1001_TIME_ZONE,
                X1001_CONTACT_DATE = request.X1001_CONTACT_DATE,
                X1001_FOUND_ON_CRF = request.X1001_FOUND_ON_CRF,
                X1035_NAICS_CODE = request.X1035_NAICS_CODE,
                X1040_ASSIGNMENT_UNIT = request.X1040_ASSIGNMENT_UNIT,
                X1040_CONTACT_OFFICER = request.X1040_CONTACT_OFFICER,
                X1040_SERVICE_UNIT = request.X1040_SERVICE_UNIT,
                X1040_SIC_CODE = request.X1040_SIC_CODE,
                X1043_COUNTRY_OF_ISSUE = request.X1043_COUNTRY_OF_ISSUE,
                X1043_EXPIRATION_DATE = request.X1043_EXPIRATION_DATE,
                X1043_ID_NUMBER_1 = request.X1043_ID_NUMBER_1,
                X1043_ID_NUMBER_2 = request.X1043_ID_NUMBER_2,
                X1043_ID_NUMBER_3 = request.X1043_ID_NUMBER_3,
                X1043_ISSUANCE_DATE = request.X1043_ISSUANCE_DATE,
                X1043_STATE_OF_ISSUE = request.X1043_STATE_OF_ISSUE,
                X1043_TYPE_ID = request.X1043_TYPE_ID,
                X1043_TYPE_TIN_IND = request.X1043_TYPE_TIN_IND
            };

            try
            {
                srv.CreateObligor(ref doc.LUW_ID,
                                    ref doc.LUW_REQUEST_CODE,
                                    ref doc.LUW_BATCH_ID,
                                    ref doc.LUW_BANK,
                                    ref doc.LUW_OBLIGOR,
                                    ref doc.LUW_OBLIGATION,
                                    ref doc.LUW_ITEM_NBR,
                                    ref doc.SEG_COUNTER,
                                    ref Constants.LUW_HEADER_REST_CALL_APPL,
                                    ref doc.LUW_LENGTH,
                                    ref doc.LUW_ERROR_MESSAGES,
                                    ref doc.X1001_CUSTOMER_NAME,
                                    ref doc.X1001_CUSTOMER_GREETING,
                                    ref doc.X1001_CUSTOMER_NAME_CONT,
                                    ref doc.X1001_TAXID,
                                    ref doc.X1001_ADDRESS_LINE_ONE,
                                    ref doc.X1001_SOCIAL_SECURITY,
                                    ref doc.X1001_ADDRESS_LINE_TWO,
                                    ref doc.X1001_CONTACT_DATE,
                                    ref doc.X1001_ADDRESS_LINE_THREE,
                                    ref doc.X1001_RESIDENT_AREA_CODE,
                                    ref doc.X1001_RESIDENT_PHONE_NUMBER,
                                    ref doc.X1001_ADDRESS_LINE_FOUR,
                                    ref doc.X1001_RESIDENT_EXTENSION,
                                    ref doc.X1001_ADDRESS_LINE_FIVE,
                                    ref doc.X1001_BUSINESS_AREA_CODE,
                                    ref doc.X1001_BUSINESS_PHONE_NUMBER,
                                    ref doc.X1001_ADDRESS_LINE_SIX,
                                    ref doc.X1001_BUSINESS_EXTENSION,
                                    ref doc.X1001_CITY,
                                    ref doc.X1001_STATE_PROVINCE,
                                    ref doc.X1001_BIRTH_INC_DATE,
                                    ref doc.X1001_ZIP_CODE,
                                    ref doc.X1001_TIME_ZONE,
                                    ref doc.X1001_FOUND_ON_CRF,
                                    ref doc.X1040_ASSIGNMENT_UNIT,
                                    ref doc.X1040_CONTACT_OFFICER,
                                    ref doc.X1040_SERVICE_UNIT,
                                    ref doc.X1040_SIC_CODE,
                                    ref doc.X1035_NAICS_CODE,
                                    ref doc.X1043_TYPE_TIN_IND,
                                    ref doc.X1043_TYPE_ID,
                                    ref doc.X1043_ID_NUMBER_1,
                                    ref doc.X1043_STATE_OF_ISSUE,
                                    ref doc.X1043_COUNTRY_OF_ISSUE,
                                    ref doc.X1043_ISSUANCE_DATE,
                                    ref doc.X1043_EXPIRATION_DATE,
                                    ref doc.X1043_ID_NUMBER_2,
                                    ref doc.X1043_ID_NUMBER_3,
                                    ref ctx);

                request.Errors = doc.LUW_ERROR_MESSAGES;
                request.ObligorNumber = doc.LUW_OBLIGOR;

                if (doc.LUW_ERROR_MESSAGES.Length > 0)
                    Logger.Log(this, LogLevel.Error, "Invoke CreateObligor through HIS", doc.LUW_ERROR_MESSAGES);

            }
            catch (CustomTIException Ex)
            {
                var err = string.Empty;
                if (Ex.TIExceptionMsgId == Constants.HIS_META_DATA_ERROR)
                {
                    err = String.Format("CICS program returned an error. \nTI Runtime Error MsgID={0} \nError description=\"{1}\"", Ex.TIExceptionMsgId, Ex.Message);
                    Logger.Log(this, LogLevel.Error, "Invoke CreateObligor through HIS", err);
                    Trace.WriteLine(err);
                }

                else
                {
                    err = String.Format("COMPASS Connection failed with TI Runtime Error MsgID {0}, description: \n{1}", Ex.TIExceptionMsgId, Ex.Message);
                    Logger.Log(this, LogLevel.Error, "Invoke CreateObligor through HIS", err);
                    Trace.WriteLine(err);
                }
                request.Errors = err;
            }
            catch (Exception ee)
            {
                string msg = ee.Message;
                request.Errors = msg;
                throw;
            }
        }