public IEnumerable<Plan> ListPlans(PlanFilter filter)
 {
     var query = (from Plan p in SPDatabase.DB.Plans
             where (filter.Name != null ? p.Name.Contains(filter.Name) : true)
             && (filter.DepartamentName != null ? string.Compare(filter.DepartamentName, p.Departament.Name, true) == 0 : true)
             && (filter.FacultyName != null ? string.Compare(filter.FacultyName, p.Faculty.Name, true) == 0 : true)
             && (filter.All == true? true : ( p.IsArchiewed == filter.IsArchieved && p.IsMandatory == filter.IsMandatory)) //filter.IsArchieved)// && p.IsMandatory == filter.IsMandatory)
             && ((filter.YearStart > 0 && p.YearStart.HasValue) ? filter.YearStart == p.YearStart.Value.Year : true)
             && ((filter.YearEnd > 0 && p.YearEnd.HasValue) ? filter.YearEnd == p.YearEnd.Value.Year : true )
             && ((filter.SemesterStart > 0 && p.SemesterStart.HasValue) ? filter.SemesterStart == p.SemesterStart.Value : true)
             && ((filter.SemesterEnd > 0 && p.SemesterEnd.HasValue) ? filter.SemesterEnd == p.SemesterEnd.Value : true)
             select p);
     return query;
 }
예제 #2
0
        private void FillWithPlans(PlanFilter filter)
        {
            lstPlan.Items.Clear();

            List<Plan> plans = null;

            if (filter == null)
                plans = PlanController.Instance.ListPlans();
            else
                plans = PlanController.Instance.ListPlans(filter);

            if (plans != null)
                foreach (Plan p in plans)
                    lstPlan.Items.Add(p.Name);
        }
예제 #3
0
        private void btnSetFilter_Click(object sender, EventArgs e)
        {
            PlanFilter filter = new PlanFilter();

            if (tbPlanName.Text == null || tbPlanName.Text.Equals(string.Empty))
                filter.Name = null;
            else
                filter.Name = tbPlanName.Text;

            if (!cbDepartament.SelectedItem.ToString().Equals("Wszystkie"))
            {
                filter.DepartamentName = cbDepartament.SelectedItem.ToString();

                if (!cbFaculty.SelectedItem.ToString().Equals("Wszystkie"))
                    filter.FacultyName = cbFaculty.SelectedItem.ToString();
            }
            else
                filter.FacultyName = filter.DepartamentName = null;

            filter.All = rbAll.ToggleState == Telerik.WinControls.Enumerations.ToggleState.On ? true : false;
            filter.IsArchieved = rbArchived.ToggleState == Telerik.WinControls.Enumerations.ToggleState.On ? true : false;
            filter.IsMandatory = rbMandatory.ToggleState == Telerik.WinControls.Enumerations.ToggleState.On ? true : false;

            filter.YearStart = ckxYearStart.Enabled == true && ckxYearStart.Checked ? Convert.ToInt32(cbYearStart.SelectedItem.ToString()) : 0;
            filter.YearEnd = ckxYearEnd.Enabled == true && ckxYearEnd.Checked ? Convert.ToInt32(cbYearEnd.SelectedItem.ToString()) : 0;

            int semester = 0;

            if (ckxSemStart.Enabled == true && ckxSemStart.Checked)
            {
                int.TryParse(tbSemStart.Text, out semester);
                filter.SemesterStart = semester;
            }

            if (ckxSemEnd.Enabled == true && ckxSemEnd.Checked)
            {
                int.TryParse(tbSemEnd.Text, out semester);
                filter.SemesterEnd = semester;
            }

            if (this.IsArchive)
                FillWithArchive(filter);
            else
                FillWithPlans(filter);
        }
 public List<Plan> ListPlans(PlanFilter filter)
 {
     return this.repository.ListPlans(filter).ToList();
 }