public void GetFromAmoCRMSendTo1C(String hostAmoCRM, String ClientId, String ClientSecret, String host1CGet, String host1CPost) { var getDataFromAmoCRM = new GetDataFromAmoCRM(hostAmoCRM, ClientId, ClientSecret); var leads = getDataFromAmoCRM.GetLeads(); leads = leads.Where(item => item.pipeline_id == 498874).ToList(); Log.WriteInfo("leads load, count: " + leads.Count()); var users = getDataFromAmoCRM.GetUsers(); Log.WriteInfo("users load, count: " + users.Count()); var dataFor1CList = new List <DataFor1C>(); foreach (var item in leads) { if (leads.IndexOf(item) != 0 && leads.IndexOf(item) % 50 == 0) { Log.WriteInfo("processed " + leads.IndexOf(item) + " leads"); } var dataFor1C = new DataFor1C(); dataFor1C.codeLead = item.id; FillDataFromContacts(getDataFromAmoCRM, dataFor1C, item); dataFor1C.name = item.name; dataFor1C.createDate = item.date_create.ToString(); dataFor1C.closeDate = item.date_close.ToString(); var user = users.Find(p => p.id == item.responsible_user_id); if (user == null) { continue; } dataFor1C.managerId = user.id; dataFor1C.managerName = user.name; SetFieldFromCustomField(dataFor1C, item); dataFor1CList.Add(dataFor1C); } Log.WriteInfo("processed all leads, " + leads.Count()); Log.WriteInfo("dataFor1CList, count: " + dataFor1CList.Count()); SendDataFor1C(dataFor1CList, host1CPost); }
public void GetFromAmoCRMSendTo1C(String hostAmoCRM, String ClientId, String ClientSecret, String host1CGet, String host1CPost) { var getDataFromAmoCRM = new GetDataFromAmoCRM(hostAmoCRM, ClientId, ClientSecret); var mm = Provider.SendGetResponse(host1CGet + "GetLastDateSuccess"); Log.WriteError("11" + mm); var users = getDataFromAmoCRM.GetUsers(); var json = JsonConvert.SerializeObject(users); Provider.SendPOSTResponse(host1CPost + "UpdateUsers", json); //Provider.GetUrlOfData(host1CGet + "UpdateUser", users[0]); //var noteTypes = getDataFromAmoCRM.GetNoteTypes(); //var taskTypes = getDataFromAmoCRM.GetTaskTypes(); //foreach (var item in noteTypes) //{ // var url = Provider.GetUrlOfData(host1C + "UpdateNoteType", item); // Provider.SendGetResponse(url); //} //foreach (var item in taskTypes) //{ // var url = Provider.GetUrlOfData(host1C + "UpdateTaskType", item); // Provider.SendGetResponse(url); //} var emails = getDataFromAmoCRM.GetEmails(); SendEmails(emails, host1CPost); var calls = getDataFromAmoCRM.GetCalls(); SendCalls(calls, host1CPost); //var leads = getDataFromAmoCRM.GetLeads(); //var pipelines = getDataFromAmoCRM.GetPipelines(leads); //foreach (var item in leads) //{ // Log.WriteInfo(leads.IndexOf(item).ToString()); // var dataFor1C = new DataFor1C(); // dataFor1C.pipelineName = pipelines.Where(pipeline => pipeline.id == item.pipeline_id).First().name; // var company = new List<ContactResponse>(); // if (item.linked_company_id != "" && item.linked_company_id != "0") // { // company = getDataFromAmoCRM.GetContacts(false, item.linked_company_id); // } // else // { // company = getDataFromAmoCRM.GetContacts(item.main_contact_id, ""); // } // if (company != null && company.Count() > 0) // { // dataFor1C.nameContact = company[0].name; // dataFor1C.codeContact = company[0].id.ToString(); // foreach (var custom_field in company[0].custom_fields) // { // switch (custom_field.name) // { // case "Реквизиты компании": // dataFor1C.requisites = custom_field.values[0].value; break; // case "Адрес": // dataFor1C.address = custom_field.values[0].value; break; // } // } // } // else // { // Log.WriteInfo("not found contact for " + item.name); // } // var contacts1 = getDataFromAmoCRM.GetContacts(item.main_contact_id, ""); // SetContactsData(dataFor1C, contacts1, "1"); // var leadsAndContacts = getDataFromAmoCRM.GetLeadsAndContacts(item.id); // foreach (var itemLinks in leadsAndContacts) // { // if (itemLinks.contact_id == item.main_contact_id.ToString()) // { // continue; // } // var contacts2 = getDataFromAmoCRM.GetContacts(itemLinks.contact_id, ""); // SetContactsData(dataFor1C, contacts2, "2"); // } // var url = Provider.GetUrlOfData(host1CGet + "UpdateCustomer", dataFor1C); // Provider.SendGetResponse(url); //} }