private void InsertQualifiedEntryCompany1(QualifiedLead qualifiedUser) { var range = $"{QualifiedSheet}!A:G"; var valueRange = new ValueRange(); var objectList = new List <object>() { qualifiedUser.FirstName, qualifiedUser.Phone, qualifiedUser.Situation, Convert.ToDateTime(qualifiedUser.DateBorn).ToShortDateString(), qualifiedUser.PrevSituation, Convert.ToDateTime(qualifiedUser.DateJobEnd).ToShortDateString(), qualifiedUser.SegJobReceive }; valueRange.Values = new List <IList <object> > { objectList }; var appendRequest = service.Spreadsheets.Values.Append(valueRange, SpreadsheetIdCompany1, range); appendRequest.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED; var appendResponse = appendRequest.Execute(); //Util.StoreLastCompany("1"); }
public bool InsertDisQualifiedLeadtoBitrixQueue(QualifiedLead form, bool isQualified, string status) { Bitrix24Services objService = new Bitrix24Services(); try { DisqualifiedLead disQualifiedLead = new DisqualifiedLead(); List <string> nextDepartmentAttendantQueue = GetNextUserDepartmentLeadDisQualifield(); string webHookPath = nextDepartmentAttendantQueue[2]; disQualifiedLead.AttendantID = int.Parse(nextDepartmentAttendantQueue[1]); disQualifiedLead.DateBorn = form.DateBorn; disQualifiedLead.DateJobEnd = form.DateJobEnd; disQualifiedLead.DepartmentID = int.Parse(nextDepartmentAttendantQueue[0]); disQualifiedLead.FirstName = form.FirstName; disQualifiedLead.Phone = form.Phone; disQualifiedLead.PrevSituation = form.PrevSituation; disQualifiedLead.SegJobReceive = form.SegJobReceive; disQualifiedLead.Situation = form.Situation; disQualifiedLead.InsertDate = DateTime.Now; objService.CreateDisQualifiedLead(disQualifiedLead, webHookPath, "*****@*****.**", status, false); return(true); } catch { return(false); } }
public void InsertLeadEntryToGoogleDocs(QualifiedLead qualifiedUser, bool isQualified) { //string lastCompany = Util.ReadLastCompany(); string lastCompany = ""; if (lastCompany == "1") { if (isQualified) { InsertQualifiedEntryCompany2(qualifiedUser); } else { InsertDisqualifiedEntryCompany2(qualifiedUser); } } else { if (isQualified) { InsertQualifiedEntryCompany1(qualifiedUser); } else { InsertDisqualifiedEntryCompany1(qualifiedUser); } } }
public bool InsertLeadToGoogleDoc(QualifiedLead form, bool isQualified) { GoogleServices googleService = GoogleServices.GetInstance(); googleService.InsertLeadEntryToGoogleDocs(form, isQualified); return(true); }
public bool CheckQualifieNoBornQuestionForm(QualifiedLead form) { YouAre youAreObj = (YouAre)Enum.Parse(typeof(YouAre), form.Situation); HasYouWorked hasYouWorkObj = (HasYouWorked)Enum.Parse(typeof(HasYouWorked), form.PrevSituation); ReceivedWorkInsurances receivedWorkInsurancesObj = ReceivedWorkInsurances.Empty; if (form.SegJobReceive != null) { if (!form.SegJobReceive.Equals("")) { receivedWorkInsurancesObj = (ReceivedWorkInsurances)Enum.Parse(typeof(ReceivedWorkInsurances), form.SegJobReceive); } } // Check Situation condition if ((youAreObj == YouAre.PregnantFirstChild || youAreObj == YouAre.PregnantChildLessFiveYears || youAreObj == YouAre.PregnantChildMoreFiveYears) && (hasYouWorkObj == HasYouWorked.WorkRegisteredBeforeBorn || hasYouWorkObj == HasYouWorked.PayedFormByMyOn || hasYouWorkObj == HasYouWorked.ImMEI)) { return(true); } else if ((youAreObj == YouAre.PregnantFirstChild || youAreObj == YouAre.PregnantChildLessFiveYears || youAreObj == YouAre.PregnantChildMoreFiveYears) && hasYouWorkObj == HasYouWorked.WasFired) { if (receivedWorkInsurancesObj == ReceivedWorkInsurances.No || receivedWorkInsurancesObj == ReceivedWorkInsurances.Yes) { return(true); } } return(false); }
public int Add(QualifiedLead model) { var ret = _context.QualifiedLeads.Add(model); _context.SaveChanges(); return((int)ret.State); }
public QualifiedLead GetLastQualifiedLeadInsertedAttendant(int departmentID) { QualifiedLead ret = _context.QualifiedLeads .Where(y => y.DepartmentID == departmentID) .OrderByDescending(x => x.QualifiedLeadId).FirstOrDefault(); return(ret); }
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 ResponseDTO ValidateFormNoBorn([FromBody] QualifiedLead model) { FormServices formAnswerService = new FormServices(); var response = new ResponseDTO(); try { var retQualified = formAnswerService.CheckQualifieNoBornQuestionForm(model); YouAre youAreObj = (YouAre)Enum.Parse(typeof(YouAre), model.Situation); if (retQualified) { if (youAreObj == YouAre.PregnantChildLessFiveYears) { formAnswerService.InsertQualifiedLeadtoBitrixQueue(model, retQualified, "PLUSS"); } else if (youAreObj == YouAre.PregnantFirstChild || youAreObj == YouAre.PregnantChildMoreFiveYears) { formAnswerService.InsertQualifiedLeadtoBitrixQueue(model, retQualified, "DPP"); } } else { formAnswerService.InsertDisQualifiedLeadtoBitrixQueue(model, retQualified, "NOQUALIFIED"); } var ret = formAnswerService.InsertLeadToGoogleDoc(model, retQualified); if (ret) { response.Data = new { sucesso = 1, message = "Formulario validado com sucesso!" }; } else { response.Data = new { sucesso = 0, message = "Não foi possível validar o formulário!" }; } } catch (Exception ex) { response.Message = ex.Message; } return(response); }
public bool CheckQualifieBornQuestionForm(QualifiedLead form) { YouAre youAreObj = (YouAre)Enum.Parse(typeof(YouAre), form.Situation); HasYouWorked hasYouWorkObj = HasYouWorked.Empty; ReceivedWorkInsurances receivedWorkInsurancesObj = ReceivedWorkInsurances.Empty; if (form.SegJobReceive != null) { if (!form.SegJobReceive.Equals("")) { receivedWorkInsurancesObj = (ReceivedWorkInsurances)Enum.Parse(typeof(ReceivedWorkInsurances), form.SegJobReceive); } } if (form.PrevSituation != null) { if (!form.PrevSituation.Equals("")) { hasYouWorkObj = (HasYouWorked)Enum.Parse(typeof(HasYouWorked), form.PrevSituation); } } if (youAreObj == YouAre.MotherChildMoreFiveYears) { return(false); } if (youAreObj == YouAre.MotherChildLessFiveYears && (hasYouWorkObj == HasYouWorked.PayedFormByMyOn || hasYouWorkObj == HasYouWorked.ImMEI)) { return(true); } if (youAreObj == YouAre.MotherChildLessFiveYears && hasYouWorkObj == HasYouWorked.WorkRegisteredBeforeBorn) { if (receivedWorkInsurancesObj == ReceivedWorkInsurances.No || receivedWorkInsurancesObj == ReceivedWorkInsurances.Yes) { return(true); } } return(false); }
public bool InsertQualifiedLeadtoBitrixQueue(QualifiedLead form, bool isQualified, string status) { Bitrix24Services objService = new Bitrix24Services(); try { List <string> nextDepartmentAttendantQueue = GetNextUserDepartmentLeadQualifield(); form.InsertDate = DateTime.Now; form.AttendantID = int.Parse(nextDepartmentAttendantQueue[1]); form.DepartmentID = int.Parse(nextDepartmentAttendantQueue[0]); string webHookPath = nextDepartmentAttendantQueue[2]; objService.CreateQualifiedLead(form, webHookPath, "*****@*****.**", status, false); return(true); } catch { return(false); } }
public QualifiedLead GetLastQualifiedLeadInserted() { QualifiedLead _quaifiedLead = _qualifiedLeadRepository.GetLastQualifiedLead(); return(_quaifiedLead); }
public QualifiedLead GetLastQualifiedLeadInsertedAttendant(int departmentID) { QualifiedLead _quaifiedLead = _qualifiedLeadRepository.GetLastQualifiedLeadInsertedAttendant(departmentID); return(_quaifiedLead); }
public int InsertQualifiedLead(QualifiedLead model) { var ret = _qualifiedLeadRepository.Add(model); return(ret); }
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) { } }
public QualifiedLead GetLastQualifiedLead() { QualifiedLead ret = _context.QualifiedLeads.OrderByDescending(x => x.QualifiedLeadId).FirstOrDefault(); return(ret); }