public List<SearchGridViewModel> GetGridData(vw_SearchData SearchObj) { List<SearchGridViewModel> GridList_ = new List<SearchGridViewModel>(); List<SearchResult> GridList = SearchServiceObj.Search(SearchObj); string SessionDate; foreach (SearchResult o in GridList) { if (o.LastSessionDate == null || o.LastSessionDate.Year == 1) { SessionDate = ""; } else { SessionDate = o.LastSessionDate.ToShortDateString(); } GridList_.Add(new SearchGridViewModel { CrimeType = o.CrimeType, CaseID = o.CaseID, FirstNumber = o.FirstLevelNumber, SecondNumber = o.SecondLevelNumber, OverAllNumber = o.OverAllNumber.ToString(), LastSessionDate = SessionDate, LastDecesion = o.LastDecision }); } // GridList_.Add(new SearchGridViewModel { CrimeType = "Crime1", CaseID = 1, FirstNumber ="2", SecondNumber = "3", OverAllNumber = "4", LastSessionDate = "30/12/2017", LastDecesion = "jj" }); return GridList_; }
public List <SearchResult> Search(vw_SearchData SearchObj) { List <SearchResult> VList = new List <SearchResult>(); VList.Add(new SearchResult { FirstLevelNumber = "1", SecondLevelNumber = "2", OverAllNumber = "3", CrimeType = "1", LastSessionDate = new DateTime(2017, 3, 3), LastDecision = "abc" }); VList.Add(new SearchResult { FirstLevelNumber = "1", SecondLevelNumber = "4", OverAllNumber = "3", CrimeType = "2", LastSessionDate = new DateTime(2017, 3, 3), LastDecision = "abc" }); // VList.Add(new vw_SearchData { FirstNumber = 1, SecondNumber = 2, OverAllNumber = 3, CrimeType = 1, SessionDate = new DateTime(2017, 3, 3), JudgeType = 3 }); return(VList); }
public List <SearchResult> Search(vw_SearchData searchData) { return(SearchCaseComponent.Search(searchData)); }
public List <SearchResult> SearchCase(vw_SearchData searchData) { List <SearchResult> result2 = new List <SearchResult>(); string PartyCleanName = null; if (!string.IsNullOrEmpty(searchData.PartyName)) { PartyCleanName = Utilities.RemoveSpecialCharacters(searchData.PartyName); PartyCleanName = PartyCleanName.Replace(" ", string.Empty); } var result = (from MasterCase in this.DataContext.Cases_MasterCase join Cases in this.DataContext.Cases_Cases on MasterCase.ID equals Cases.MasterCaseID join OvelallNumber in this.DataContext.Configurations_OverallNumbers on MasterCase.OverallID equals OvelallNumber.ID join Courts in this.DataContext.Configurations_Courts on Cases.CourtID equals Courts.ID join PoliceStation in this.DataContext.Configurations_PoliceStations on MasterCase.PoliceStationID equals PoliceStation.ID join FirstLevelProsecution in this.DataContext.Configurations_Prosecutions on PoliceStation.ProsecutionID equals FirstLevelProsecution.ID join SecondLevelProsecution in this.DataContext.Configurations_Prosecutions on MasterCase.ProsecutionID equals SecondLevelProsecution.ID join CT in this.DataContext.Cases_CrimeTypes on MasterCase.CrimeType equals CT.ID where ((MasterCase.IsComplete && Cases.IsDeleted != true) && ((Courts.ID == searchData.CourtID && searchData.CourtID.HasValue) || !searchData.CourtID.HasValue) && ((MasterCase.FirstLevelNumber.Contains(searchData.FirstLevelNumber.ToString())) || string.IsNullOrEmpty(searchData.FirstLevelNumber.ToString())) && ((MasterCase.SecondLevelNumber.Contains(searchData.SecondLevelNumber.ToString())) || string.IsNullOrEmpty(searchData.SecondLevelNumber.ToString())) && (((OvelallNumber.InclosiveSierial == searchData.OverAllNumber && searchData.OverAllNumber.HasValue)) || !searchData.OverAllNumber.HasValue) && ((MasterCase.FirstLevelYear == searchData.FirstLevelYear.ToString() && searchData.FirstLevelYear.HasValue) || string.IsNullOrEmpty(searchData.FirstLevelYear.ToString())) && ((MasterCase.SecondLevelYear == searchData.SecondLevelYear.ToString() && searchData.SecondLevelYear.HasValue) || string.IsNullOrEmpty(searchData.SecondLevelYear.ToString())) && ((OvelallNumber.Year == searchData.OverAllNumberYear && searchData.OverAllNumberYear.HasValue) || !searchData.OverAllNumberYear.HasValue) && (((PoliceStation.ProsecutionID == searchData.FirstLevelProsecutionID && searchData.FirstLevelProsecutionID.HasValue)) || !searchData.FirstLevelProsecutionID.HasValue) && ((MasterCase.ProsecutionID == searchData.SecondLevelProsecutionID && searchData.SecondLevelProsecutionID.HasValue) || !searchData.SecondLevelProsecutionID.HasValue) && ((MasterCase.PoliceStationID == searchData.PoliceStationID && searchData.PoliceStationID.HasValue) || !searchData.PoliceStationID.HasValue) && ((OvelallNumber.ProsecutionID == searchData.OverAllNumberProsecution && searchData.OverAllNumberProsecution.HasValue) || !searchData.OverAllNumberProsecution.HasValue) && ((CT.ID == searchData.CrimeType && searchData.CrimeType.HasValue) || !searchData.CrimeType.HasValue) // && ((Cases.CourtConfigurations_Circuits.ID == searchData.CircuitID && searchData.CircuitID.HasValue) || !searchData.CircuitID.HasValue) && ((MasterCase.CrimeType == searchData.CrimeType && searchData.CrimeType.HasValue) || !searchData.CrimeType.HasValue) && ((Cases.CaseStatusID == searchData.JudgeType && searchData.JudgeType.HasValue) || !searchData.JudgeType.HasValue) //&& //(((Cases.Cases_CaseDefendants.Where(defendant => defendant.Configurations_Persons.CleanFullName == PartyCleanName).Any()) || string.IsNullOrEmpty(PartyCleanName)) //|| ((Cases.Cases_CaseVictims.Where(victim => victim.Configurations_Persons.CleanFullName == PartyCleanName).Any()) || string.IsNullOrEmpty(PartyCleanName))) ) select new //SearchResult { CaseID = Cases.ID, FirstLevelNumber = MasterCase.FirstLevelYear + "-" + MasterCase.FirstLevelNumber + "-" + FirstLevelProsecution.Name, SecondLevelNumber = MasterCase.SecondLevelYear + "-" + MasterCase.SecondLevelNumber + "-" + SecondLevelProsecution.Name, OverAllNumber = OvelallNumber.Year + "-" + OvelallNumber.InclosiveSierial + "-" + SecondLevelProsecution.Name, CrimeType = CT.Name, MasterCase = MasterCase.ID, }).ToList(); //var result1 = (from r in result // join sessions in DataContext.Cases_CaseSessions on r.CaseID equals sessions.CaseID // join sessiondecisions in DataContext.Cases_SessionDecision on sessions.ID equals sessiondecisions.CaseSessionID // join rolls in DataContext.CourtConfigurations_CircuitRolls on sessions.RollID equals rolls.ID // select new //SearchResult // { // CaseID = r.CaseID, // FirstLevelNumber = r.FirstLevelNumber, // SecondLevelNumber = r.SecondLevelNumber, // OverAllNumber = r.OverAllNumber, // CrimeType = r.CrimeType, // MasterCase = r.MasterCase, // // LastSessionDate = rolls.SessionDate, // // LastDecision = sessiondecisions.DecisionText, // }).ToList(); //var result3 = (from r in result // join sessions in DataContext.Cases_CaseSessions on r.CaseID equals sessions.CaseID // // join sessiondecisions in DataContext.Cases_SessionDecision on sessions.ID equals sessiondecisions.CaseSessionID // join rolls in DataContext.CourtConfigurations_CircuitRolls on sessions.RollID equals rolls.ID // select new //SearchResult // { // CaseID = r.CaseID, // FirstLevelNumber = r.FirstLevelNumber, // SecondLevelNumber = r.SecondLevelNumber, // OverAllNumber = r.OverAllNumber, // CrimeType = r.CrimeType, // MasterCase = r.MasterCase, // // LastSessionDate = rolls.SessionDate, // // LastDecision = "", // }).ToList(); //if (result1.Count() != 0) // { // for (int i = result1.Count; i < result.Count(); i++) // { // result1.Add(result[i]); // } // result = result1; // } // else if (result3.Count() != 0) // { // for (int i = result3.Count; i < result.Count(); i++) // { // result3.Add(result[i]); // } // result = result3; // } if (searchData.JudgeDate != null) { result = (from r in result join sessions in DataContext.Cases_CaseSessions on r.CaseID equals sessions.CaseID join sessiondecisions in DataContext.Cases_SessionDecision on sessions.ID equals sessiondecisions.CaseSessionID join rolls in DataContext.CourtConfigurations_CircuitRolls on sessions.RollID equals rolls.ID where ((rolls.SessionDate == searchData.JudgeDate && searchData.JudgeDate.HasValue) || !searchData.JudgeDate.HasValue) select new //SearchResult { CaseID = r.CaseID, FirstLevelNumber = r.FirstLevelNumber, SecondLevelNumber = r.SecondLevelNumber, OverAllNumber = r.OverAllNumber, CrimeType = r.CrimeType, MasterCase = r.MasterCase, // LastSessionDate = rolls.SessionDate, // LastDecision = sessiondecisions.DecisionText, }).Distinct().ToList(); } ////// party type filter //////// if (searchData.PartyType == (int)PartyTypes.Defendant && !string.IsNullOrEmpty(PartyCleanName)) { result = (from r in result join defendant in DataContext.Cases_CaseDefendants on r.CaseID equals defendant.CaseID join persons in DataContext.Configurations_Persons on defendant.PersonID equals persons.ID where (persons.CleanFullName.Contains(PartyCleanName)) select new //SearchResult { CaseID = r.CaseID, FirstLevelNumber = r.FirstLevelNumber, SecondLevelNumber = r.SecondLevelNumber, OverAllNumber = r.OverAllNumber, CrimeType = r.CrimeType, MasterCase = r.MasterCase, // LastSessionDate = r.LastSessionDate, // LastDecision = r.LastDecision, }).Distinct().ToList(); } else if (searchData.PartyType == (int)PartyTypes.Victim && !string.IsNullOrEmpty(PartyCleanName)) { result = (from r in result join victim in DataContext.Cases_CaseVictims on r.CaseID equals victim.CaseID join persons in DataContext.Configurations_Persons on victim.PersonID equals persons.ID where (persons.CleanFullName.Contains(PartyCleanName)) select new //SearchResult { CaseID = r.CaseID, FirstLevelNumber = r.FirstLevelNumber, SecondLevelNumber = r.SecondLevelNumber, OverAllNumber = r.OverAllNumber, CrimeType = r.CrimeType, MasterCase = r.MasterCase , // LastSessionDate = r.LastSessionDate, // LastDecision = r.LastDecision, }).Distinct().ToList(); } else if (searchData.PartyType == (int)PartyTypes.VictimAndDefendant && !string.IsNullOrEmpty(PartyCleanName)) { result = (from r in result join victim in DataContext.Cases_CaseVictims on r.CaseID equals victim.CaseID join defendant in DataContext.Cases_CaseDefendants on r.CaseID equals defendant.CaseID join victimperson in DataContext.Configurations_Persons on victim.PersonID equals victimperson.ID join defendantperson in DataContext.Configurations_Persons on defendant.PersonID equals defendantperson.ID where (victimperson.CleanFullName == PartyCleanName && defendantperson.CleanFullName == PartyCleanName || string.IsNullOrEmpty(PartyCleanName)) select new //SearchResult { CaseID = r.CaseID, FirstLevelNumber = r.FirstLevelNumber, SecondLevelNumber = r.SecondLevelNumber, OverAllNumber = r.OverAllNumber, CrimeType = r.CrimeType, MasterCase = r.MasterCase, // LastSessionDate = r.LastSessionDate, // LastDecision = r.LastDecision, }).Distinct().ToList(); } else if (!string.IsNullOrEmpty(PartyCleanName)) { result = (from r in result join victim in DataContext.Cases_CaseVictims on r.CaseID equals victim.CaseID join defendant in DataContext.Cases_CaseDefendants on r.CaseID equals defendant.CaseID join victimperson in DataContext.Configurations_Persons on victim.PersonID equals victimperson.ID join defendantperson in DataContext.Configurations_Persons on defendant.PersonID equals defendantperson.ID where (victimperson.CleanFullName.Contains(PartyCleanName) || defendantperson.CleanFullName.Contains(PartyCleanName) || string.IsNullOrEmpty(PartyCleanName)) select new //SearchResult { CaseID = r.CaseID, FirstLevelNumber = r.FirstLevelNumber, SecondLevelNumber = r.SecondLevelNumber, OverAllNumber = r.OverAllNumber, CrimeType = r.CrimeType, MasterCase = r.MasterCase, // LastSessionDate = r.LastSessionDate, // LastDecision = r.LastDecision, }).Distinct().ToList(); } ////// obtainments filter //////// if (searchData.HasObtainment == ObtainmentStatus.HasObtainment) { result = (from r in result join master in DataContext.Cases_MasterCase on r.MasterCase equals master.ID where (master.HasObtainments) select new //SearchResult { CaseID = r.CaseID, FirstLevelNumber = r.FirstLevelNumber, SecondLevelNumber = r.SecondLevelNumber, OverAllNumber = r.OverAllNumber, CrimeType = r.CrimeType, MasterCase = master.ID, // LastSessionDate = r.LastSessionDate, // LastDecision = r.LastDecision, }).Distinct().ToList(); } else if (searchData.HasObtainment == ObtainmentStatus.NotHasObtainment) { result = (from r in result join master in DataContext.Cases_MasterCase on r.MasterCase equals master.ID where !(master.HasObtainments) select new //SearchResult { CaseID = r.CaseID, FirstLevelNumber = r.FirstLevelNumber, SecondLevelNumber = r.SecondLevelNumber, OverAllNumber = r.OverAllNumber, CrimeType = r.CrimeType, MasterCase = master.ID, // LastSessionDate = r.LastSessionDate, // LastDecision = r.LastDecision, }).Distinct().ToList(); } ////// session dates type filter //////// if (result != null || result.Count > 0) { switch (searchData.SessionDateType) { case SessionSearchMode.All: if (searchData.SessionDate != null) { result2 = (from r in result join sessions in DataContext.Cases_CaseSessions on r.CaseID equals sessions.CaseID //join sessiondecisions in DataContext.Cases_SessionDecision on sessions.ID equals sessiondecisions.CaseSessionID join rolls in DataContext.CourtConfigurations_CircuitRolls on sessions.RollID equals rolls.ID where ( ((rolls.SessionDate == searchData.SessionDate && searchData.SessionDate.HasValue) || !searchData.SessionDate.HasValue) || ((rolls.CircuitID == searchData.CircuitID && searchData.CircuitID.HasValue) || !searchData.CircuitID.HasValue) ) select new SearchResult { CaseID = r.CaseID, FirstLevelNumber = r.FirstLevelNumber, SecondLevelNumber = r.SecondLevelNumber, OverAllNumber = r.OverAllNumber, CrimeType = r.CrimeType, MasterCase = r.MasterCase, LastSessionDate = rolls.SessionDate, LastDecision = "" //sessiondecisions.DecisionText }).Distinct().ToList(); } else if (searchData.CircuitID.HasValue) { result2 = (from r in result join sessions in DataContext.Cases_CaseSessions on r.CaseID equals sessions.CaseID //join sessiondecisions in DataContext.Cases_SessionDecision on sessions.ID equals sessiondecisions.CaseSessionID join rolls in DataContext.CourtConfigurations_CircuitRolls on sessions.RollID equals rolls.ID where ((rolls.CircuitID == searchData.CircuitID && searchData.CircuitID.HasValue) || !searchData.CircuitID.HasValue) select new SearchResult { CaseID = r.CaseID, FirstLevelNumber = r.FirstLevelNumber, SecondLevelNumber = r.SecondLevelNumber, OverAllNumber = r.OverAllNumber, CrimeType = r.CrimeType, MasterCase = r.MasterCase, LastSessionDate = rolls.SessionDate, LastDecision = "" //sessiondecisions.DecisionText }).Distinct().ToList(); } else { result2 = result.Select(r => new SearchResult { CaseID = r.CaseID, FirstLevelNumber = r.FirstLevelNumber, SecondLevelNumber = r.SecondLevelNumber, OverAllNumber = r.OverAllNumber, CrimeType = r.CrimeType }).Distinct().ToList(); } return(result2); case SessionSearchMode.NotReservedSession: result2 = (from res in result where !(from r in result join sessions in DataContext.Cases_CaseSessions on r.CaseID equals sessions.CaseID join rolls in DataContext.CourtConfigurations_CircuitRolls on sessions.RollID equals rolls.ID select r.CaseID).ToList().Contains(res.CaseID) select new SearchResult { CaseID = res.CaseID, FirstLevelNumber = res.FirstLevelNumber, SecondLevelNumber = res.SecondLevelNumber, OverAllNumber = res.OverAllNumber, CrimeType = res.CrimeType }).Distinct().ToList(); return(result2); case SessionSearchMode.LastSessionDate: SearchResult element = (from r in result join sessions in DataContext.Cases_CaseSessions on r.CaseID equals sessions.CaseID //join sessiondecisions in DataContext.Cases_SessionDecision on sessions.ID equals sessiondecisions.CaseSessionID join rolls in DataContext.CourtConfigurations_CircuitRolls on sessions.RollID equals rolls.ID select new SearchResult { CaseID = r.CaseID, FirstLevelNumber = r.FirstLevelNumber, SecondLevelNumber = r.SecondLevelNumber, OverAllNumber = r.OverAllNumber, CrimeType = r.CrimeType, LastSessionDate = rolls.SessionDate, LastDecision = "" //sessiondecisions.DecisionText }).OrderByDescending(x => x.LastSessionDate).FirstOrDefault(); result2.Add(element); return(result2); case SessionSearchMode.NextSessionDate: result2 = (from r in result join sessions in DataContext.Cases_CaseSessions on r.CaseID equals sessions.CaseID join rolls in DataContext.CourtConfigurations_CircuitRolls on sessions.RollID equals rolls.ID where rolls.SessionDate > DateTime.Now select new SearchResult { CaseID = r.CaseID, FirstLevelNumber = r.FirstLevelNumber, SecondLevelNumber = r.SecondLevelNumber, OverAllNumber = r.OverAllNumber, CrimeType = r.CrimeType, LastSessionDate = rolls.SessionDate }).Distinct().ToList(); return(result2); default: break; } return(result2); } else { return(null); } }
public List <SearchResult> Search(vw_SearchData searchData) { return(SearchCaseRepository.SearchCase(searchData)); }
public ActionResult SearchGrid(int CourtID, int? FirstYear, int? FirstNumber, int? FirstLevelProsecutionID, int? SecondYear, int? SecondNumber, int? SecondLevelProsecutionID, int? PartyType, string PartyName, int? JudgeType, string JudgeDate, int? CircuitID, int? CrimeType, int? OverAllNumber, int? OverAllNumberYear, int? OverAllNumberProsecution, string SessionDate, SessionSearchMode? SessionDateType, int? PoliceStationID, ObtainmentStatus? HasObtainment) { if (CurrentUser != null) { ViewData["SessionEnded"] = false; //if (this.CurrentUser.CourtID != null) //{ CourtID = (int)this.CurrentUser.CourtID; } vw_SearchData SearchDataObject = new vw_SearchData(); List<SearchGridViewModel> GridList = new List<SearchGridViewModel>(); SearchDataObject.CircuitID = CircuitID; SearchDataObject.CourtID = CourtID;// (int)this.CurrentUser.CourtID; // ToDo: take court value from user session if (JudgeType == null) { SearchDataObject.JudgeType = JudgeType; } else { SearchDataObject.JudgeType = (int)JudgeType; } if (SessionDate == null || SessionDate == "") { SearchDataObject.SessionDate = null; } else { SearchDataObject.SessionDate = Convert.ToDateTime(SessionDate); } if (JudgeDate == null || JudgeDate == "") { SearchDataObject.JudgeDate = null; } else { SearchDataObject.JudgeDate = Convert.ToDateTime(JudgeDate); } SearchDataObject.CrimeType = CrimeType; if (SessionDateType == null) { SearchDataObject.SessionDateType = 0; } else { SearchDataObject.SessionDateType = SessionDateType; } // SearchDataObject.SessionDateType = SessionDateType; SearchDataObject.FirstLevelNumber = FirstNumber; SearchDataObject.FirstLevelYear = FirstYear; SearchDataObject.HasObtainment = HasObtainment; SearchDataObject.PoliceStationID = PoliceStationID; SearchDataObject.SecondLevelProsecutionID = SecondLevelProsecutionID; SearchDataObject.SecondLevelNumber = SecondNumber; SearchDataObject.SecondLevelYear = SecondYear; SearchDataObject.FirstLevelProsecutionID = FirstLevelProsecutionID; SearchDataObject.OverAllNumber = OverAllNumber; SearchDataObject.OverAllNumberYear = OverAllNumberYear; SearchDataObject.OverAllNumberProsecution = OverAllNumberProsecution; SearchDataObject.PartyName = PartyName; SearchDataObject.PartyType = PartyType; GridList = GetGridData(SearchDataObject); if (GridList != null) { ViewData["Count"] = GridList.Count; } else { ViewData["Count"] = 0; } ViewData["UserID"] = CurrentUser.UserTypeID; if (CurrentUser.UserTypeID == (int)SystemUserTypes.ElementaryCourtAdministrator) { ViewData["showDelete"] = true; } else { ViewData["showDelete"] = false; } if (CurrentUser.UserTypeID == (int)SystemUserTypes.schedualEmployee || CurrentUser.UserTypeID == (int)SystemUserTypes.ElementaryCourtAdministrator) { ViewData["showEdit"] = true; } else { ViewData["showEdit"] = false; } return PartialView("SearchGrid", GridList); } else { ViewData["SessionEnded"] = true; return PartialView(); } }