Ejemplo n.º 1
0
        public async Task TestSetGlobals()
        {
            var targetLayout = "FRUIT_utility";

            Login();

            // need the layout not for setting the globals but for the find request to confirm that they were set
            fms.SetLayout(targetLayout);

            // directly for one global field
            var valueText       = "Hello World!";
            var valueNumber     = 9999;
            var errorCodeSingle = await fms.SetSingleGlobalField("global_field_text", "FRUIT", valueText);

            // or through multiple
            List <Field> fields = new List <Field>();

            fields.Add(new Field("global_field_number", "fruit", 1, valueNumber.ToString(), 18));
            fields.Add(new Field("global_field_number_repeat", "fruit", 1, valueNumber.ToString(), 18));
            fields.Add(new Field("global_field_number_repeat", "fruit", 2, valueNumber.ToString(), 18));
            var errorCodeMulti = await fms.SetMultipleGlobalField(fields);

            // get a random record back to confirm the values
            var findRequest     = fms.FindRequest(1);
            var getFindResponse = await findRequest.Execute();

            // check the values for the globals
            var record = getFindResponse.data.foundSet.records.First();
            var value1 = record.fieldsAndData["global_field_text"];
            var value2 = record.fieldsAndData["global_field_number"];
            var value3 = record.fieldsAndData["global_field_number_repeat(1)"];
            var value4 = record.fieldsAndData["global_field_number_repeat(2)"];

            Logout();

            Assert.True(errorCodeMulti == 0 && errorCodeSingle == 0 && value1 == valueText &&
                        value2 == valueNumber.ToString() && value3 == valueNumber.ToString() &&
                        value4 == valueNumber.ToString());
        }