62 lines
2.1 KiB
C#
62 lines
2.1 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel.DataAnnotations;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
using UniversityContracts.BindingModels;
|
||
using UniversityContracts.ViewModels;
|
||
using UniversityDataModels.Enums;
|
||
using UniversityDataModels.Models;
|
||
using static System.Formats.Asn1.AsnWriter;
|
||
|
||
namespace UniversityDatabaseImplement.Models
|
||
{
|
||
public class Attestation : IAttestationModel
|
||
{
|
||
public int Id { get; private set; }
|
||
public int UserId { get; private set; }
|
||
public int StudentId { get; private set; }
|
||
[Required]
|
||
public string FormOfEvaluation { get; private set; } = string.Empty;
|
||
[Required]
|
||
public AttestationScore Score { get; private set; } = AttestationScore.Неявка;
|
||
public virtual Student Student { get; set; } = new();
|
||
public virtual User User { get; set; } = new();
|
||
public static Attestation? Create(UniversityDatabase context, AttestationBindingModel model)
|
||
{
|
||
if (model == null)
|
||
{
|
||
return null;
|
||
}
|
||
return new Attestation()
|
||
{
|
||
Id = model.Id,
|
||
UserId = model.UserId,
|
||
User = context.Users.First(x => x.Id == model.UserId),
|
||
StudentId = model.StudentId,
|
||
Student = context.Students.First(x => x.Id == model.StudentId),
|
||
FormOfEvaluation = model.FormOfEvaluation,
|
||
Score = model.Score
|
||
};
|
||
}
|
||
public void Update(AttestationBindingModel model)
|
||
{
|
||
if (model == null)
|
||
{
|
||
return;
|
||
}
|
||
StudentId = model.StudentId;
|
||
FormOfEvaluation = model.FormOfEvaluation;
|
||
Score = model.Score;
|
||
}
|
||
public AttestationViewModel GetViewModel => new()
|
||
{
|
||
Id = Id,
|
||
StudentId = StudentId,
|
||
FormOfEvaluation = FormOfEvaluation,
|
||
Score = Score
|
||
};
|
||
}
|
||
}
|