Example #1
0
        /*  Remove comment to test.
         * [Fact]
         */
        public void WikiReadLinkedAccountTest()
        {
            // using SugarRestSharp;
            // using CustomModels;
            // using Newtonsoft.Json;

            string url      = "http://191.101.224.189/sugar/service/v4_1/rest.php";
            string username = "******";
            string password = "******";

            var    client    = new SugarRestClient(url, username, password);
            string accountId = "54bf59bc-ec61-1860-a97e-5777b5e92066";

            var request = new SugarRestRequest(RequestType.LinkedReadById);

            request.Parameter = accountId;

            List <string> selectedFields = new List <string>();

            selectedFields.Add(nameof(Account.Id));
            selectedFields.Add(nameof(Account.Name));
            selectedFields.Add(nameof(Account.Industry));
            selectedFields.Add(nameof(Account.Website));
            selectedFields.Add(nameof(Account.ShippingAddressCity));

            request.Options.SelectFields = selectedFields;

            Dictionary <object, List <string> > linkedListInfo = new Dictionary <object, List <string> >();

            List <string> selectContactFields = new List <string>();

            selectContactFields.Add(nameof(Contact.FirstName));
            selectContactFields.Add(nameof(Contact.LastName));
            selectContactFields.Add(nameof(Contact.Title));
            selectContactFields.Add(nameof(Contact.Description));
            selectContactFields.Add(nameof(Contact.PrimaryAddressPostalcode));

            linkedListInfo[typeof(Contact)] = selectContactFields;

            request.Options.LinkedModules = linkedListInfo;

            SugarRestResponse response = client.Execute <Account>(request);

            // Deserialize json data to custom object
            CustomAcccount1 customAccount = JsonConvert.DeserializeObject <CustomAcccount1>(response.JData);
            // -------------------End Bulk Read Account-------------------
        }
        public void LinkedRead1Test()
        {
            var client = new SugarRestClient(TestAccount.Url, TestAccount.Username, TestAccount.Password);

            // -------------------Bulk Read Account-------------------
            int count = 10;
            SugarRestResponse response = AccountsModule.BulkReadAccount(client, count);

            Assert.NotNull(response);
            Assert.Equal(response.StatusCode, HttpStatusCode.OK);

            List <Account> readAccounts = (List <Account>)(response.Data);

            Assert.NotNull(readAccounts);
            Assert.True(readAccounts.Count <= count);
            // -------------------End Bulk Read Account-------------------


            // -------------------Read Account Link Contact-------------------
            string accountId = readAccounts[count - 1].Id;

            response = LinkedModules.ReadAccountLinkContact(client, accountId);

            Assert.NotNull(response);
            Assert.Equal(response.StatusCode, HttpStatusCode.OK);

            Assert.True(response.Data == null);
            Assert.NotEmpty(response.JData);
            Assert.NotEmpty(response.JData);

            // Deserialize json data to custom object
            CustomAcccount1 customAccount = JsonConvert.DeserializeObject <CustomAcccount1>(response.JData);

            Assert.NotNull(customAccount);
            Assert.Equal(accountId, customAccount.Id);

            // -------------------End Read Account Link Contact-------------------
        }