public ActionResult ContactTypeTotals(ContactSearchModel m) { ViewBag.candelete = m.CanDeleteTotal(); var q = m.ContactTypeTotals(); return(View(q)); }
public ActionResult Clear() { var m = new ContactSearchModel(); m.ClearSession(); return(Redirect("/ContactSearch2")); }
public ActionResult Index() { Response.NoCache(); var m = new ContactSearchModel(); m.GetFromSession(); return View(m); }
public ActionResult Index() { Response.NoCache(); var m = new ContactSearchModel(); m.GetFromSession(); return(View(m)); }
/// <summary> /// Search contacts /// </summary> /// <param name="si"></param> /// <param name="searchModel"></param> /// <returns></returns> public JqGridSearchOut SearchContacts(JqSearchIn si, ContactSearchModel searchModel) { var data = SearchContacts(searchModel); var contacts = Maps(data); return(si.Search(contacts)); }
public ContactGroupSetupModel() { _contactGroupService = HostContainer.GetInstance <IContactGroupService>(); Step = NotificationEnums.NotificationSetupStep.SetupContactGroup; ContactSearchModel = new ContactSearchModel(); }
/// <summary> /// Export contacts /// </summary> /// <param name="si"></param> /// <param name="gridExportMode"></param> /// <param name="searchModel"></param> /// <returns></returns> public ActionResult Exports(JqSearchIn si, GridExportMode gridExportMode, ContactSearchModel searchModel) { var workbook = _contactService.Exports(si, gridExportMode, searchModel); var output = new MemoryStream(); workbook.Write(output); return(File(output.ToArray(), "application/vnd.ms-excel", "Contacts.xls")); }
/// <summary> /// Export contacts /// </summary> /// <param name="si"></param> /// <param name="searchModel"></param> /// <param name="gridExportMode"></param> /// <returns></returns> public HSSFWorkbook Exports(JqSearchIn si, GridExportMode gridExportMode, ContactSearchModel searchModel) { var data = gridExportMode == GridExportMode.All ? GetAll() : SearchContacts(searchModel); var contacts = Maps(data); var exportData = si.Export(contacts, gridExportMode); return(ExcelUtilities.CreateWorkBook(exportData)); }
public ActionResult Index() { if (!ViewExtensions2.UseNewLook()) return Redirect("/ContactSearch"); Response.NoCache(); var m = new ContactSearchModel(); m.Pager.Set("/ContactSearch2/Results"); m.GetFromSession(); return View(m); }
// GET: ContactSearch public async Task <ActionResult> Index(ContactSearchModel model) { model.Results = db.Contacts .Where( x => (model.FirstName == null || x.FirstName.Contains(model.FirstName)) || (model.LastName == null || x.LastName.Contains(model.LastName)) ) .ToList(); return(View(await db.Contacts.ToListAsync())); }
private void SaveToSession(ContactSearchModel m) { Session[STR_ContactSearch] = new ContactSearchInfo { EndDate = m.EndDate, StartDate = m.StartDate, MinistryId = m.Ministry, ContactTypeId = m.ContactType, ContactorName = m.ContactorName, ContacteeName = m.ContacteeName, ContactReasonId = m.ContactReason, StatusId = m.Status }; }
/// <summary> /// Count contacts /// </summary> /// <param name="model"></param> /// <returns></returns> public ResponseModel CountContacts(ContactSearchModel model) { var notification = GetById(model.NotificationId); if (notification != null) { // Deserialize contact queries string in notification model to object var contactSearchModels = string.IsNullOrEmpty(notification.ContactQueries) ? new List <ContactSearchModel>() : SerializeUtilities.Deserialize <List <ContactSearchModel> >(notification.ContactQueries); // Number of contacts before new queries is added var totalExistingContacts = _contactService.SearchContacts(contactSearchModels).Count(); // Add new queries contactSearchModels.Add(model); // Number of contact after new queries is added var totalContactsAfterAdded = _contactService.SearchContacts(contactSearchModels).Count(); // Number of contact in new queries var totalNewContactsExpected = _contactService.SearchContacts(model).Count(); // Serialize contact queries and assign to notification model notification.ContactQueries = SerializeUtilities.Serialize(contactSearchModels); var contactStatistic = new ContactStatisticModel { ExistedContacts = totalNewContactsExpected + totalExistingContacts - totalContactsAfterAdded, NewContacts = totalContactsAfterAdded - totalExistingContacts, TotalContacts = totalContactsAfterAdded }; var response = new ResponseModel { Success = true, Data = contactStatistic }; return(response); } return(new ResponseModel { Success = false, Message = T("Notification_Message_ObjectNotFound") }); }
public ActionResult Index() { Response.NoCache(); var m = new ContactSearchModel(); var os = Session[STR_ContactSearch] as ContactSearchInfo; if (os != null) { m.ContactReason = os.ContactReasonId; m.ContacteeName = os.ContacteeName; m.ContactorName = os.ContactorName; m.ContactType = os.ContactTypeId; m.Ministry = os.MinistryId; m.StartDate = os.StartDate; m.EndDate = os.EndDate; m.Status = os.StatusId; } return(View(m)); }
public ActionResult ConvertToQuery(ContactSearchModel m) { var qb = DbUtil.Db.QueryBuilderScratchPad(); qb.CleanSlate(DbUtil.Db); var comp = CompareType.Equal; var clause = qb.AddNewClause(QueryType.MadeContactTypeAsOf, comp, "1,T"); clause.Program = m.Ministry ?? 0; clause.StartDate = m.StartDate ?? DateTime.Parse("1/1/2000"); clause.EndDate = m.EndDate ?? DateTime.Today; var cvc = new CodeValueModel(); var q = from v in cvc.ContactTypeCodes0() where v.Id == m.ContactType select v.IdCode; var idvalue = q.Single(); clause.CodeIdValue = idvalue; DbUtil.Db.SubmitChanges(); return(Redirect("/QueryBuilder/Main/{0}".Fmt(qb.QueryId))); }
public ActionResult ConvertToQuery(ContactSearchModel m) { var gid = m.ConvertToQuery(); return(Redirect("/Query/{0}".Fmt(gid))); }
public ActionResult Results(int? page, int? size, string sort, string dir, ContactSearchModel m) { m.Pager.Set("/ContactSearch2/Results", page, size, sort, dir); m.SaveToSession(); return View(m); }
public ActionResult ContactTypeQuery(int id) { var gid = ContactSearchModel.ContactTypeQuery(id); return(Redirect("/Query/{0}".Fmt(gid))); }
public ActionResult ConvertToQuery(ContactSearchModel m) { var gid = m.ConvertToQuery(); return Redirect("/Query/{0}".Fmt(gid)); }
public ActionResult ContactTypeTotals(ContactSearchModel m) { ViewBag.candelete = m.CanDeleteTotal(); var q = m.ContactTypeTotals(); return View(q); }
public ActionResult ConvertToQuery(ContactSearchModel m) { var gid = m.ConvertToQuery(); return Redirect($"/Query/{gid}"); }
public ActionResult AddToGroup(ContactSearchModel model) { var addToGroupModel = new AddToGroupModel(model); return(View(addToGroupModel)); }
public ActionResult DeleteContactsForType(int id) { ContactSearchModel.DeleteContactsForType(id); return(Redirect("/ContactSearch/ContactTypeTotals")); }
public ActionResult ContactTypeQuery(int id) { var gid = ContactSearchModel.ContactTypeQuery(id); return(Redirect($"/Query/{gid}")); }
public ActionResult ContactSummary(ContactSearchModel m) { var q = m.ContactSummary(); return(View(q)); }
public string _AjaxBinding(JqSearchIn si, ContactSearchModel searchModel) { return(JsonConvert.SerializeObject(_contactService.SearchContacts(si, searchModel))); }
public ActionResult Results(ContactSearchModel m) { SaveToSession(m); return(View(m)); }
/// <summary> /// Count contacts in query /// </summary> /// <param name="searchModel"></param> /// <returns></returns> public JsonResult CountContacts(ContactSearchModel searchModel) { var contacts = _notificationService.CountContacts(searchModel); return(Json(contacts, JsonRequestBehavior.AllowGet)); }
public ActionResult Results(int?page, int?size, string sort, string dir, ContactSearchModel m) { m.Pager.Set("/ContactSearch2/Results", page, size, sort, dir); m.SaveToSession(); return(View(m)); }
public AddToGroupModel(ContactSearchModel contactSearchModel) : this() { ContactSearchModel = SerializeUtilities.Serialize(contactSearchModel); }
/// <summary> /// Search contacts /// </summary> /// <param name="searchModel"></param> /// <returns></returns> public IQueryable <Contact> SearchContacts(ContactSearchModel searchModel) { var dontSendMarketing = default(bool?); if (searchModel.MarketingMaterial == ContactEnums.DontSendMarketing.DontSend) { dontSendMarketing = true; } else if (searchModel.MarketingMaterial == ContactEnums.DontSendMarketing.Send) { dontSendMarketing = false; } var interestedInOwning = default(bool?); switch (searchModel.InterestedInOwning) { case ContactEnums.InterestInOwning.IsInterest: interestedInOwning = true; break; case ContactEnums.InterestInOwning.IsNotInterest: interestedInOwning = false; break; } searchModel.Sex = searchModel.Sex.Where(m => !string.IsNullOrEmpty(m)).ToList(); // Company filter var companies = new List <string>(); if (searchModel.Companies != null) { companies.AddRange(searchModel.Companies); } //Company type filter var companyNames = new List <string>(); // Add current company of company type to company name list for searching if (searchModel.CompanyTypeIds.Any()) { companyNames.AddRange(_companyService.Fetch(c => searchModel.CompanyTypeIds.Contains(c.Id)) .Select(ct => ct.Name).ToList()); } var contacts = GetAll().Where(c => // Keyword filters (string.IsNullOrEmpty(searchModel.Keyword) || string.IsNullOrEmpty(c.FirstName) || c.FirstName.Contains(searchModel.Keyword) || string.IsNullOrEmpty(c.LastName) || c.LastName.Contains(searchModel.Keyword) || string.IsNullOrEmpty(c.Email) || c.Email.Contains(searchModel.Keyword)) // State/Suburb/Country filters && (string.IsNullOrEmpty(searchModel.State) || c.State.Contains(searchModel.State)) && (string.IsNullOrEmpty(searchModel.Suburb) || c.Suburb.Contains(searchModel.Suburb)) && (string.IsNullOrEmpty(searchModel.Country) || c.Country.Contains(searchModel.Country)) // Company filters && (!companies.Any() || companies.Contains(c.Company)) // Company type filters && (!companyNames.Any() || companyNames.Contains(c.Company)) // Contact group filters && (!searchModel.ContactGroupId.HasValue || c.ContactGroupContacts.Any(x => x.ContactGroup.Id == searchModel.ContactGroupId)) // Other filters && (!searchModel.SalesPerson.Any() || searchModel.SalesPerson.Contains(c.SalesPerson)) && (!dontSendMarketing.HasValue || dontSendMarketing == c.DontSendMarketing) && (!interestedInOwning.HasValue || c.ContactCommunications.Any( cc => cc.InterestedInOwning == interestedInOwning && cc.ContactId == c.Id)) && ((!searchModel.ReferredBy.Any() && !searchModel.SubscriberTypes.Any() && !searchModel.ProductOfInterests.Any() && !searchModel.CampaignCodes.Any() && !searchModel.CurrentlyOwns.Any() && !searchModel.Certifications.Any()) || c.ContactCommunications.Any(cc => (!searchModel.ReferredBy.Any() || searchModel.ReferredBy.Contains(cc.ReferredBy)) && (!searchModel.SubscriberTypes.Any() || searchModel.SubscriberTypes.Contains(cc.SubscriberType)) && (!searchModel.ProductOfInterests.Any() || searchModel.ProductOfInterests.Contains(cc.ProductOfInterest)) && (!searchModel.CampaignCodes.Any() || searchModel.CampaignCodes.Contains(cc.CampaignCode)) && (!searchModel.CurrentlyOwns.Any() || searchModel.CurrentlyOwns.Contains(cc.CurrentlyOwn)) && (!searchModel.Certifications.Any() || searchModel.Certifications.Contains(cc.Certification)))) ); return(contacts); }
public ActionResult ContactSummary(ContactSearchModel m) { var q = m.ContactSummary(); return View(q); }
public ActionResult Clear() { var m = new ContactSearchModel(); m.ClearSession(); return Redirect("/ContactSearch2"); }
public ActionResult Results(ContactSearchModel m) { m.SaveToSession(); return View(m); }
public ActionResult ConvertToQuery(ContactSearchModel m) { var gid = m.ConvertToQuery(); return(Redirect($"/Query/{gid}")); }
public ActionResult Index() { var model = new ContactSearchModel(); return(View(model)); }