public List <string> GetNextUserDepartmentLeadQualifield() { List <string> result = new List <string>(); DepartmentServices departmentServices = new DepartmentServices(); QualifiedLeadServices qualifiedLeadServices = new QualifiedLeadServices(); AttendantServices attendantServices = new AttendantServices(); List <Department> lstDepartments = departmentServices.GetDepartments(); QualifiedLead lastQualifiedLeadInsert = qualifiedLeadServices.GetLastQualifiedLeadInserted(); Department nextDepartment = null; if (lastQualifiedLeadInsert != null) { nextDepartment = lstDepartments.SkipWhile(x => x.DepartmentId != lastQualifiedLeadInsert.DepartmentID).Skip(1).FirstOrDefault(); } if (nextDepartment == null) { nextDepartment = lstDepartments[0]; } List <Attendant> lstAttendants = attendantServices.GetAttendantsByCompanyId(nextDepartment.DepartmentId); QualifiedLead lastQualifiedLeadInsertAttendant = qualifiedLeadServices.GetLastQualifiedLeadInsertedAttendant(nextDepartment.DepartmentId); if (lastQualifiedLeadInsertAttendant == null) { result.Add(nextDepartment.DepartmentId.ToString()); result.Add(lstAttendants[0].AttendantId.ToString()); if (nextDepartment.WebHook != null) { result.Add(nextDepartment.WebHook.WebhookPath); } } else { var nextAttendant = lstAttendants.SkipWhile(x => x.AttendantId != lastQualifiedLeadInsertAttendant.AttendantID).Skip(1).FirstOrDefault(); if (nextAttendant == null) { nextAttendant = lstAttendants[0]; } result.Add(nextDepartment.DepartmentId.ToString()); result.Add(nextAttendant.AttendantId.ToString()); if (nextDepartment.WebHook != null) { result.Add(nextDepartment.WebHook.WebhookPath); } } return(result); }
public void CreateQualifiedLead(QualifiedLead qualifiedLead, string webHookPath, string email, string status, bool reprocess) { FormServices formService = new FormServices(); QualifiedLeadServices qualifiedLeadService = new QualifiedLeadServices(); try { //string accessToken = GetNewAccessToken(); //string portal_name = "https://luxassessoria.bitrix24.com.br/rest/6432/izu90pf0b1l3gjpr/"; string url = string.Format("{0}crm.lead.add.json", webHookPath); string queue = status; string sourceID = ""; string DateJobEnd = ""; string DateBorn = ""; string PrevSituationStart = ""; string SituationStart = ""; int PrevSituation = 0; int Situation = 0; int SegJobReceive = 0; //if (status == "DPP") // queue = "IN_PROCESS"; //else if (status == "135") // queue = "1"; //else if (status == "PLUSS") // queue = "PROCESSED"; //else // queue = "NEW"; if (webHookPath.Contains("startprev")) { SituationStart = Utility.Util.GetYouAreItemFormStart(qualifiedLead.Situation); queue = "NEW"; sourceID = "4"; if (qualifiedLead.PrevSituation != null && qualifiedLead.PrevSituation != "") { PrevSituationStart = Utility.Util.GetPrevSituationItemFormStart(qualifiedLead.PrevSituation); } if (qualifiedLead.SegJobReceive != null && qualifiedLead.SegJobReceive != "") { SegJobReceive = Utility.Util.GetReceivedWorkInsurancesItemFormStart(qualifiedLead.SegJobReceive); } if (qualifiedLead.DateJobEnd != null && qualifiedLead.DateJobEnd != "") { DateJobEnd = qualifiedLead.DateJobEnd; } if (qualifiedLead.DateBorn != null && qualifiedLead.DateBorn != "") { DateBorn = qualifiedLead.DateBorn; } var data = new { fields = new { TITLE = qualifiedLead.FirstName, NAME = qualifiedLead.FirstName, STATUS_ID = queue, OPENED = "Y", ASSIGNED_BY_ID = qualifiedLead.AttendantID, COMPANY_TITLE = qualifiedLead.FirstName, SOURCE_ID = sourceID, COMMENTS = "(Q)", UF_CRM_1606226135410 = SituationStart, UF_CRM_1606226151075 = PrevSituationStart, UF_CRM_1601980780168 = SegJobReceive, UF_CRM_1601984930150 = DateJobEnd, UF_CRM_1601980069351 = DateBorn, //COMPANY_TITLE = contactName, //UF_CRM_1605728591038 = new List<UF_CRM_1605728591038>() { new UF_CRM_1605728591038() { ID = "44", VALUE = "TRABALHEI REGISTRADA antes do nascer." } }.ToArray(), PHONE = new List <Phone>() { new Phone() { VALUE_TYPE = "WORK", TYPE_ID = "PHONE", VALUE = qualifiedLead.Phone } }.ToArray() //EMAIL = new List<Email>() { new Email() { VALUE_TYPE = "WORK", TYPE_ID = "EMAIL", VALUE = email } }.ToArray() }, @params = new { REGISTER_SONET_EVENT = "Y" } }; PostToAPI(url, "", data); if (!reprocess) { qualifiedLeadService.InsertQualifiedLead(qualifiedLead); } } else { Situation = Utility.Util.GetYouAreItemForm(qualifiedLead.Situation); queue = "8"; sourceID = "58"; if (qualifiedLead.PrevSituation != null && qualifiedLead.PrevSituation != "") { PrevSituation = Utility.Util.GetPrevSituationItemForm(qualifiedLead.PrevSituation); } if (qualifiedLead.SegJobReceive != null && qualifiedLead.SegJobReceive != "") { SegJobReceive = Utility.Util.GetReceivedWorkInsurancesItemForm(qualifiedLead.SegJobReceive); } if (qualifiedLead.DateJobEnd != null && qualifiedLead.DateJobEnd != "") { DateJobEnd = qualifiedLead.DateJobEnd; } if (qualifiedLead.DateBorn != null && qualifiedLead.DateBorn != "") { DateBorn = qualifiedLead.DateBorn; } var data = new { fields = new { TITLE = qualifiedLead.FirstName, NAME = qualifiedLead.FirstName, STATUS_ID = queue, OPENED = "Y", ASSIGNED_BY_ID = qualifiedLead.AttendantID, COMPANY_TITLE = qualifiedLead.FirstName, SOURCE_ID = sourceID, COMMENTS = "(Q)", UF_CRM_1597496714 = Situation, UF_CRM_1597497342 = PrevSituation, UF_CRM_1597497546 = SegJobReceive, UF_CRM_1597497700 = DateJobEnd, UF_CRM_1580316545358 = DateBorn, //COMPANY_TITLE = contactName, //UF_CRM_1605728591038 = new List<UF_CRM_1605728591038>() { new UF_CRM_1605728591038() { ID = "44", VALUE = "TRABALHEI REGISTRADA antes do nascer." } }.ToArray(), PHONE = new List <Phone>() { new Phone() { VALUE_TYPE = "WORK", TYPE_ID = "PHONE", VALUE = qualifiedLead.Phone } }.ToArray() //EMAIL = new List<Email>() { new Email() { VALUE_TYPE = "WORK", TYPE_ID = "EMAIL", VALUE = email } }.ToArray() }, @params = new { REGISTER_SONET_EVENT = "Y" } }; PostToAPI(url, "", data); if (!reprocess) { qualifiedLeadService.InsertQualifiedLead(qualifiedLead); } } //BitrixLead lead = new BitrixLead(); //lead.TITLE = title; //lead.CURRENCY_ID = "RUB"; //lead.STATUS_ID = "NEW"; //lead.OPENED = "Y"; //lead.OPPORTUNITY = opportunity.ToString(); //if (!string.IsNullOrEmpty(contactName)) // lead.COMPANY_TITLE = contactName; //if (!string.IsNullOrEmpty(PhoneNumber)) // lead.PHONE = new List<Phone>() { new Phone() { VALUE_TYPE = "WORK", TYPE_ID = "PHONE", VALUE = PhoneNumber } }.ToArray(); //if (!string.IsNullOrEmpty(email)) // lead.EMAIL = new List<Email>() { new Email() { VALUE_TYPE = "WORK", TYPE_ID = "EMAIL", VALUE = email } }.ToArray(); } catch (Exception exc) { } }