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));
        }
Example #3
0
        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;
            }
        }
Example #6
0
        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));
        }
Example #7
0
 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();
        }