Написана (почти) бизнес логика для Поставщик. Нужна логика для отчетов
This commit is contained in:
parent
f5c1abd6ed
commit
13ed86ece8
101
UniversityBusinessLogic/BusinessLogics/DocumentLogic.cs
Normal file
101
UniversityBusinessLogic/BusinessLogics/DocumentLogic.cs
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using UniversityContracts.BindingModels;
|
||||||
|
using UniversityContracts.BusinessLogicContracts;
|
||||||
|
using UniversityContracts.SearchModels;
|
||||||
|
using UniversityContracts.StoragesContracts;
|
||||||
|
using UniversityContracts.ViewModels;
|
||||||
|
|
||||||
|
namespace UniversityBusinessLogic.BusinessLogics
|
||||||
|
{
|
||||||
|
public class DocumentLogic : IDocumentLogic
|
||||||
|
{
|
||||||
|
private readonly IDocumentStorage _documentStorage;
|
||||||
|
|
||||||
|
public DocumentLogic(IDocumentStorage documentStorage)
|
||||||
|
{
|
||||||
|
_documentStorage = documentStorage;
|
||||||
|
}
|
||||||
|
public bool Create(DocumentBindingModel model)
|
||||||
|
{
|
||||||
|
CheckModel(model);
|
||||||
|
if(_documentStorage.Insert(model) == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public bool Update(DocumentBindingModel model)
|
||||||
|
{
|
||||||
|
CheckModel(model, false);
|
||||||
|
if (_documentStorage.Update(model) == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public bool Delete(DocumentBindingModel model)
|
||||||
|
{
|
||||||
|
CheckModel(model, false);
|
||||||
|
if (_documentStorage.Delete(model) == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public DocumentViewModel? ReadElement(DocumentSearchModel model)
|
||||||
|
{
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException(nameof(model));
|
||||||
|
}
|
||||||
|
var document = _documentStorage.GetElement(model);
|
||||||
|
if (document == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return document;
|
||||||
|
}
|
||||||
|
public List<DocumentViewModel>? ReadList(DocumentSearchModel? model)
|
||||||
|
{
|
||||||
|
var list = model == null ? _documentStorage.GetFullList() : _documentStorage.GetFilteredList(model);
|
||||||
|
if (list == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CheckModel(DocumentBindingModel model, bool withParams = true)
|
||||||
|
{
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException(nameof(model));
|
||||||
|
}
|
||||||
|
if (!withParams)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (string.IsNullOrEmpty(model.Name))
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException("Нет названия документа", nameof(model.Name));
|
||||||
|
}
|
||||||
|
if (model.Date > DateTime.Now)
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException("Неверно указана дата", nameof(model.Name));
|
||||||
|
}
|
||||||
|
|
||||||
|
var document = _documentStorage.GetElement(new DocumentSearchModel
|
||||||
|
{
|
||||||
|
Name = model.Name,
|
||||||
|
});
|
||||||
|
if (document != null && document.Id != model.Id)
|
||||||
|
{
|
||||||
|
throw new InvalidOperationException("Приказ с таким названием уже есть");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,99 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using UniversityContracts.BindingModels;
|
||||||
|
using UniversityContracts.BusinessLogicContracts;
|
||||||
|
using UniversityContracts.SearchModels;
|
||||||
|
using UniversityContracts.StoragesContracts;
|
||||||
|
using UniversityContracts.ViewModels;
|
||||||
|
|
||||||
|
namespace UniversityBusinessLogic.BusinessLogics
|
||||||
|
{
|
||||||
|
public class EducationStatusLogic : IEducationStatusLogic
|
||||||
|
{
|
||||||
|
private readonly IEducationStatusStorage _esStorage;
|
||||||
|
|
||||||
|
public EducationStatusLogic(IEducationStatusStorage cardStorage)
|
||||||
|
{
|
||||||
|
_esStorage = cardStorage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool Create(EducationStatusBindingModel model)
|
||||||
|
{
|
||||||
|
CheckModel(model);
|
||||||
|
if (_esStorage.Insert(model) == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public bool Update(EducationStatusBindingModel model)
|
||||||
|
{
|
||||||
|
CheckModel(model);
|
||||||
|
if (_esStorage.Update(model) == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public bool Delete(EducationStatusBindingModel model)
|
||||||
|
{
|
||||||
|
CheckModel(model, false);
|
||||||
|
if (_esStorage.Delete(model) == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public EducationStatusViewModel? ReadElement(EducationStatusSearchModel model)
|
||||||
|
{
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException(nameof(model));
|
||||||
|
}
|
||||||
|
var es = _esStorage.GetElement(model);
|
||||||
|
if (es == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return es;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<EducationStatusViewModel>? ReadList(EducationStatusSearchModel? model)
|
||||||
|
{
|
||||||
|
var list = model == null ? _esStorage.GetFullList() : _esStorage.GetFilteredList(model);
|
||||||
|
if (list == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CheckModel(EducationStatusBindingModel model, bool withParams = true)
|
||||||
|
{
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException(nameof(model));
|
||||||
|
}
|
||||||
|
if (!withParams)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (string.IsNullOrEmpty(model.Name))
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException("Нет названия статуса обучения", nameof(model.Name));
|
||||||
|
}
|
||||||
|
|
||||||
|
var es = _esStorage.GetElement(new EducationStatusSearchModel
|
||||||
|
{
|
||||||
|
Name = model.Name,
|
||||||
|
});
|
||||||
|
if (es != null && es.Id != model.Id)
|
||||||
|
{
|
||||||
|
throw new InvalidOperationException("Статус с таким названием уже есть");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,42 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using UniversityContracts.BindingModels;
|
||||||
|
using UniversityContracts.BusinessLogicContracts;
|
||||||
|
using UniversityContracts.ViewModels;
|
||||||
|
using UniversityContracts.SearchModels;
|
||||||
|
using UniversityContracts.StoragesContracts;
|
||||||
|
|
||||||
|
namespace UniversityBusinessLogic.BusinessLogics
|
||||||
|
{
|
||||||
|
public class ReportProviderLogic : IReportProviderLogic
|
||||||
|
{
|
||||||
|
private readonly IDocumentStorage _documentStorage;
|
||||||
|
|
||||||
|
public List<ReportStudentsDisciplineViewModel> GetStudentsDiscipline()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
public List<ReportStreamStudentEdStatPeriodViewModel> StreamStudentEdStatPeriod(ReportBindingModel model)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SaveBlanksToWordFile(ReportBindingModel model)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SaveDocumentBlankToExcelFile(ReportBindingModel model)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SaveOrdersToPdfFile(ReportBindingModel model)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
103
UniversityBusinessLogic/BusinessLogics/StudentLogic.cs
Normal file
103
UniversityBusinessLogic/BusinessLogics/StudentLogic.cs
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using UniversityContracts.BindingModels;
|
||||||
|
using UniversityContracts.BusinessLogicContracts;
|
||||||
|
using UniversityContracts.SearchModels;
|
||||||
|
using UniversityContracts.StoragesContracts;
|
||||||
|
using UniversityContracts.ViewModels;
|
||||||
|
|
||||||
|
namespace UniversityBusinessLogic.BusinessLogics
|
||||||
|
{
|
||||||
|
public class StudentLogic : IStudentLogic
|
||||||
|
{
|
||||||
|
private readonly IStudentStorage _studentStorage;
|
||||||
|
|
||||||
|
public StudentLogic(IStudentStorage studentStorage)
|
||||||
|
{
|
||||||
|
_studentStorage = studentStorage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool Create(StudentBindingModel model)
|
||||||
|
{
|
||||||
|
CheckModel(model);
|
||||||
|
if (_studentStorage.Insert(model) == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public bool Update(StudentBindingModel model)
|
||||||
|
{
|
||||||
|
CheckModel(model, false);
|
||||||
|
if (_studentStorage.Update(model) == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public bool Delete(StudentBindingModel model)
|
||||||
|
{
|
||||||
|
CheckModel(model, false);
|
||||||
|
if (_studentStorage.Delete(model) == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public StudentViewModel? ReadElement(StudentSearchModel model)
|
||||||
|
{
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException(nameof(model));
|
||||||
|
}
|
||||||
|
var student = _studentStorage.GetElement(model);
|
||||||
|
if (student == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return student;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<StudentViewModel>? ReadList(StudentSearchModel? model)
|
||||||
|
{
|
||||||
|
var list = model == null ? _studentStorage.GetFullList() : _studentStorage.GetFilteredList(model);
|
||||||
|
if (list == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CheckModel(StudentBindingModel model, bool withParams = true)
|
||||||
|
{
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException(nameof(model));
|
||||||
|
}
|
||||||
|
if (!withParams)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (string.IsNullOrEmpty(model.Name))
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException("Нет названия документа", nameof(model.Name));
|
||||||
|
}
|
||||||
|
if (model.StudentCard <= 0)
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException("Неверно указан номер студенческого билета", nameof(model.Name));
|
||||||
|
}
|
||||||
|
|
||||||
|
var student = _studentStorage.GetElement(new StudentSearchModel
|
||||||
|
{
|
||||||
|
StudentCard = model.StudentCard,
|
||||||
|
});
|
||||||
|
if (student != null && student.Id != model.Id)
|
||||||
|
{
|
||||||
|
throw new InvalidOperationException("Приказ с таким названием уже есть");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +0,0 @@
|
|||||||
namespace UniversityBusinessLogic;
|
|
||||||
public class Class1
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
@ -0,0 +1,12 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace UniversityBusinessLogic.OfficePackage
|
||||||
|
{
|
||||||
|
public abstract class AbstractSaveToExcelProvider
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace UniversityBusinessLogic.OfficePackage
|
||||||
|
{
|
||||||
|
public abstract class AbstractSaveToPdfProvider
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace UniversityBusinessLogic.OfficePackage
|
||||||
|
{
|
||||||
|
public abstract class AbstractSaveToWordProvider
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
@ -6,4 +6,14 @@
|
|||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\UniversityContracts\UniversityContracts.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="OfficePackage\HelperEnums\" />
|
||||||
|
<Folder Include="OfficePackage\HelperModels\" />
|
||||||
|
<Folder Include="OfficePackage\Implements\" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
15
UniversityContracts/BindingModels/ReportBindingModel.cs
Normal file
15
UniversityContracts/BindingModels/ReportBindingModel.cs
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace UniversityContracts.BindingModels
|
||||||
|
{
|
||||||
|
public class ReportBindingModel
|
||||||
|
{
|
||||||
|
public string FileName { get; set; } = string.Empty;
|
||||||
|
public DateTime? DateFrom { get; set; }
|
||||||
|
public DateTime? DateTo { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -4,6 +4,8 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using UniversityContracts.BindingModels;
|
using UniversityContracts.BindingModels;
|
||||||
|
using UniversityContracts.SearchModels;
|
||||||
|
using UniversityContracts.ViewModels;
|
||||||
|
|
||||||
namespace UniversityContracts.BusinessLogicContracts
|
namespace UniversityContracts.BusinessLogicContracts
|
||||||
{
|
{
|
||||||
|
@ -4,6 +4,8 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using UniversityContracts.BindingModels;
|
using UniversityContracts.BindingModels;
|
||||||
|
using UniversityContracts.SearchModels;
|
||||||
|
using UniversityContracts.ViewModels;
|
||||||
|
|
||||||
namespace UniversityContracts.BusinessLogicContracts
|
namespace UniversityContracts.BusinessLogicContracts
|
||||||
{
|
{
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using UniversityContracts.BindingModels;
|
||||||
|
using UniversityContracts.ViewModels;
|
||||||
|
|
||||||
|
namespace UniversityContracts.BusinessLogicContracts
|
||||||
|
{
|
||||||
|
public interface IReportProviderLogic
|
||||||
|
{
|
||||||
|
List<ReportStudentsDisciplineViewModel> GetStudentsDiscipline();
|
||||||
|
|
||||||
|
List<ReportStreamStudentEdStatPeriodViewModel> StreamStudentEdStatPeriod(ReportBindingModel model);
|
||||||
|
|
||||||
|
void SaveBlanksToWordFile(ReportBindingModel model);
|
||||||
|
|
||||||
|
void SaveDocumentBlankToExcelFile(ReportBindingModel model);
|
||||||
|
|
||||||
|
void SaveOrdersToPdfFile(ReportBindingModel model);
|
||||||
|
}
|
||||||
|
}
|
@ -4,6 +4,8 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using UniversityContracts.BindingModels;
|
using UniversityContracts.BindingModels;
|
||||||
|
using UniversityContracts.SearchModels;
|
||||||
|
using UniversityContracts.ViewModels;
|
||||||
|
|
||||||
namespace UniversityContracts.BusinessLogicContracts
|
namespace UniversityContracts.BusinessLogicContracts
|
||||||
{
|
{
|
||||||
|
@ -9,6 +9,7 @@ namespace UniversityContracts.SearchModels
|
|||||||
public class DocumentSearchModel
|
public class DocumentSearchModel
|
||||||
{
|
{
|
||||||
public int? Id { get; set; }
|
public int? Id { get; set; }
|
||||||
|
public string? Name { get; set; }
|
||||||
public int? UserId { get; set; }
|
public int? UserId { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,9 @@ namespace UniversityContracts.SearchModels
|
|||||||
public class StudentSearchModel
|
public class StudentSearchModel
|
||||||
{
|
{
|
||||||
public int? Id { get; set; }
|
public int? Id { get; set; }
|
||||||
|
public int? StudentCard { get; set; }
|
||||||
public int? UserId { get; set; }
|
public int? UserId { get; set; }
|
||||||
|
public DateTime? DateFrom { get; set; }
|
||||||
|
public DateTime? DateTo { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,14 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace UniversityContracts.ViewModels
|
||||||
|
{
|
||||||
|
public class ReportStreamStudentEdStatPeriodViewModel
|
||||||
|
{
|
||||||
|
public string StreamName { get; set; } = string.Empty;
|
||||||
|
public List<(string StudentFIO, string EdStatus)> StudentEdStatus { get; set; } = new();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace UniversityContracts.ViewModels
|
||||||
|
{
|
||||||
|
public class ReportStudentsDisciplineViewModel
|
||||||
|
{
|
||||||
|
public string StudentFIO { get; set; } = string.Empty;
|
||||||
|
public List<string> Disciplines { get; set; } = new();
|
||||||
|
}
|
||||||
|
}
|
@ -24,8 +24,9 @@ namespace UniversityDataBaseImplemet.Implements
|
|||||||
using var context = new Database();
|
using var context = new Database();
|
||||||
return context.Documents
|
return context.Documents
|
||||||
.Include(record => record.User)
|
.Include(record => record.User)
|
||||||
.FirstOrDefault(record => record.Id == model.Id)?
|
.FirstOrDefault(record => record.Id == model.Id
|
||||||
.GetViewModel;
|
|| record.Name.Equals(model.Name))
|
||||||
|
?.GetViewModel;
|
||||||
}
|
}
|
||||||
public List<DocumentViewModel> GetFilteredList(DocumentSearchModel model)
|
public List<DocumentViewModel> GetFilteredList(DocumentSearchModel model)
|
||||||
{
|
{
|
||||||
@ -33,7 +34,7 @@ namespace UniversityDataBaseImplemet.Implements
|
|||||||
if (model.Id.HasValue)
|
if (model.Id.HasValue)
|
||||||
{
|
{
|
||||||
return context.Documents
|
return context.Documents
|
||||||
.Include(x => x.User)
|
.Include(record => record.User)
|
||||||
.Where(record => record.Id.Equals(model.Id))
|
.Where(record => record.Id.Equals(model.Id))
|
||||||
.Select(record => record.GetViewModel)
|
.Select(record => record.GetViewModel)
|
||||||
.ToList();
|
.ToList();
|
||||||
@ -41,11 +42,11 @@ namespace UniversityDataBaseImplemet.Implements
|
|||||||
else if (model.UserId.HasValue)
|
else if (model.UserId.HasValue)
|
||||||
{
|
{
|
||||||
return context.Documents
|
return context.Documents
|
||||||
.Include(x => x.User)
|
.Include(record => record.User)
|
||||||
.Where(x => x.UserId == model.UserId)
|
.Where(record => record.UserId == model.UserId)
|
||||||
.Select(x => x.GetViewModel)
|
.Select(record => record.GetViewModel)
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return new();
|
return new();
|
||||||
@ -78,7 +79,7 @@ namespace UniversityDataBaseImplemet.Implements
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
var document = context.Documents
|
var document = context.Documents
|
||||||
.Include(x => x.User)
|
.Include(record => record.User)
|
||||||
.FirstOrDefault(record => record.Id.Equals(model.Id));
|
.FirstOrDefault(record => record.Id.Equals(model.Id));
|
||||||
if (document == null)
|
if (document == null)
|
||||||
{
|
{
|
||||||
@ -99,7 +100,7 @@ namespace UniversityDataBaseImplemet.Implements
|
|||||||
{
|
{
|
||||||
using var context = new Database();
|
using var context = new Database();
|
||||||
var document = context.Documents
|
var document = context.Documents
|
||||||
.Include(x => x.User)
|
.Include(record => record.User)
|
||||||
.FirstOrDefault(record => record.Id.Equals(model.Id));
|
.FirstOrDefault(record => record.Id.Equals(model.Id));
|
||||||
if (document == null)
|
if (document == null)
|
||||||
{
|
{
|
||||||
|
@ -22,9 +22,10 @@ namespace UniversityDataBaseImplemet.Implements
|
|||||||
}
|
}
|
||||||
using var context = new Database();
|
using var context = new Database();
|
||||||
return context.EducationStatuses
|
return context.EducationStatuses
|
||||||
.Include(x => x.User)
|
.Include(record => record.User)
|
||||||
.FirstOrDefault(record => record.Id == model.Id)?
|
.FirstOrDefault(record => record.Id == model.Id
|
||||||
.GetViewModel;
|
|| record.Name.Equals(model.Name))
|
||||||
|
?.GetViewModel;
|
||||||
}
|
}
|
||||||
public List<EducationStatusViewModel> GetFilteredList(EducationStatusSearchModel model)
|
public List<EducationStatusViewModel> GetFilteredList(EducationStatusSearchModel model)
|
||||||
{
|
{
|
||||||
@ -32,7 +33,7 @@ namespace UniversityDataBaseImplemet.Implements
|
|||||||
if (model.Id.HasValue)
|
if (model.Id.HasValue)
|
||||||
{
|
{
|
||||||
return context.EducationStatuses
|
return context.EducationStatuses
|
||||||
.Include(x => x.User)
|
.Include(record => record.User)
|
||||||
.Where(record => record.Id.Equals(model.Id))
|
.Where(record => record.Id.Equals(model.Id))
|
||||||
.Select(record => record.GetViewModel)
|
.Select(record => record.GetViewModel)
|
||||||
.ToList();
|
.ToList();
|
||||||
@ -40,9 +41,9 @@ namespace UniversityDataBaseImplemet.Implements
|
|||||||
else if (model.UserId.HasValue)
|
else if (model.UserId.HasValue)
|
||||||
{
|
{
|
||||||
return context.EducationStatuses
|
return context.EducationStatuses
|
||||||
.Include(x => x.User)
|
.Include(record => record.User)
|
||||||
.Where(x => x.UserId == model.UserId)
|
.Where(record => record.UserId == model.UserId)
|
||||||
.Select(x => x.GetViewModel)
|
.Select(record => record.GetViewModel)
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -54,7 +55,7 @@ namespace UniversityDataBaseImplemet.Implements
|
|||||||
{
|
{
|
||||||
using var context = new Database();
|
using var context = new Database();
|
||||||
return context.EducationStatuses
|
return context.EducationStatuses
|
||||||
.Include(x => x.User)
|
.Include(record => record.User)
|
||||||
.Select(record => record.GetViewModel)
|
.Select(record => record.GetViewModel)
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
@ -69,8 +70,8 @@ namespace UniversityDataBaseImplemet.Implements
|
|||||||
context.EducationStatuses.Add(newEducationStatus);
|
context.EducationStatuses.Add(newEducationStatus);
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
return context.EducationStatuses
|
return context.EducationStatuses
|
||||||
.Include(x => x.User)
|
.Include(record => record.User)
|
||||||
.FirstOrDefault(x => x.Id.Equals(newEducationStatus.Id))
|
.FirstOrDefault(record => record.Id.Equals(newEducationStatus.Id))
|
||||||
?.GetViewModel;
|
?.GetViewModel;
|
||||||
}
|
}
|
||||||
public EducationStatusViewModel? Update(EducationStatusBindingModel model)
|
public EducationStatusViewModel? Update(EducationStatusBindingModel model)
|
||||||
@ -80,7 +81,7 @@ namespace UniversityDataBaseImplemet.Implements
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
var educationStatus = context.EducationStatuses
|
var educationStatus = context.EducationStatuses
|
||||||
.Include(x => x.User)
|
.Include(record => record.User)
|
||||||
.FirstOrDefault(record => record.Id.Equals(model.Id));
|
.FirstOrDefault(record => record.Id.Equals(model.Id));
|
||||||
if (educationStatus == null)
|
if (educationStatus == null)
|
||||||
{
|
{
|
||||||
@ -101,7 +102,7 @@ namespace UniversityDataBaseImplemet.Implements
|
|||||||
{
|
{
|
||||||
using var context = new Database();
|
using var context = new Database();
|
||||||
var educationStatus = context.EducationStatuses
|
var educationStatus = context.EducationStatuses
|
||||||
.Include(x => x.User)
|
.Include(record => record.User)
|
||||||
.FirstOrDefault(record => record.Id.Equals(model.Id));
|
.FirstOrDefault(record => record.Id.Equals(model.Id));
|
||||||
if (educationStatus == null)
|
if (educationStatus == null)
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Security.Cryptography.X509Certificates;
|
using System.Security.Cryptography.X509Certificates;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@ -17,7 +18,7 @@ namespace UniversityDataBaseImplemet.Implements
|
|||||||
{
|
{
|
||||||
public StudentViewModel? GetElement(StudentSearchModel model)
|
public StudentViewModel? GetElement(StudentSearchModel model)
|
||||||
{
|
{
|
||||||
if (!model.Id.HasValue)
|
if (!model.Id.HasValue && model.StudentCard <= 0)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -25,7 +26,8 @@ namespace UniversityDataBaseImplemet.Implements
|
|||||||
return context.Students
|
return context.Students
|
||||||
.Include(record => record.User)
|
.Include(record => record.User)
|
||||||
.Include(record => record.EducationStatus)
|
.Include(record => record.EducationStatus)
|
||||||
.FirstOrDefault(record => record.Id.Equals(model.Id))
|
.FirstOrDefault(record => record.Id.Equals(model.Id)
|
||||||
|
|| record.StudentCard.Equals(model.StudentCard))
|
||||||
?.GetViewModel;
|
?.GetViewModel;
|
||||||
}
|
}
|
||||||
public List<StudentViewModel> GetFilteredList(StudentSearchModel model)
|
public List<StudentViewModel> GetFilteredList(StudentSearchModel model)
|
||||||
@ -35,7 +37,7 @@ namespace UniversityDataBaseImplemet.Implements
|
|||||||
{
|
{
|
||||||
return context.Students
|
return context.Students
|
||||||
.Include(record => record.EducationStatus)
|
.Include(record => record.EducationStatus)
|
||||||
.Include(x => x.User)
|
.Include(record => record.User)
|
||||||
.Where(record => record.Id.Equals(model.Id))
|
.Where(record => record.Id.Equals(model.Id))
|
||||||
.Select(record => record.GetViewModel)
|
.Select(record => record.GetViewModel)
|
||||||
.ToList();
|
.ToList();
|
||||||
@ -43,12 +45,35 @@ namespace UniversityDataBaseImplemet.Implements
|
|||||||
else if (model.UserId.HasValue)
|
else if (model.UserId.HasValue)
|
||||||
{
|
{
|
||||||
return context.Students
|
return context.Students
|
||||||
.Include(x => x.EducationStatus)
|
.Include(record => record.EducationStatus)
|
||||||
.Include(x => x.User)
|
.Include(record => record.User)
|
||||||
.Where(x => x.UserId == model.UserId)
|
.Where(record => record.UserId == model.UserId)
|
||||||
.Select(x => x.GetViewModel)
|
.Select(record => record.GetViewModel)
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
|
/*else if (model.DateFrom != null && model.DateTo != null) // для отчета#2 Поставщик
|
||||||
|
{
|
||||||
|
return context.Students
|
||||||
|
.Include(record => record.User)
|
||||||
|
.Include(record => record.EducationStatus)
|
||||||
|
.Join(context.StudentStreams, student => student.Id, studentStream => studentStream.StudentId, (student, studentStream) => new { Student = student, StreamId = studentStream.StreamId })
|
||||||
|
.Join(context.Streams, studentStream => studentStream.StreamId, stream => stream.Id, (studentStream, stream) => new { Student = studentStream.Student, Stream = stream })
|
||||||
|
.GroupBy(record => record.Stream)
|
||||||
|
.Select(result => new
|
||||||
|
{
|
||||||
|
Stream = result.Key,
|
||||||
|
Students = result.Select(record => (record.Student, record.EducationStatus)).ToList()
|
||||||
|
})
|
||||||
|
.ToList();
|
||||||
|
var result = context.Students
|
||||||
|
.Include(student => student.User)
|
||||||
|
.Include(student => student.StudentStreams)
|
||||||
|
.ThenInclude(studentStream => studentStream.Stream)
|
||||||
|
.ThenInclude(stream => stream.Disciplines)
|
||||||
|
.SelectMany(student => student.StudentStreams, (student, studentStream) => new { Student = student, Stream = studentStream.Stream })
|
||||||
|
.Select(record => new { StudentName = record.Student.User.Name + " " + record.Student.User.Surname, Discipline = record.Stream.Disciplines })
|
||||||
|
.ToList();
|
||||||
|
}*/
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return new();
|
return new();
|
||||||
@ -58,8 +83,8 @@ namespace UniversityDataBaseImplemet.Implements
|
|||||||
{
|
{
|
||||||
using var context = new Database();
|
using var context = new Database();
|
||||||
return context.Students
|
return context.Students
|
||||||
.Include(x => x.User)
|
.Include(record => record.User)
|
||||||
.Include(x => x.EducationStatus)
|
.Include(record => record.EducationStatus)
|
||||||
.Select(record => record.GetViewModel)
|
.Select(record => record.GetViewModel)
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
@ -82,8 +107,8 @@ namespace UniversityDataBaseImplemet.Implements
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
var student = context.Students
|
var student = context.Students
|
||||||
.Include(x => x.User)
|
.Include(record => record.User)
|
||||||
.Include(x => x.EducationStatus)
|
.Include(record => record.EducationStatus)
|
||||||
.FirstOrDefault(record => record.Id.Equals(model.Id));
|
.FirstOrDefault(record => record.Id.Equals(model.Id));
|
||||||
if (student == null)
|
if (student == null)
|
||||||
{
|
{
|
||||||
@ -104,8 +129,8 @@ namespace UniversityDataBaseImplemet.Implements
|
|||||||
{
|
{
|
||||||
using var context = new Database();
|
using var context = new Database();
|
||||||
var student = context.Students
|
var student = context.Students
|
||||||
.Include(x => x.User)
|
.Include(record => record.User)
|
||||||
.Include(x => x.EducationStatus)
|
.Include(record => record.EducationStatus)
|
||||||
.FirstOrDefault(record => record.Id.Equals(model.Id));
|
.FirstOrDefault(record => record.Id.Equals(model.Id));
|
||||||
if (student == null)
|
if (student == null)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user