public LeadAssembler(Contact contact, LeadPersonal leadPersonal, Telesale telesale, LeadFactory factory) { Contact = contact; LeadPersonal = leadPersonal; Telesale = telesale; LeadFactory = factory; }
public override ScriptActionResult Update(Site site, Contact contact, LeadPersonal person, Telesale telesale) { LeadAssembler.Contact = contact; LeadAssembler.LeadPersonal = person; LeadAssembler.Telesale = telesale; contact.Leads.Add(LeadAssembler.Assemble(BusinessTypes.Cleaning)); return ScriptActionResult.Completed | ScriptActionResult.EmailRequired; }
public override ScriptActionResult Update(Site site, Contact contact, LeadPersonal person, Telesale telesale) { if (contact == null || contact.ContactPerson == null) return ScriptActionResult.InCompeleted; contact.ContactPerson.Email = Email; return ScriptActionResult.Completed; }
public override ScriptActionResult Update(Site site, Contact contact, LeadPersonal person, Telesale telesale) { if (contact == null || contact.Site == null) return ScriptActionResult.InCompeleted; contact.Site.Qualification = Number; return ScriptActionResult.Completed; }
public override ScriptActionResult Update(Site site, Contact contact, LeadPersonal person, Telesale telesale) { if (contact.CallLines == null) return ScriptActionResult.InCompeleted; var callLine = contact.CallLines.Last(); callLine.EmailInfo = true; return ScriptActionResult.Completed; }
public override ScriptActionResult Update(Site site, Contact contact, LeadPersonal person, Telesale telesale) { if (contact == null || !contact.CallFrequency.HasValue) return ScriptActionResult.InCompeleted; if (UpdateInMonth) contact.NextCall = DateTime.Today.AddMonths(contact.CallFrequency.Value); else contact.NextCall = DateTime.Today.AddDays(3*7); return ScriptActionResult.Completed; }
public override ScriptActionResult Update(Site site, Contact contact, LeadPersonal person, Telesale telesale) { if (string.IsNullOrEmpty(Firstname) && string.IsNullOrEmpty(Lastname)) return ScriptActionResult.InCompeleted; if (contact == null || contact.ContactPerson == null) return ScriptActionResult.InCompeleted; contact.ContactPerson.Firstname = Firstname; contact.ContactPerson.Lastname = Lastname; return ScriptActionResult.Completed; }
public override ScriptActionResult Update(Site site, Contact contact, LeadPersonal person, Telesale telesale) { var group = contact.Site.Groups.SingleOrDefault(x => x.Type == "Building"); if (group == null) throw new Exception("No property manager building found for this site"); throw new NotImplementedException(); //todo need to re-do on this /*if (!string.IsNullOrEmpty(Firstname) || !string.IsNullOrEmpty(Lastname)) { group.Firstname = Firstname; group.Lastname = Lastname; } if (!string.IsNullOrEmpty(Phone)) group.Phone = Phone; if (!string.IsNullOrEmpty(Company)) group.AgentComp = Company;*/ }
public override ScriptActionResult Update(Site site, Contact contact, LeadPersonal person, Telesale telesale) { Lead lead; LeadAssembler.Contact = contact; LeadAssembler.LeadPersonal = person; LeadAssembler.Telesale = telesale; switch (Type) { case ScriptActionType.CreateMaintenanceLead: lead = LeadAssembler.Assemble(BusinessTypes.Maintenance); break; default: lead = LeadAssembler.Assemble(BusinessTypes.Cleaning); break; } contact.Leads.Add(lead); return ScriptActionResult.Completed | ScriptActionResult.EmailRequired; }
public override ScriptActionResult Update(Site site, Contact contact, LeadPersonal person, Telesale telesale) { if (site == null) throw new Exception("This site cant not be changed to OPR, please contact DB admin"); if (site.Contacts.Any(x=>x.Code == "OPR")) throw new Exception("Not a valid tenant, the site already has an OPR contact"); site.PropertyManaged = false; site.TsToCall = true; site.Size = Size.Size025.ToString(); contact.DaToCheck = true; contact.DaToCheckInfo = "Need new tenant for PMS"; site.Contacts.Add(new Contact { SiteId = site.Id, BusinessTypeId = (int)BusinessTypes.Cleaning, LastCall = DateTime.Today, NextCall = DateTime.Today.AddDays(contact.CallFrequency.GetValueOrDefault() * 7), Code = "OPR", CallFrequency = 3, ContactPerson = new ContactPerson { SiteId = site.Id, Lastname = Lastname, Firstname = Firstname, DirectLine = Phone, Mobile = Mobile, CreateDate = DateTime.Today } }); return ScriptActionResult.Completed; }
public BdScriptProvider(Contact contact, LeadPersonal leadPerson) { Contact = contact; LeadPerson = leadPerson; }
private bool OverOccupyLimit(LeadPersonal leadPerson, out IList<int> occupiedList) { occupiedList = UnitOfWork.OccupiedContactRepository.Filter(x => x.LeadPersonalId == leadPerson.Id, x => x.ContactId); if (occupiedList.Any() && occupiedList.Count >= leadPerson.GetLeadsLeftToGet()) return true; return false; }
public override ScriptActionResult Update(Site site, Contact contact, LeadPersonal person, Telesale telesale) { contact.CallBackDate = CallbackDate; return ScriptActionResult.Completed; }
/// <summary> /// update the qp lead priority /// </summary> /// <param name="model"></param> /// <returns></returns> public IHttpActionResult Put(LeadPersonal model) { if (!ModelState.IsValid) return BadRequest(ModelState); return Ok(new { data = _leadPersonalService.Update(model) }); }
public abstract ScriptActionResult Update(Site site, Contact contact, LeadPersonal person, Telesale telesale);
public TelesaleScriptProvider(Contact contact, Telesale telesale, LeadPersonal leadPerson) { Contact = contact; Telesale = telesale; LeadPerson = leadPerson; }
public override ScriptActionResult Update(Site site, Contact contact, LeadPersonal person, Telesale telesale) { contact.DaToCheck = true; contact.DaToCheckInfo = InfoForDa; return ScriptActionResult.Completed; }
private Contact NextContact(LeadPersonal person) { IList<int> occupiedList; if (OverOccupyLimit(person, out occupiedList)) return null; var codes = Enum.GetNames(typeof(CallingCode)); return occupiedList.Count > 0 ? UnitOfWork.ContactRepository.NextCleaningContact(codes, person.Id, occupiedList) : UnitOfWork.ContactRepository.NextCleaningContact(codes, person.Id); }