Esempio n. 1
0
        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");
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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);
                }
            }
        }
Esempio n. 4
0
        public bool InsertLeadToGoogleDoc(QualifiedLead form, bool isQualified)
        {
            GoogleServices googleService = GoogleServices.GetInstance();

            googleService.InsertLeadEntryToGoogleDocs(form, isQualified);
            return(true);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        public int Add(QualifiedLead model)
        {
            var ret = _context.QualifiedLeads.Add(model);

            _context.SaveChanges();
            return((int)ret.State);
        }
Esempio n. 7
0
        public QualifiedLead GetLastQualifiedLeadInsertedAttendant(int departmentID)
        {
            QualifiedLead ret = _context.QualifiedLeads
                                .Where(y => y.DepartmentID == departmentID)
                                .OrderByDescending(x => x.QualifiedLeadId).FirstOrDefault();

            return(ret);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
        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);
            }
        }
Esempio n. 12
0
        public QualifiedLead GetLastQualifiedLeadInserted()
        {
            QualifiedLead _quaifiedLead = _qualifiedLeadRepository.GetLastQualifiedLead();

            return(_quaifiedLead);
        }
Esempio n. 13
0
        public QualifiedLead GetLastQualifiedLeadInsertedAttendant(int departmentID)
        {
            QualifiedLead _quaifiedLead = _qualifiedLeadRepository.GetLastQualifiedLeadInsertedAttendant(departmentID);

            return(_quaifiedLead);
        }
Esempio n. 14
0
        public int InsertQualifiedLead(QualifiedLead model)
        {
            var ret = _qualifiedLeadRepository.Add(model);

            return(ret);
        }
Esempio n. 15
0
        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)
            {
            }
        }
Esempio n. 16
0
        public QualifiedLead GetLastQualifiedLead()
        {
            QualifiedLead ret = _context.QualifiedLeads.OrderByDescending(x => x.QualifiedLeadId).FirstOrDefault();

            return(ret);
        }