public AllContactsViewModel GetAllContacts(ContactSearchViewModel contactSearchViewModel) { var outputModel = new AllContactsViewModel(); outputModel.PageIndex = contactSearchViewModel.PageIndex; var allContacts = this.context.UserContacts.Include(uc => uc.UserProfile).Where(uc => uc.UserProfile.Id == contactSearchViewModel.UserId).ToList(); if (contactSearchViewModel != null) { if (!string.IsNullOrEmpty(contactSearchViewModel.FirstNameSearch)) { allContacts = allContacts.Where(uc => uc.FirstName.Contains(contactSearchViewModel.FirstNameSearch)).ToList(); } if (!string.IsNullOrEmpty(contactSearchViewModel.LastNameSearch)) { allContacts = allContacts.Where(uc => uc.LastName.Contains(contactSearchViewModel.LastNameSearch)).ToList(); } if (!string.IsNullOrEmpty(contactSearchViewModel.PhoneSearch)) { allContacts = allContacts.Where(uc => uc.Phone.Contains(contactSearchViewModel.PhoneSearch)).ToList(); } } outputModel.TotalItems = allContacts.Count; if (contactSearchViewModel.PageSize == 0) { outputModel.Items = allContacts; } if (contactSearchViewModel != null && contactSearchViewModel.PageIndex > 0 && contactSearchViewModel.PageSize > 0) { outputModel.Items = allContacts.Skip((contactSearchViewModel.PageIndex - 1) * contactSearchViewModel.PageSize).Take(contactSearchViewModel.PageSize).ToList(); } return(outputModel); }
public ActionResult Export(ContactSearchViewModel filter) { var result = contactRepo .Search(filter.Name, filter.Title) .Include(客 => 客.客戶資料) .Select(x => new { customerName = x.客戶資料.客戶名稱, title = x.職稱, contactName = x.姓名, email = x.Email, cellPhone = x.手機, phone = x.電話 }) .ToList(); var dt = GetDataTable(); result.ForEach(item => { var row = dt.NewRow(); row[0] = item.customerName; row[1] = item.title; row[2] = item.contactName; row[3] = item.email; row[4] = item.cellPhone; row[5] = item.phone; dt.Rows.Add(row); }); return(new ExportExcelResult("客戶聯絡人資料.xlsx", dt)); }
public IActionResult AllContactsView(ContactSearchViewModel contactSearchViewModel, int pageIndex = 0) { ViewData["ItemsPerPage"] = new List <SelectListItem> { new SelectListItem("Items Per Page", "0"), new SelectListItem("5", "5"), new SelectListItem("10", "10"), new SelectListItem("15", "15"), new SelectListItem("20", "20") }; if (!string.IsNullOrEmpty(LoggedUser)) { var contactSearchDisplayViewModel = new ContactSearchViewModel() { FirstNameSearch = contactSearchViewModel.FirstNameSearch, LastNameSearch = contactSearchViewModel.LastNameSearch, PhoneSearch = contactSearchViewModel.PhoneSearch, UserId = this.userDomain.GetUserProfile(LoggedUser).Id, PageIndex = pageIndex > 0 ? pageIndex : 1, PageSize = Convert.ToInt32(contactSearchViewModel.PageSize) }; ViewData["pageIndex"] = contactSearchDisplayViewModel.PageIndex; ViewData["pageSize"] = contactSearchDisplayViewModel.PageSize; var allContactsViewModel = this.contactDomain.GetAllContacts(contactSearchDisplayViewModel); ViewData["totalItems"] = allContactsViewModel.TotalItems; return(View(allContactsViewModel.Items)); } else { return(RedirectToAction("Login", "Account")); } }
public ActionResult Search(ContactSearchViewModel filter) { var contacts = contactRepo.Search(filter.Name, filter.Title).Include(客 => 客.客戶資料).ToList(); var titles = contactRepo.All().Select(x => x.職稱).Distinct().ToList(); ViewBag.Titles = new SelectList(titles); return(View("Index", contacts)); }
protected override void OnNavigatedTo(NavigationEventArgs e) { int id = (int)e.Parameter; if (viewModel == null) { viewModel = new ContactSearchViewModel(id); DataContext = viewModel.Contact; } }
public ActionResult Index(ContactSearchViewModel vm) { Func <IQueryable <CRMContact>, IQueryable <CRMContact> > contactFilter = q => { q = q.Include(c => c.ParentAccount).Include(c => c.Person); if (vm.AccountId.HasValue) { q = q.Where(r => r.ParentAccountId == vm.AccountId.Value); } q = q.OrderByDescending(c => c.CreatedOn); return(q); }; var contacts = _crmContactRepository.Search(contactFilter); vm.Contacts = contacts.ToList(); return(View(vm)); }
public AllContactsViewModel GetAllContacts(ContactSearchViewModel contactSearchViewModel) { return(this.repository.GetAllContacts(contactSearchViewModel)); }
private async void SearchBarBtn_Click(object sender, RoutedEventArgs e) { MainListBox.Items.Clear(); int numberI; //validate if (!String.IsNullOrEmpty(ContIDTxtBox.Text)) { //validate search section is numeric try { numberI = int.Parse(ContIDTxtBox.Text); } catch { MessageDialog md = new MessageDialog("Please wrtie numberic in this field", "Wrong type method"); await md.ShowAsync(); ContIDTxtBox.Text = string.Empty; ContIDTxtBox.Focus(FocusState.Programmatic); ContIDTxtBox.SelectAll(); return; } //validate data is exist try { viewModelS = new ContactSearchViewModel(int.Parse(ContIDTxtBox.Text)); this.DataContext = viewModelS; this.MainListBox.Items.Add(viewModelS.Contact); //Frame.Navigate(typeof(ContactViewPage), viewModelS.Contact.ContactID); } catch { MessageDialog md = new MessageDialog("There is no data with that ID", "No Data Exist"); await md.ShowAsync(); ContIDTxtBox.Text = string.Empty; ContIDTxtBox.Focus(FocusState.Programmatic); ContIDTxtBox.SelectAll(); return; } //try //{ // Frame.Navigate(typeof(ContactViewPage), viewModelS.Contact.ContactID); //} //catch //{ // MessageDialog md = new MessageDialog("There is no data with that ID", "No Data Exist"); // await md.ShowAsync(); // ContIDTxtBox.Text = string.Empty; // ContIDTxtBox.Focus(FocusState.Programmatic); // ContIDTxtBox.SelectAll(); // return; //} } else { MessageDialog md = new MessageDialog("There is no data with that information", "NO DATA"); await md.ShowAsync(); ContIDTxtBox.Text = string.Empty; ContIDTxtBox.Focus(FocusState.Programmatic); ContIDTxtBox.SelectAll(); return; } ContIDTxtBox.SelectAll(); }