public static async Task <SugarRestResponse> BulkReadAccountLinkContact(SugarRestClient client, int count) { var request = new SugarRestRequest(RequestType.LinkedBulkRead); request.Options.MaxResult = count; 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; return(await client.Execute <Account>(request)); }
public static async Task <SugarRestResponse> BulkReadAccountLinkItems2(SugarRestClient client, int count) { var request = new SugarRestRequest(RequestType.LinkedBulkRead); request.Options.MaxResult = count; List <string> selectedFields = new List <string>(); selectedFields.Add("id"); selectedFields.Add("name"); selectedFields.Add("industry"); selectedFields.Add("website"); 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; // Get all fields for Bug linkedListInfo["Bugs"] = null; request.Options.LinkedModules = linkedListInfo; return(await client.Execute <Account>(request)); }
public static async Task <SugarRestResponse> ReadAccountLinkItems(SugarRestClient client, string accountId) { 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> >(); linkedListInfo[typeof(Contact)] = null; linkedListInfo["Leads"] = null; linkedListInfo[typeof(Case)] = null; request.Options.LinkedModules = linkedListInfo; return(await client.Execute <Account>(request)); }
public void ReadBulkWithQuery1Test() { var client = new SugarRestClient(TestAccount.Url, TestAccount.Username, TestAccount.Password); // -------------------Bulk Read Account------------------- int count = 10; var request = new SugarRestRequest("Accounts", RequestType.BulkRead); request.Options.Query = "accounts.name = 'Air Safety Inc' "; request.Options.QueryPredicates = new List <QueryPredicate>(); request.Options.QueryPredicates.Add(new QueryPredicate(nameof(Account.Name), QueryOperator.Equal, "General Electric USA, Inc")); request.Options.MaxResult = count; SugarRestResponse response = client.Execute(request); Assert.NotNull(response); Assert.Equal(response.StatusCode, HttpStatusCode.OK); List <Account> readAccounts = (List <Account>)(response.Data); Assert.NotNull(readAccounts); Assert.True(readAccounts.All(x => x.Name == "Air Safety Inc")); // -------------------End Bulk Read Account------------------- }
public static SugarRestResponse BulkReadAccountLinkItems(SugarRestClient client, int count) { var request = new SugarRestRequest(RequestType.LinkedBulkRead); request.Options.MaxResult = count; 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> >(); linkedListInfo[typeof(Contact)] = null; linkedListInfo["Leads"] = null; linkedListInfo[typeof(Case)] = null; request.Options.LinkedModules = linkedListInfo; return(client.Execute <Account>(request)); }
/* Remove comment to test. * [Fact] */ public async void WikiReadCasesWithQueryPredicatesTest() { string url = "http://191.101.224.189/sugar/service/v4_1/rest.php"; string username = "******"; string password = "******"; var client = new SugarRestClient(url, username, password); var request = new SugarRestRequest(RequestType.BulkRead); request.Options.MaxResult = 3; request.Options.QueryPredicates = new List <QueryPredicate>(); request.Options.QueryPredicates.Add(new QueryPredicate(nameof(Case.Name), QueryOperator.StartsWith, "Warning")); request.Options.QueryPredicates.Add(new QueryPredicate("name", QueryOperator.Contains, "message")); request.Options.QueryPredicates.Add(new QueryPredicate(nameof(Case.Status), QueryOperator.Equal, "Assigned")); DateTime date = DateTime.Parse("07/02/2016"); request.Options.QueryPredicates.Add(new QueryPredicate(nameof(Case.DateEntered), QueryOperator.Between, null, date.AddDays(-1), DateTime.Now)); SugarRestResponse response = await client.ExecuteAsync <Case>(request); List <Case> cases = (List <Case>)response.Data; // -------------------End Bulk Read Account------------------- }
public async void ReadBulkAsyncWithQueryTest() { var client = new SugarRestClient(TestAccount.Url, TestAccount.Username, TestAccount.Password); // -------------------Bulk Read Account------------------- int count = 25; var request = new SugarRestRequest("Cases", RequestType.BulkRead); request.Options.QueryPredicates = new List <QueryPredicate>(); request.Options.QueryPredicates.Add(new QueryPredicate(nameof(Case.Name), QueryOperator.StartsWith, "Warning")); request.Options.QueryPredicates.Add(new QueryPredicate(nameof(Case.Name), QueryOperator.Contains, "message")); request.Options.QueryPredicates.Add(new QueryPredicate(nameof(Case.Status), QueryOperator.Equal, "Assigned")); DateTime date = DateTime.Parse("07/02/2016"); request.Options.QueryPredicates.Add(new QueryPredicate(nameof(Case.DateEntered), QueryOperator.Between, null, date.AddDays(-1), DateTime.Now)); request.Options.MaxResult = count; SugarRestResponse response = await client.ExecuteAsync <Case>(request); Assert.NotNull(response); Assert.Equal(response.StatusCode, HttpStatusCode.OK); List <Case> readACases = (List <Case>)response.Data; Assert.NotNull(readACases); Assert.True(readACases.Count <= count); Assert.True(readACases.All(x => x.Name.StartsWith("Warning"))); Assert.True(readACases.All(x => x.Name.Contains("message"))); Assert.True(readACases.All(x => x.Status == "Assigned")); // -------------------End Bulk Read Account------------------- }
/* Remove comment to test. * [Fact] */ public void WikiDeleteEntitiesTest() { // 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 moduleName = "Accounts"; var request = new SugarRestRequest(moduleName, RequestType.Delete); List <string> itemIdsToDelete = new List <string>(); itemIdsToDelete.Add("45ac2050-d55e-70ab-6520-585337eac1bc"); itemIdsToDelete.Add("698e4f22-a213-d287-94be-584c09710444"); itemIdsToDelete.Add("fb7405da-fe66-f0f9-f5d4-58533747bdf8"); foreach (var id in itemIdsToDelete) { request.Parameter = id; SugarRestResponse response = client.Execute <Account>(request); string deletedItemId = (string)response.Data; } }
/* Remove comment to test. * [Fact] */ public async void WikiReadLeadsWithQueryTest() { string url = "http://191.101.224.189/sugar/service/v4_1/rest.php"; string username = "******"; string password = "******"; var client = new SugarRestClient(url, username, password); var request = new SugarRestRequest(RequestType.BulkRead); List <string> selectedFields = new List <string>(); selectedFields.Add("id"); selectedFields.Add("name"); selectedFields.Add("modified_by_name"); request.Options.SelectFields = selectedFields; // Set query request.Options.Query = "leads.id IN('10d82d59-08eb-8f0d-28e0-5777b57af47c', '12037cd0-ead2-402e-e1d0-5777b5dfb965', '13d4109d-c5ca-7dd1-99f1-5777b57ef30f', '14c136e5-1a67-eeba-581c-5777b5c8c463', '14e4825e-9573-4d75-2dbe-5777b5b7ee85', '1705b33a-3fad-aa70-77ef-5777b5b081f1', '171c1d8b-e34f-3a1f-bef7-5777b5ecc823', '174a8fc4-56e6-3471-46d8-5777b565bf5b', '17c9c496-90a1-02f5-87bd-5777b51ab086', '1d210352-7a1f-2c5d-04ae-5777b5a3312f')"; SugarRestResponse response = await client.ExecuteAsync <Lead>(request); List <Lead> leads = (List <Lead>)response.Data; // -------------------End Bulk Read Account------------------- }
/// <summary> /// This Delete request. /// </summary> /// <param name="restRequest">SugarCRM Rest request parameters.</param> /// <returns>The task response object.</returns> public static Task <RestResponse> Delete(RestRequest restRequest) { return(Task.Run(() => { var response = new RestResponse(); var request = new SugarRestRequest(); request.RequestType = RequestType.Delete; request.ModuleName = restRequest.ModelInfo.ModelName; request.Url = restRequest.Account.Url; request.Username = restRequest.Account.Username; request.Password = restRequest.Account.Password; request.Parameter = restRequest.Id; var client = new SugarRestClient(); SugarRestResponse sugarRestResponse = client.Execute(request); response.Id = (string)sugarRestResponse.Data; response.JsonRawRequest = JToken.Parse(sugarRestResponse.JsonRawRequest).ToString(Newtonsoft.Json.Formatting.Indented); response.JsonRawResponse = JToken.Parse(sugarRestResponse.JsonRawResponse).ToString(Newtonsoft.Json.Formatting.Indented); return response; })); }
public void ReadByTypeJDataTest() { var client = new SugarRestClient(TestAccount.Url, TestAccount.Username, TestAccount.Password); Account insertAccount = AccountsModule.GetTestAccount(); // -------------------Create Account------------------- SugarRestResponse response = AccountsModule.CreateAccountByType(client, insertAccount); Assert.NotNull(response); Assert.Equal(response.StatusCode, HttpStatusCode.OK); string insertId = (response.Data == null) ? string.Empty : response.Data.ToString(); Assert.NotNull(insertId); Assert.NotEmpty(insertId); // -------------------End Create Account------------------- // -------------------Read Account------------------- response = AccountsModule.ReadAccountByType(client, insertId); Assert.NotNull(response); Assert.Equal(response.StatusCode, HttpStatusCode.OK); Assert.NotNull(response.JData); Assert.NotEmpty(response.JData); JObject jobject = JObject.Parse(response.JData); Assert.NotNull(jobject); var jproperties = jobject.Properties().ToList(); List <string> selectedFields = AccountsModule.GetJsonSelectedField(); Assert.Equal(selectedFields.Count, jproperties.Count); foreach (string id in selectedFields) { JProperty property = jproperties.SingleOrDefault(p => p.Name == id); Assert.NotNull(property); } Account readOnCreateAccount = (Account)response.Data; // -------------------End Read Account------------------- // -------------------Delete Account------------------- response = AccountsModule.DeleteAccountByType(client, readOnCreateAccount.Id); Assert.NotNull(response); Assert.Equal(response.StatusCode, HttpStatusCode.OK); string deleteId = (response.Data == null) ? string.Empty : response.Data.ToString(); Assert.NotNull(deleteId); Assert.NotEmpty(deleteId); Assert.Equal(insertId, deleteId); // -------------------End Delete Account------------------- }
/* Remove comment to test. * [Fact] */ public void WikiCreateBugTest() { // using SugarRestSharp; string url = "http://191.101.224.189/sugar/service/v4_1/rest.php"; string username = "******"; string password = "******"; string moduleName = "Bugs"; var client = new SugarRestClient(url, username, password); var request = new SugarRestRequest(moduleName, RequestType.Create); Bug bugToCreate = new Bug(); bugToCreate.Name = "System crashed while running count query"; bugToCreate.Description = "New Oracle application server commissioning."; bugToCreate.Status = "New"; request.Parameter = bugToCreate; // Select fields. List <string> selectFields = new List <string>(); selectFields.Add(nameof(Bug.Name)); selectFields.Add(nameof(Bug.Description)); selectFields.Add(nameof(Bug.Status)); request.Options.SelectFields = selectFields; SugarRestResponse response = client.Execute(request); string bugId = (string)response.Data; // -------------------End Bulk Read Account------------------- }
/* Remove comment to test. * [Fact] */ public async void WikiReadContactsByPageAsyncTest() { // using SugarRestSharp; string url = "http://191.101.224.189/sugar/service/v4_1/rest.php"; string username = "******"; string password = "******"; var client = new SugarRestClient(url, username, password); var request = new SugarRestRequest(RequestType.PagedRead); // Select fields. List <string> selectFields = new List <string>(); selectFields.Add(nameof(Contact.FirstName)); // You can mix C# type and json type. selectFields.Add("last_name"); request.Options.SelectFields = selectFields; // Sets page options request.Options.CurrentPage = 1; request.Options.NumberPerPage = 10; SugarRestResponse response = await client.ExecuteAsync <Contact>(request); List <Contact> cases = (List <Contact>)response.Data; // -------------------End Bulk Read Account------------------- }
public static async Task <SugarRestResponse> DeleteContactAsync(SugarRestClient client, string contactId) { var request = new SugarRestRequest("Contacts", RequestType.Delete); request.Parameter = contactId; return(await client.ExecuteAsync <Contact>(request)); }
public static SugarRestResponse DeleteContactByType(SugarRestClient client, string contactId) { var request = new SugarRestRequest(RequestType.Delete); request.Parameter = contactId; return(client.Execute <Contact>(request)); }
public static SugarRestResponse DeleteAccountByType(SugarRestClient client, string accountId) { var request = new SugarRestRequest(RequestType.Delete); request.Parameter = accountId; return(client.Execute <Account>(request)); }
public static async Task <SugarRestResponse> BulkCreateAccount(SugarRestClient client, List <Account> accounts) { var request = new SugarRestRequest("Accounts", RequestType.BulkCreate); request.Parameter = accounts; request.Options.SelectFields = GetSelectedField(); return(await client.Execute <Account>(request)); }
public static async Task <SugarRestResponse> DeleteAccountAsync(SugarRestClient client, string accountId) { var request = new SugarRestRequest("Accounts", RequestType.Delete); request.Parameter = accountId; return(await client.ExecuteAsync <Account>(request)); }
public static async Task <SugarRestResponse> CreateAccountAsync(SugarRestClient client, Account account) { var request = new SugarRestRequest(RequestType.Create); request.Parameter = account; request.Options.SelectFields = GetSelectedField(); return(await client.ExecuteAsync <Account>(request)); }
public static SugarRestResponse CreateAccountByType(SugarRestClient client, Account account) { var request = new SugarRestRequest(RequestType.Create); request.Parameter = account; request.Options.SelectFields = GetSelectedField(); return(client.Execute <Account>(request)); }
public static async Task <SugarRestResponse> CreateContactByType(SugarRestClient client, Contact contact) { var request = new SugarRestRequest(RequestType.Create); request.Parameter = contact; request.Options.SelectFields = GetSelectedField(); return(await client.Execute <Contact>(request)); }
public static SugarRestResponse BulkCreateContact(SugarRestClient client, List <Contact> contacts) { var request = new SugarRestRequest("Contacts", RequestType.BulkCreate); request.Parameter = contacts; request.Options.SelectFields = GetSelectedField(); return(client.Execute(request)); }
/// <summary> /// This GetById request. /// </summary> /// <param name="restRequest">SugarCRM Rest request parameters.</param> /// <returns>The task response object.</returns> public static Task <RestResponse> GetById(RestRequest restRequest) { return(Task.Run(() => { var response = new RestResponse(); var request = new SugarRestRequest(); request.RequestType = RequestType.ReadById; request.ModuleName = restRequest.ModelInfo.ModelName; request.Url = restRequest.Account.Url; request.Username = restRequest.Account.Username; request.Password = restRequest.Account.Password; request.Parameter = restRequest.Id; bool selectedFieldsOnly = false; var properties = new List <ModelProperty>(); if (restRequest.SelectFields) { if (restRequest.SelectedFields != null && restRequest.SelectedFields.Count > 0) { properties = restRequest.SelectedFields.Select(x => x.Property).ToList(); if (properties.Count > 0) { request.Options.SelectFields = properties.Select(x => x.JsonName).ToList(); selectedFieldsOnly = true; } } } var client = new SugarRestClient(); SugarRestResponse sugarRestResponse = client.Execute(request); response.Data = new DataTable(); if (sugarRestResponse != null) { var selectedProperties = new List <string>(); if (selectedFieldsOnly) { selectedProperties = properties.Select(x => x.Name).ToList(); } if (!string.IsNullOrEmpty(sugarRestResponse.JData)) { response.Data = sugarRestResponse.JData.ToDynamicObject(restRequest.ModelInfo.Type, selectedProperties, selectedFieldsOnly); } response.JsonRawRequest = JToken.Parse(sugarRestResponse.JsonRawRequest).ToString(Newtonsoft.Json.Formatting.Indented); response.JsonRawResponse = JToken.Parse(sugarRestResponse.JsonRawResponse).ToString(Newtonsoft.Json.Formatting.Indented); } return response; })); }
public static async Task <SugarRestResponse> BulkReadAccount(SugarRestClient client, int count) { var request = new SugarRestRequest("Accounts", RequestType.BulkRead); request.Options.SelectFields = GetSelectedField(); request.Options.SelectFields.Add(nameof(Account.Id)); request.Options.MaxResult = count; return(await client.Execute <Account>(request)); }
public static async Task <SugarRestResponse> ReadAccountAsync(SugarRestClient client, string accountId) { var request = new SugarRestRequest(RequestType.ReadById); request.Parameter = accountId; request.Options.SelectFields = GetSelectedField(); request.Options.SelectFields.Add(nameof(Account.Id)); return(await client.ExecuteAsync <Account>(request)); }
public static SugarRestResponse ReadAccountByType(SugarRestClient client, string accountId) { var request = new SugarRestRequest(RequestType.ReadById); request.Parameter = accountId; request.Options.SelectFields = GetSelectedField(); request.Options.SelectFields.Add(nameof(Account.Id)); return(client.Execute <Account>(request)); }
public static SugarRestResponse ReadContact(SugarRestClient client, string contactId) { var request = new SugarRestRequest("Contacts", RequestType.ReadById); request.Parameter = contactId; request.Options.SelectFields = GetSelectedField(); request.Options.SelectFields.Add(nameof(Contact.Id)); return(client.Execute(request)); }
public static SugarRestResponse BulkReadContact(SugarRestClient client, int count) { var request = new SugarRestRequest("Contacts", RequestType.BulkRead); request.Options.SelectFields = GetSelectedField(); request.Options.SelectFields.Add(nameof(Contact.Id)); request.Options.MaxResult = count; return(client.Execute(request)); }
public static async Task <SugarRestResponse> ReadContactByType(SugarRestClient client, string contactId) { var request = new SugarRestRequest(RequestType.ReadById); request.Parameter = contactId; request.Options.SelectFields = GetSelectedField(); request.Options.SelectFields.Add(nameof(Contact.Id)); return(await client.Execute <Contact>(request)); }
public static async Task <SugarRestResponse> BulkReadContactAsync(SugarRestClient client, int count) { var request = new SugarRestRequest(); request.RequestType = RequestType.BulkRead; request.Options.SelectFields = GetSelectedField(); request.Options.SelectFields.Add(nameof(Contact.Id)); request.Options.MaxResult = count; return(await client.ExecuteAsync <Contact>(request)); }