133 lines
5.6 KiB
C#
133 lines
5.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using Kreta.Enums;
|
|
using Kreta.Enums.ManualEnums;
|
|
|
|
namespace Kreta.BusinessLogic.HelperClasses
|
|
{
|
|
public class TanuloErtekelesBaseGridRowCo
|
|
{
|
|
public int RowId { get; set; }
|
|
|
|
public int? TanuloId { get; set; }
|
|
|
|
public int? TantargyId { get; set; }
|
|
|
|
public DateTime FelevVegeDatum { protected get; set; }
|
|
|
|
public bool IsMagatartasSzorgalom { get; set; }
|
|
|
|
public List<TanuloErtekelesGridItemCo> TanuloErtekelesGridItemList { get; set; }
|
|
|
|
public List<TanuloErtekelesGridItemCo> Szeptember => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.September)).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList();
|
|
|
|
public List<TanuloErtekelesGridItemCo> Oktober => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.October)).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList();
|
|
|
|
public List<TanuloErtekelesGridItemCo> November => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.November)).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList();
|
|
|
|
public List<TanuloErtekelesGridItemCo> December => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.December)).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList();
|
|
|
|
public List<TanuloErtekelesGridItemCo> JanuarI => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.January) && x.Datum <= FelevVegeDatum).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList();
|
|
|
|
public TanuloErtekelesGridItemCo I => TanuloErtekelesGridItemList.SingleOrDefault(x => x.TipusId == (int)ErtekelesTipusEnum.felevi_jegy_ertekeles);
|
|
|
|
public List<TanuloErtekelesGridItemCo> JanuarII => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.January) && x.Datum > FelevVegeDatum).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList();
|
|
|
|
public List<TanuloErtekelesGridItemCo> Februar => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.February)).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList();
|
|
|
|
public List<TanuloErtekelesGridItemCo> Marcius => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.March)).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList();
|
|
|
|
public List<TanuloErtekelesGridItemCo> Aprilis => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.April)).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList();
|
|
|
|
public List<TanuloErtekelesGridItemCo> Majus => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.May)).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList();
|
|
|
|
public List<TanuloErtekelesGridItemCo> Junius => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.June)).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList();
|
|
|
|
public TanuloErtekelesGridItemCo II => TanuloErtekelesGridItemList.SingleOrDefault(x => x.TipusId == (int)ErtekelesTipusEnum.evvegi_jegy_ertekeles);
|
|
|
|
public double? Atlag { get; set; }
|
|
|
|
public double? OsztalyAtlag { get; set; }
|
|
|
|
protected bool IsTanuloErtekelesGridItemVisbleByMonth(TanuloErtekelesGridItemCo item, int monthNumber)
|
|
{
|
|
var tipusId = item.TipusId;
|
|
//NOTE: Nem adjuk vissza semmiképp az adott hónap listájának a tanuló értékelést, ha...
|
|
// - évvégi értékelés.
|
|
// - félévi jegy.
|
|
// - nincs benne az adott hónapban.
|
|
if (tipusId == (int)ErtekelesTipusEnum.felevi_jegy_ertekeles ||
|
|
tipusId == (int)ErtekelesTipusEnum.evvegi_jegy_ertekeles ||
|
|
item.Datum.Month != monthNumber)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
}
|
|
|
|
public class TanuloErtekelesGridItemCo
|
|
{
|
|
public int Id { get; set; }
|
|
|
|
public DateTime Datum { get; set; }
|
|
|
|
public DateTime RogzitesDatum { get; set; }
|
|
|
|
public int TipusId { get; set; }
|
|
|
|
public string ErtekeloNyomtatasiNev { get; set; }
|
|
|
|
public bool Modosithato { get; set; }
|
|
|
|
public DateTime Created { get; set; }
|
|
|
|
#region Ertekeles
|
|
|
|
public int? ErtekelesOsztalyzatId { get; set; }
|
|
|
|
public int? ErtekelesOsztalyzat { get; set; }
|
|
|
|
public int? Suly { get; set; }
|
|
|
|
public string ErtekelesSzoveg { get; set; }
|
|
|
|
public string ErtekelesSzovegRovidNev { get; set; }
|
|
|
|
public int? ErtekelesSzazalek { get; set; }
|
|
|
|
public int? ErtekelesModId { get; set; }
|
|
|
|
public string ErtekelesTema { get; set; }
|
|
|
|
public bool? IsTanulmanyiAtlagbaNemSzamit { get; set; }
|
|
|
|
#endregion Ertekeles
|
|
|
|
#region Magatartas
|
|
|
|
public int? MagatartasOsztalyzatId { get; set; }
|
|
|
|
public string MagatartasSzoveg { get; set; }
|
|
|
|
public string MagatartasSzovegRovidNev { get; set; }
|
|
|
|
public int? MagatartasErtekId { get; set; }
|
|
|
|
#endregion Magatartas
|
|
|
|
#region Szorgalom
|
|
|
|
public int? SzorgalomOsztalyzatId { get; set; }
|
|
|
|
public string SzorgalomSzoveg { get; set; }
|
|
|
|
public string SzorgalomSzovegRovidNev { get; set; }
|
|
|
|
public int? SzorgalomErtekId { get; set; }
|
|
|
|
#endregion Szorgalom
|
|
}
|
|
}
|