47 lines
1.8 KiB
C#
47 lines
1.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Kreta.BusinessLogic.Classes;
|
|
|
|
namespace Kreta.BusinessLogic.HelperClasses
|
|
{
|
|
public class TanuloOsztalyTantargyiAtlagCoComparer : IEqualityComparer<TanuloOsztalyTantargyiAtlagCo>
|
|
{
|
|
public bool Equals(TanuloOsztalyTantargyiAtlagCo lhs, TanuloOsztalyTantargyiAtlagCo rhs) => lhs.TantargyId == rhs.TantargyId;
|
|
|
|
public int GetHashCode(TanuloOsztalyTantargyiAtlagCo obj) => obj.TantargyId.GetHashCode();
|
|
}
|
|
|
|
public class TanuloOsztalyTantargyiAtlagCo
|
|
{
|
|
public bool HasAtlag { get; set; } = true;
|
|
|
|
public int TantargyId { get; set; }
|
|
|
|
public string TantargyNev { get; set; }
|
|
|
|
public List<(int Osztalyzat, int? Suly)> TanuloErtekelesOsztalyzatList { get; set; }
|
|
|
|
public List<(int Osztalyzat, int? Suly)> OsztalyErtekelesOsztalyzatList { get; set; }
|
|
|
|
public double? TanuloAtlag => HasAtlag ? TanuloErtekelesOsztalyzatList.Count > 0 ? TanuloErtekelesOsztalyzatList.WeightedAverage(x => x.Osztalyzat, x => x.Suly ?? 100, 2) : 0.00 : default(double?);
|
|
|
|
public double? OsztalyAtlag => HasAtlag ? OsztalyErtekelesOsztalyzatList.Count > 0 ? OsztalyErtekelesOsztalyzatList.WeightedAverage(x => x.Osztalyzat, x => x.Suly ?? 100, 2) : 0.00 : default(double?);
|
|
|
|
public double? AtlagKulonbseg => HasAtlag ? Math.Round(TanuloAtlag.Value - OsztalyAtlag.Value, 2) : default(double?);
|
|
|
|
//NOTE: A tantárgyak sorrendezéséhez kellenek ezek az adatok!
|
|
public int? FotargyId { get; set; }
|
|
|
|
public string FotargyNev { get; set; }
|
|
|
|
public int? TantargyKategoriaId { get; set; }
|
|
|
|
public string TantargyKategoriaNev { get; set; }
|
|
|
|
public string IsMagatartasSzorgalom { get; set; }
|
|
|
|
public int? FotargyTantargyKategoriaId { get; set; }
|
|
|
|
public string FotargyTantargyKategoriaNev { get; set; }
|
|
}
|
|
}
|