public ActionResult AllCases(SessionsSearchViewModel model)
        {
            if (CurrentUser != null)
            {
                try
                {
                    vw_AddSessionsSearchData sessionsSearchData = new vw_AddSessionsSearchData
                    {
                        CaseStatusID             = model.CaseStatusID,
                        CircuitID                = model.CircuitID,
                        CrimeID                  = model.CrimeID,
                        CourtID                  = CurrentUser.CourtID,
                        CrimeType                = model.CrimeType,
                        DefendantStatus          = model.DefendantStatusID,
                        FirstLevelNumber         = model.FirstLevelNumber,
                        FirstLevelProsecutionID  = model.FirstLevelProsecutionID,
                        FirstLevelYear           = model.FirstLevelYear,
                        PoliceStationID          = model.PoliceStationID,
                        SecondLevelNumber        = model.SecondLevelNumber,
                        SecondLevelProsecutionID = model.SecondLevelProsecutionID,
                        SecondLevelYear          = model.SecondLevelYear
                    };
                    List <vw_AddSessionSearchResult> SearchResult = searchCasesService.AddSessionsSearch(sessionsSearchData);
                    model = FillLists();
                    model.cases.AddRange(SearchResult.Select(x => new SessionsSearchGridViewModel
                    {
                        CaseID            = x.CaseID,
                        CaseStatus        = x.CaseStatus,
                        CrimeType         = x.CrimeType,
                        FirstLevelNumber  = x.FirstLevelNumber,
                        MainCrime         = x.MainCrime,
                        PoliceStation     = x.PoliceStation,
                        SecondLevelNumber = x.SecondLevelNumber,
                        CrimeID           = x.CrimeID
                    }));
                    ViewData["SessionEnded"] = false;
                    return(CPartialView(model));
                }
                catch (Exception ex)
                {
                    return(ErrorPage(ex));
                }
            }

            else
            {
                ViewData["SessionEnded"] = true;
                return(CPartialView());
            }
        }
        public ActionResult Edit([Bind(Prefix = "Edit")] SessionsSearchViewModel model)
        {
            if (CurrentUser != null)
            {
                //ViewData.TemplateInfo.HtmlFieldPrefix = "Edit";
                vw_AddSessionsSearchData sessionsSearchData = new vw_AddSessionsSearchData
                {
                    CaseStatusID             = model.CaseStatusID,
                    CircuitID                = model.CircuitID,
                    CrimeID                  = model.CrimeID,
                    CourtID                  = CurrentUser.CourtID,
                    CrimeType                = model.CrimeType,
                    DefendantStatus          = model.DefendantStatusID,
                    FirstLevelNumber         = model.FirstLevelNumber,
                    FirstLevelProsecutionID  = model.FirstLevelProsecutionID,
                    FirstLevelYear           = model.FirstLevelYear,
                    PoliceStationID          = model.PoliceStationID,
                    SecondLevelNumber        = model.SecondLevelNumber,
                    SecondLevelProsecutionID = model.SecondLevelProsecutionID,
                    SecondLevelYear          = model.SecondLevelYear
                };
                List <vw_AddSessionSearchResult> SearchResult = searchCasesService.EditSessionSearch(sessionsSearchData);
                model = FillLists();
                model.cases.AddRange(SearchResult.Select(x => new SessionsSearchGridViewModel
                {
                    CaseID            = x.CaseID,
                    CaseStatus        = x.CaseStatus,
                    CrimeType         = x.CrimeType,
                    FirstLevelNumber  = x.FirstLevelNumber,
                    MainCrime         = x.MainCrime,
                    PoliceStation     = x.PoliceStation,
                    SecondLevelNumber = x.SecondLevelNumber,
                    SessionDate       = x.SessionDate.ToShortDateString(),
                    CrimeID           = x.CrimeID,
                    CircuitName       = x.CircuitName,
                }));

                model.tabName            = "#NotSendcases";
                ViewData["SessionEnded"] = false;
                return(CPartialView(model).WithPrefix("Edit"));
                //return RedirectTo(Url.Action("Index")).WithSuccessMessages(JIC.Base.Resources.Messages.OperationCompletedSuccessfully);
            }

            else
            {
                ViewData["SessionEnded"] = true;
                return(CPartialView());
            }
        }
        public ActionResult GetCircuitSessions(int CircuitID)
        {
            SessionsSearchViewModel SessionsSearch = new SessionsSearchViewModel
            {
                Sessions = caseSessionsService.GetCircuitRolls(CircuitID).Select(x =>
                                                                                 new vw_KeyValueLongID()
                {
                    ID   = x.ID,
                    Name = x.Date.ToShortDateString()
                }).OrderBy(z => DateTime.Parse(z.Name)).Where(y => DateTime.Parse(y.Name) > DateTime.Now).ToList()
            };

            return(CPartialView("Sessions", new SessionsSearchViewModel
            {
                Sessions = SessionsSearch.Sessions
            }));
        }
        SessionsSearchViewModel FillLists()
        {
            SessionsSearchViewModel SearchObj = new SessionsSearchViewModel
            {
                CourtID = CurrentUser.CourtID,
                Crimes  = lookupService.GetCrimeTypes(),
                FirstLevelProsecutions  = lookupService.GetIntialProsecutionsByCourtID(CurrentUser.CourtID.Value).ToList(),
                SecondLevelProsecutions = lookupService.GetElementaryProsecutions(CurrentUser.CourtID.Value).ToList(),
                PoliceStations          = lookupService.GetPoliceStationsByCourtID(CurrentUser.CourtID.Value).ToList(),
                Circuits = circuitService.GetCircuitsByCrime((int)Enum_CrimeType.Normal, CurrentUser.CourtID.Value).ToList(),

                MainCrimes        = lookupService.GetLookupsByCategory(Base.LookupsCategories.Crimes),
                CaseStatues       = lookupService.GetLookupsByCategory(Base.LookupsCategories.CaseStatuses),
                DefendantsStautes = lookupService.GetLookupsByCategory(Base.LookupsCategories.PoliceStationDefendantsStatuses),
            };

            return(SearchObj);
        }
        //[ValidateAntiForgeryToken]
        public ActionResult Index(SessionsSearchViewModel model)
        {
            if (CurrentUser != null)
            {
                vw_AddSessionsSearchData sessionsSearchData = new vw_AddSessionsSearchData
                {
                    CaseStatusID             = model.CaseStatusID,
                    CircuitID                = model.CircuitID,
                    CrimeID                  = model.CrimeID,
                    CourtID                  = CurrentUser.CourtID,
                    CrimeType                = model.CrimeType,
                    DefendantStatus          = model.DefendantStatusID,
                    FirstLevelNumber         = model.FirstLevelNumber,
                    FirstLevelProsecutionID  = model.FirstLevelProsecutionID,
                    FirstLevelYear           = model.FirstLevelYear,
                    PoliceStationID          = model.PoliceStationID,
                    SecondLevelNumber        = model.SecondLevelNumber,
                    SecondLevelProsecutionID = model.SecondLevelProsecutionID,
                    SecondLevelYear          = model.SecondLevelYear
                };
                List <vw_AddSessionSearchResult> SearchResult = searchCasesService.AddSessionsSearch(sessionsSearchData);
                model = FillLists();
                model.cases.AddRange(SearchResult.Select(x => new SessionsSearchGridViewModel
                {
                    CaseID            = x.CaseID,
                    CaseStatus        = x.CaseStatus,
                    CrimeType         = x.CrimeType,
                    FirstLevelNumber  = x.FirstLevelNumber,
                    MainCrime         = x.MainCrime,
                    PoliceStation     = x.PoliceStation,
                    SecondLevelNumber = x.SecondLevelNumber
                }));
                return(View(model));
            }

            else
            {
                return(RedirectTo(Url.Action("login", "User", new { returnUrl = "/" })).WithErrorMessages("تم الخروج بشكل تلقائى لعدم التفاعل اكثر من 15 دقيقة"));
            }
        }