Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
            //}
        }