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 TanuloErtekelesGridItemList { get; set; } public List Szeptember => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.September)).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList(); public List Oktober => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.October)).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList(); public List November => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.November)).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList(); public List December => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.December)).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList(); public List 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 JanuarII => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.January) && x.Datum > FelevVegeDatum).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList(); public List Februar => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.February)).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList(); public List Marcius => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.March)).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList(); public List Aprilis => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.April)).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList(); public List Majus => TanuloErtekelesGridItemList.Where(x => IsTanuloErtekelesGridItemVisbleByMonth(x, (int)MonthEnum.May)).OrderBy(x => x.Datum).ThenBy(x => x.RogzitesDatum).ToList(); public List 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 } }