Compare commits
7 Commits
92cfe7ad61
...
d36d38e353
Author | SHA1 | Date | |
---|---|---|---|
|
d36d38e353 | ||
|
4379b3a531 | ||
|
c863490d68 | ||
|
a15ead57dd | ||
|
59e6a1418f | ||
|
e3ec7c8acd | ||
|
dadcc5b61a |
@ -13,8 +13,6 @@ namespace UniversityDatabaseImplement.Implements
|
||||
{
|
||||
using var context = new UniversityDatabase();
|
||||
return context.Statements
|
||||
.Include(x => x.StatementStudents)
|
||||
.ThenInclude(x => x.Student)
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
@ -22,8 +20,6 @@ namespace UniversityDatabaseImplement.Implements
|
||||
{
|
||||
using var context = new UniversityDatabase();
|
||||
return context.Statements
|
||||
.Include(x => x.StatementStudents)
|
||||
.ThenInclude(x => x.Student)
|
||||
.Where(x => (
|
||||
(!model.Id.HasValue || x.Id == model.Id)
|
||||
)
|
||||
@ -39,8 +35,6 @@ namespace UniversityDatabaseImplement.Implements
|
||||
}
|
||||
using var context = new UniversityDatabase();
|
||||
return context.Statements
|
||||
.Include(x => x.StatementStudents)
|
||||
.ThenInclude(x => x.Student)
|
||||
.FirstOrDefault(x => (model.Id.HasValue && x.Id == model.Id))?.GetViewModel;
|
||||
}
|
||||
public StatementViewModel? Insert(StatementBindingModel model)
|
||||
|
@ -15,6 +15,8 @@ namespace UniversityDatabaseImplement.Implements
|
||||
return context.Students
|
||||
.Include(x => x.StudentExaminationResults)
|
||||
.ThenInclude(x => x.ExaminationResult)
|
||||
.Include(x => x.StatementStudents)
|
||||
.ThenInclude(x => x.Statement)
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
@ -24,6 +26,8 @@ namespace UniversityDatabaseImplement.Implements
|
||||
return context.Students
|
||||
.Include(x => x.StudentExaminationResults)
|
||||
.ThenInclude(x => x.ExaminationResult)
|
||||
.Include(x => x.StatementStudents)
|
||||
.ThenInclude(x => x.Statement)
|
||||
.Where(x => (
|
||||
(!model.Id.HasValue || x.Id == model.Id) &&
|
||||
(string.IsNullOrEmpty(model.Name) || x.Name.Contains(model.Name))
|
||||
@ -42,6 +46,8 @@ namespace UniversityDatabaseImplement.Implements
|
||||
return context.Students
|
||||
.Include(x => x.StudentExaminationResults)
|
||||
.ThenInclude(x => x.ExaminationResult)
|
||||
.Include(x => x.StatementStudents)
|
||||
.ThenInclude(x => x.Statement)
|
||||
.FirstOrDefault(x => (!string.IsNullOrEmpty(model.Name) && x.Name== model.Name) ||
|
||||
(model.Id.HasValue && x.Id == model.Id))?.GetViewModel;
|
||||
}
|
||||
|
@ -17,20 +17,6 @@ namespace UniversityDatabaseImplement.Models
|
||||
public virtual List<StatementStudent> StatementStudents { get; set; } = new();
|
||||
[ForeignKey("StatementId")]
|
||||
public virtual List<ExaminationResult> ExaminationResults { get; set; } = new();
|
||||
private Dictionary<int, IStudentModel>? _students = null;
|
||||
public Dictionary<int, IStudentModel> Students
|
||||
{
|
||||
get
|
||||
{
|
||||
if(_students == null)
|
||||
{
|
||||
_students = StatementStudents.ToDictionary(
|
||||
x => x.Student.Id, x => x.Student as IStudentModel);
|
||||
}
|
||||
|
||||
return _students;
|
||||
}
|
||||
}
|
||||
public static Statement Create(StatementBindingModel model)
|
||||
{
|
||||
return new Statement
|
||||
@ -54,7 +40,6 @@ namespace UniversityDatabaseImplement.Models
|
||||
Id = Id,
|
||||
Date = Date,
|
||||
HoursCount = HoursCount,
|
||||
Students = Students
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -31,6 +31,22 @@ namespace UniversityDatabaseImplement.Models
|
||||
return _results;
|
||||
}
|
||||
}
|
||||
|
||||
private Dictionary<int, IStatementModel>? _statements;
|
||||
[NotMapped]
|
||||
public Dictionary<int, IStatementModel> Statements
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_statements == null)
|
||||
{
|
||||
_statements = StatementStudents.ToDictionary(
|
||||
x => x.Statement.Id, x => x.Statement as IStatementModel);
|
||||
}
|
||||
|
||||
return _statements;
|
||||
}
|
||||
}
|
||||
public static Student Create(StudentBindingModel model)
|
||||
{
|
||||
return new Student
|
||||
@ -54,7 +70,8 @@ namespace UniversityDatabaseImplement.Models
|
||||
Id = Id,
|
||||
Name = Name,
|
||||
RecordCardNumber = RecordCardNumber,
|
||||
Results = Results
|
||||
Results = Results,
|
||||
Statements = Statements
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -7,5 +7,6 @@ namespace UniversityContracts.BindingModels
|
||||
public int Id { get; set; }
|
||||
public string Name { get; set; } = String.Empty;
|
||||
public string Department { get; set; } = String.Empty;
|
||||
public int StatementId { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,12 @@
|
||||
using UniversityContracts.ViewModels;
|
||||
|
||||
namespace UniversityContracts.BindingModels
|
||||
{
|
||||
public class ReportBindingModel
|
||||
{
|
||||
public string? FileName { get; set; } = string.Empty;
|
||||
public DateTime? From { get; set; }
|
||||
public DateTime? To { get; set; }
|
||||
public List<StudentViewModel> Students { get; set; } = new();
|
||||
}
|
||||
}
|
@ -7,6 +7,5 @@ namespace UniversityContracts.BindingModels
|
||||
public int Id { get; set; }
|
||||
public DateTime Date { get; set; } = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc);
|
||||
public int HoursCount { get; set; }
|
||||
public Dictionary<int, IStudentModel> Students { get; set; } = new();
|
||||
}
|
||||
}
|
||||
|
@ -8,5 +8,6 @@ namespace UniversityContracts.BindingModels
|
||||
public string Name { get; set; } = String.Empty;
|
||||
public string RecordCardNumber { get; set; } = String.Empty;
|
||||
public Dictionary<int, IExaminationResultModel> Results { get; set; } = new();
|
||||
public Dictionary<int, IStatementModel> Statements { get; set; } = new();
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,10 @@
|
||||
using UniversityContracts.BindingModels;
|
||||
using UniversityContracts.ViewModels;
|
||||
|
||||
namespace UniversityContracts.BuisnessLogicContracts
|
||||
{
|
||||
public interface IReportLogic
|
||||
{
|
||||
List<ReportStudentDisciplineViewModel> GetStudentDiscipline(ReportBindingModel model);
|
||||
}
|
||||
}
|
@ -7,5 +7,6 @@ namespace UniversityContracts.ViewModels
|
||||
public int Id { get; set; }
|
||||
public string Name { get; set; } = String.Empty;
|
||||
public string Department { get; set; } = String.Empty;
|
||||
public int StatementId { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,8 @@
|
||||
namespace UniversityContracts.ViewModels
|
||||
{
|
||||
public class ReportStudentDisciplineViewModel
|
||||
{
|
||||
public string StudentName { get; set; } = string.Empty;
|
||||
public List<string> Disciplines { get; set; } = new();
|
||||
}
|
||||
}
|
@ -7,6 +7,5 @@ namespace UniversityContracts.ViewModels
|
||||
public int Id { get; set; }
|
||||
public DateTime Date { get; set; } = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc);
|
||||
public int HoursCount { get; set; }
|
||||
public Dictionary<int, IStudentModel> Students { get; set; } = new();
|
||||
}
|
||||
}
|
||||
|
@ -8,5 +8,6 @@ namespace UniversityContracts.ViewModels
|
||||
public string Name { get; set; } = String.Empty;
|
||||
public string RecordCardNumber { get; set; } = String.Empty;
|
||||
public Dictionary<int, IExaminationResultModel> Results { get; set; } = new();
|
||||
public Dictionary<int, IStatementModel> Statements { get; set; } = new();
|
||||
}
|
||||
}
|
||||
|
@ -4,5 +4,6 @@
|
||||
{
|
||||
String Name { get; }
|
||||
String Department { get; }
|
||||
int StatementId { get; }
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,5 @@
|
||||
{
|
||||
DateTime Date { get; }
|
||||
int HoursCount { get; }
|
||||
Dictionary<int, IStudentModel> Students { get; }
|
||||
}
|
||||
}
|
||||
|
@ -5,5 +5,6 @@
|
||||
String Name { get; }
|
||||
String RecordCardNumber { get; }
|
||||
Dictionary<int, IExaminationResultModel> Results { get; }
|
||||
Dictionary<int, IStatementModel> Statements { get; }
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user