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 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)); }
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 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)); }
/* 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; } }
/// <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 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------------------- }
/* 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------------------- }
public static async Task <SugarRestResponse> DeleteContact(SugarRestClient client, string contactId) { var request = new SugarRestRequest("Contacts", RequestType.Delete); request.Parameter = contactId; return(await client.Execute <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 async Task <SugarRestResponse> DeleteAccountByType(SugarRestClient client, string accountId) { var request = new SugarRestRequest(RequestType.Delete); request.Parameter = accountId; return(await client.Execute <Account>(request)); }
public static SugarRestResponse DeleteAccount(SugarRestClient client, string accountId) { var request = new SugarRestRequest("Accounts", RequestType.Delete); request.Parameter = accountId; return(client.Execute(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 void ReadBulkWithQuery2Test() { var client = new SugarRestClient(TestAccount.Url, TestAccount.Username, TestAccount.Password); // -------------------Bulk Read Account------------------- int count = 10; var request = new SugarRestRequest(RequestType.BulkRead); request.Options.QueryPredicates = new List <QueryPredicate>(); request.Options.MaxResult = count; SugarRestResponse response = client.Execute <Lead>(request); Assert.NotNull(response); Assert.Equal(response.StatusCode, HttpStatusCode.OK); List <Lead> readLeads = (List <Lead>)(response.Data); List <string> identifiers = readLeads.Select(x => x.Id).ToList(); // -------------------End Bulk Read Account------------------- // -------------------Bulk Read Account------------------- request = new SugarRestRequest(RequestType.BulkRead); 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')"; request.Options.QueryPredicates = new List <QueryPredicate>(); request.Options.QueryPredicates.Add(new QueryPredicate(nameof(Lead.LastName), QueryOperator.Equal, "Johnson")); request.Options.MaxResult = count; response = client.Execute <Lead>(request); Assert.NotNull(response); Assert.Equal(response.StatusCode, HttpStatusCode.OK); List <Lead> readLeadsWithQuery = (List <Lead>)(response.Data); Assert.NotNull(readLeadsWithQuery); List <string> newIdentifiers = readLeads.Select(x => x.Id).ToList(); List <string> commonIdentifiers = identifiers.Intersect(newIdentifiers).ToList(); Assert.Equal(readLeads.Count, readLeadsWithQuery.Count); Assert.Equal(identifiers.Count, newIdentifiers.Count); Assert.Equal(identifiers.Count, commonIdentifiers.Count); // -------------------End Bulk Read Account------------------- }
public void ReadBulkWithPredicate2Test() { var client = new SugarRestClient(TestAccount.Url, TestAccount.Username, TestAccount.Password); // -------------------Bulk Read Account------------------- int count = 10; var request = new SugarRestRequest(RequestType.BulkRead); request.Options.QueryPredicates = new List <QueryPredicate>(); request.Options.MaxResult = count; SugarRestResponse response = client.Execute <Lead>(request); Assert.NotNull(response); Assert.Equal(response.StatusCode, HttpStatusCode.OK); List <Lead> readLeads = (List <Lead>)(response.Data); List <string> identifiers = readLeads.Select(x => x.Id).ToList(); // -------------------End Bulk Read Account------------------- // -------------------Bulk Read Account------------------- request = new SugarRestRequest(RequestType.BulkRead); request.Options.QueryPredicates = new List <QueryPredicate>(); request.Options.QueryPredicates.Add(new QueryPredicate(nameof(Lead.Id), QueryOperator.WhereIn, identifiers)); request.Options.MaxResult = count; response = client.Execute <Lead>(request); Assert.NotNull(response); Assert.Equal(response.StatusCode, HttpStatusCode.OK); List <Lead> readLeadsWithQuery = (List <Lead>)(response.Data); Assert.NotNull(readLeadsWithQuery); List <string> newIdentifiers = readLeads.Select(x => x.Id).ToList(); List <string> commonIdentifiers = identifiers.Intersect(newIdentifiers).ToList(); Assert.Equal(readLeads.Count, readLeadsWithQuery.Count); Assert.Equal(identifiers.Count, newIdentifiers.Count); Assert.Equal(identifiers.Count, commonIdentifiers.Count); // -------------------End Bulk Read Account------------------- }
public static SugarRestResponse CreateContactByType(SugarRestClient client, Contact contact) { var request = new SugarRestRequest(RequestType.Create); request.Parameter = contact; request.Options.SelectFields = GetSelectedField(); return(client.Execute <Contact>(request)); }
public static async Task <SugarRestResponse> CreateContact(SugarRestClient client, Contact contact) { var request = new SugarRestRequest("Contacts", RequestType.Create); request.Parameter = contact; request.Options.SelectFields = GetSelectedField(); return(await client.Execute <Contact>(request)); }
/// <summary> /// This Update request. /// </summary> /// <param name="restRequest">SugarCRM Rest request parameters.</param> /// <returns>The task response object.</returns> public static Task <RestResponse> Update(RestRequest restRequest) { return(Task.Run(() => { var response = new RestResponse(); var request = new SugarRestRequest(); request.RequestType = RequestType.Update; request.ModuleName = restRequest.ModelInfo.ModelName; request.Url = restRequest.Account.Url; request.Username = restRequest.Account.Username; request.Password = restRequest.Account.Password; var client = new SugarRestClient(); List <string> selectedFields; List <object> dataList = restRequest.Data.ToObjects(restRequest.ModelInfo, out selectedFields); request.Options.SelectFields = selectedFields; if (dataList == null) { return response; } SugarRestResponse sugarRestResponse = new SugarRestResponse(); if (dataList.Count == 1) { request.Parameter = dataList; sugarRestResponse = client.Execute(request); response.Id = (string)sugarRestResponse.Data; } else { request.Parameter = dataList; sugarRestResponse = client.Execute(request); } 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 SugarRestResponse CreateAccount(SugarRestClient client, Account account) { var request = new SugarRestRequest("Accounts", RequestType.Create); request.Parameter = account; request.Options.SelectFields = GetSelectedField(); return(client.Execute(request)); }
public static async Task <SugarRestResponse> CreateAccountByType(SugarRestClient client, Account account) { var request = new SugarRestRequest(RequestType.Create); request.Parameter = account; request.Options.SelectFields = GetSelectedField(); return(await client.Execute <Account>(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> 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(await client.Execute <Account>(request)); }
public static async Task <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(await client.Execute <Contact>(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 SugarRestResponse ReadAccount(SugarRestClient client, string accountId) { var request = new SugarRestRequest("Accounts", RequestType.ReadById); request.Parameter = accountId; request.Options.SelectFields = GetSelectedField(); request.Options.SelectFields.Add(nameof(Account.Id)); return(client.Execute(request)); }
public static 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(client.Execute <Contact>(request)); }
/* Remove comment to test. * [Fact] */ public void WikiUpdateLeadsTest() { // 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 readRequest = new SugarRestRequest("Leads", RequestType.BulkRead); readRequest.Options.MaxResult = 3; SugarRestResponse leadsReadResponse = client.Execute(readRequest); List <Lead> leadsToUpdate = (List <Lead>)leadsReadResponse.Data; var request = new SugarRestRequest(RequestType.BulkUpdate); // Update account description foreach (var lead in leadsToUpdate) { lead.AccountDescription = string.Format("Lead Account moved on {0}.", DateTime.Now.ToShortDateString()); } request.Parameter = leadsToUpdate; // Select fields. List <string> selectFields = new List <string>(); selectFields.Add(nameof(Lead.AccountName)); selectFields.Add(nameof(Lead.AccountDescription)); selectFields.Add(nameof(Lead.Status)); request.Options.SelectFields = selectFields; SugarRestResponse response = client.Execute <Lead>(request); List <string> updatedLeadIds = (List <string>)response.Data; // -------------------End Bulk Read Account------------------- }
/* Remove comment to test. * [Fact] */ public void WikiCreateBugsTest() { // 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.BulkCreate); Bug bugToCreate1 = new Bug(); bugToCreate1.Name = "System crashed while running new photo upload."; bugToCreate1.Description = "Tumblr app"; bugToCreate1.Status = "Pending"; Bug bugToCreate2 = new Bug(); bugToCreate2.Name = "Warning is displayed in file after exporting."; bugToCreate2.Description = ""; bugToCreate2.Status = "New"; Bug bugToCreate3 = new Bug(); bugToCreate3.Name = "Fatal error during installation."; bugToCreate3.Description = "Fifth floor printer."; bugToCreate3.Status = "Closed"; List <Bug> bugsToCreate = new List <Bug>(); bugsToCreate.Add(bugToCreate1); bugsToCreate.Add(bugToCreate2); bugsToCreate.Add(bugToCreate3); request.Parameter = bugsToCreate; // 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 <Bug>(request); List <string> createdBugIds = (List <string>)response.Data; // -------------------End Bulk Read Account------------------- }