public ActionResult DeleteConfirmed(int id)
        {
            客戶聯絡人 客戶聯絡人 = RepoContact.Find(id);

            RepoContact.Delete(客戶聯絡人);
            RepoContact.UnitOfWork.Commit();
            return(RedirectToAction("Index"));
        }
        public ActionResult Create([Bind(Include = "Id,客戶Id,職稱,姓名,Email,手機,電話,IsDeleted")] 客戶聯絡人 客戶聯絡人)
        {
            if (ModelState.IsValid)
            {
                RepoContact.Add(客戶聯絡人);
                RepoContact.UnitOfWork.Commit();
                return(RedirectToAction("Index"));
            }

            ViewBag.客戶Id = new SelectList(RepoCust.All(), "Id", "客戶名稱", 客戶聯絡人.客戶Id);
            return(View(客戶聯絡人));
        }
        // GET: 客戶聯絡人/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            客戶聯絡人 客戶聯絡人 = RepoContact.Find(id);

            if (客戶聯絡人 == null)
            {
                return(HttpNotFound());
            }
            return(View(客戶聯絡人));
        }
        // GET: 客戶聯絡人/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            客戶聯絡人 客戶聯絡人 = RepoContact.Find(id);

            if (客戶聯絡人 == null)
            {
                return(HttpNotFound());
            }
            ViewBag.客戶Id = new SelectList(RepoCust.All(), "Id", "客戶名稱", 客戶聯絡人.客戶Id);
            return(View(客戶聯絡人));
        }
        public ActionResult Contacts(int?page, string jobTitle = "", string sortBy = "", string sort = "")
        {
            if (string.IsNullOrEmpty(sortBy))
            {
                sortBy = "姓名";
            }

            var contacts = RepoContact.All(jobTitle).Include(客 => 客.客戶資料);

            if (sortBy == "客戶名稱")
            {
                if (sort.StartsWith("desc"))
                {
                    contacts = contacts.OrderByDescending(c => c.客戶資料.客戶名稱);
                }
                else
                {
                    contacts = contacts.OrderBy(c => c.客戶資料.客戶名稱);
                }
            }
            else
            {
                var param   = Expression.Parameter(typeof(客戶聯絡人), "customer");
                var sortExp = Expression.Lambda <Func <客戶聯絡人, object> >(Expression.Property(param, sortBy), param);

                if (sort.StartsWith("desc"))
                {
                    contacts = contacts.OrderByDescending(sortExp);
                }
                else
                {
                    contacts = contacts.OrderBy(sortExp);
                }
            }


            var pageNumber        = page ?? 1;
            var pageSize          = 2;
            var onePaeeOfContacts = contacts.ToPagedList(pageNumber, pageSize);

            ViewBag.OnePageOfContacts = onePaeeOfContacts;


            return(PartialView("ContactListPartial"));
        }
        public ActionResult GetAllJobTitles()
        {
            var allJobTitles = RepoContact.All().Select(c => c.職稱).Distinct();

            return(this.Json(allJobTitles));
        }