//public ActionResult AddConList(int ticketId, string sortOrder, string searchString)
        public ActionResult AddCon(int ticketId, string sortOrder, string searchString)
        {
            ViewBag.TicketID     = ticketId;
            ViewBag.SortOrder    = sortOrder;
            ViewBag.SearchString = searchString;


            OrcaContext db = new OrcaContext();

            ActiveExperts hackExperts = new ActiveExperts();

            hackExperts.SortListBy(SortBy.FieldOfExpertise, SortMethod.Ascending);

            List <ActiveExpert> listForOurModel = hackExperts.Experts;

            // now just get rid of any that are already on the ticket

            //List<TicketExpert> ticketExperts = (from ticEx in db.TicketExperts
            //                                    where ticEx.TicketID != ticketId || (ticEx.TicketActivityState != ActivityState.Active)
            //                                    select ticEx).ToList();



            //List<ActiveExpert> finalList = new List<ActiveExpert>();

            //foreach (ActiveExpert ae in listForOurModel)
            //{
            //    var ticketExperts = from ticEx in db.TicketExperts
            //                        where ticEx.ExpertForThisTicket == ae.OrcaUserID && ticEx.TicketActivityState == ActivityState.Active
            //                        select ticEx;
            //    bool keep = true;

            //    foreach (var te in ticketExperts)
            //    {
            //        if (ae.OrcaUserID == te.ExpertForThisTicket)
            //        {
            //            keep = false;
            //            break;
            //        }
            //    }

            //    if (keep) finalList.Add(ae);
            //}


            return(View(listForOurModel));
        }
Exemple #2
0
        public ActionResult Index([Bind] string sortOrder, [Bind] string searchString)
        {
            // convnention for making it easier to pass messages between controllers
            if (TempData["Message"] != null)
            {
                ViewBag.Message += (" " + TempData["Message"].ToString());
            }

            if (String.IsNullOrEmpty(sortOrder))
            {
                if (TempData["SortOrder"] != null)
                {
                    sortOrder = TempData["SortOrder"].ToString();
                }
            }
            if (String.IsNullOrEmpty(searchString))
            {
                if (TempData["SearchString"] != null)
                {
                    searchString = TempData["SearchString"].ToString();
                }
            }



            if (String.IsNullOrEmpty(sortOrder))
            {
                sortOrder = SortBy.FieldOfExpertise.ToString();
            }

            ViewBag.FieldOfExpertiseSortParam = sortOrder == SortBy.FieldOfExpertise.ToString() ? "FieldOfExpertise_desc" : SortBy.FieldOfExpertise.ToString();
            ViewBag.TitleDegreeSortParam      = sortOrder == SortBy.TitleDegree.ToString() ? "TitleDegree_desc" : SortBy.TitleDegree.ToString();
            ViewBag.OrcaUserNameSortParam     = sortOrder == SortBy.OrcaUserName.ToString() ? "OrcaUserName_desc" : SortBy.OrcaUserName.ToString();
            ViewBag.FirstNameSortParam        = sortOrder == SortBy.FirstName.ToString() ? "FirstName_desc" : SortBy.FirstName.ToString();
            ViewBag.LastNameSortParam         = sortOrder == SortBy.LastName.ToString() ? "LastName_desc" : SortBy.LastName.ToString();

            ActiveExperts activeExperts = new ActiveExperts();

            if (String.IsNullOrWhiteSpace(searchString))
            {
                activeExperts.PopulateList();
            }

            switch (sortOrder)
            {
            case "OrcaUserName":
                activeExperts.FilterList(searchString).SortListBy(SortBy.OrcaUserName, SortMethod.Ascending);
                break;

            case "TitleDegree":
                activeExperts.FilterList(searchString).SortListBy(SortBy.TitleDegree, SortMethod.Ascending);
                break;

            case "FirstName":
                activeExperts.FilterList(searchString).SortListBy(SortBy.FirstName, SortMethod.Ascending);
                break;

            case "LastName":
                activeExperts.FilterList(searchString).SortListBy(SortBy.LastName, SortMethod.Ascending);
                break;

            case "FieldOfExpertise_desc":
                activeExperts.FilterList(searchString).SortListBy(SortBy.FieldOfExpertise, SortMethod.Descending);
                break;

            case "OrcaUserName_desc":
                activeExperts.FilterList(searchString).SortListBy(SortBy.OrcaUserName, SortMethod.Descending);
                break;

            case "TitleDegree_desc":
                activeExperts.FilterList(searchString).SortListBy(SortBy.TitleDegree, SortMethod.Descending);
                break;

            case "FirstName_desc":
                activeExperts.FilterList(searchString).SortListBy(SortBy.FirstName, SortMethod.Descending);
                break;

            case "LastName_desc":
                activeExperts.FilterList(searchString).SortListBy(SortBy.LastName, SortMethod.Descending);
                break;

            default:     // case "FieldOfExpertise":
                activeExperts.FilterList(searchString).SortListBy(SortBy.FieldOfExpertise, SortMethod.Ascending);
                break;
            }

            ViewBag.SortOrder = sortOrder;
            //ViewBag.SearchString = searchString;

            return(View(activeExperts));
        }