Синхронизация оценок основноая логика
This commit is contained in:
parent
7a94448f94
commit
5fa8270cc4
@ -0,0 +1,17 @@
|
||||
using DepartmentContract.BindingModels;
|
||||
using DepartmentContract.Logics.IGenericEntityLogic;
|
||||
using DepartmentContract.Services.IGenericEntityService;
|
||||
using DepartmentContract.ViewModels;
|
||||
using ToolsModule.ManagmentEntity;
|
||||
using ToolsModule.ManagmentSecurity;
|
||||
|
||||
namespace DepartmentBusinessLogic.BusinessLogics.GenericBusinessLogic
|
||||
{
|
||||
/// <summary>
|
||||
/// Логика работы с оценками студентов за дисциплины
|
||||
/// </summary>
|
||||
public class StudentMarkPassedDisciplineBusinessLogic : GenericBusinessLogic<StudentMarkPassedDisciplineGetBindingModel, StudentMarkPassedDisciplineSetBindingModel, StudentMarkPassedDisciplineListViewModel, StudentMarkPassedDisciplineViewModel>, IStudentMarkPassedDisciplineLogic
|
||||
{
|
||||
public StudentMarkPassedDisciplineBusinessLogic(IStudentMarkPassedDisciplineService service) : base(service, "Оценки студентов", AccessOperation.ОценкиСтудентов) { }
|
||||
}
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
using DepartmentContract.BindingModels;
|
||||
using DepartmentContract.Logics.IGenericEntityLogic;
|
||||
using DepartmentContract.Services.IGenericEntityService;
|
||||
using DepartmentContract.ViewModels;
|
||||
using ToolsModule.ManagmentEntity;
|
||||
using ToolsModule.ManagmentSecurity;
|
||||
|
||||
namespace DepartmentBusinessLogic.BusinessLogics.GenericBusinessLogic
|
||||
{
|
||||
/// <summary>
|
||||
/// Логика работы с оценками студентов за дисциплины
|
||||
/// </summary>
|
||||
public class StudentMarkPassedDisciplineLogic : GenericBusinessLogic<StudentMarkPassedDisciplineGetBindingModel, StudentMarkPassedDisciplineSetBindingModel, StudentMarkPassedDisciplineListViewModel, StudentMarkPassedDisciplineViewModel>, IStudentMarkPassedDisciplineLogic
|
||||
{
|
||||
public StudentMarkPassedDisciplineLogic(IStudentMarkPassedDisciplineService service) : base(service, "Оценки студентов", AccessOperation.ОценкиСтудентов) { }
|
||||
}
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
using DepartmentContract.BindingModels;
|
||||
using DepartmentContract.Logics.IGenericEntityLogic;
|
||||
using DepartmentContract.ViewModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using ToolsModule.ManagmentEntity;
|
||||
|
||||
namespace DepartmentBusinessLogic.BusinessLogics.GenericBusinessLogic
|
||||
{
|
||||
/// <summary>
|
||||
/// Логика работы с историями синхронизации оценок
|
||||
/// </summary>
|
||||
public class StudentMarkSyncHistoryBusinessLogic : GenericBusinessLogic<StudentMarkSyncHistoryGetBindingModel, StudentMarkSyncHistorySetBindingModel, StudentMarkSyncHistoryListViewModel, StudentMarkSyncHistoryViewModel>, IStudentMarkSyncHistoryLogic
|
||||
{
|
||||
public Task<bool> SyncMarks()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public Task<bool> SyncStudentMarks(Guid studentId)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
using DepartmentContract.BindingModels;
|
||||
using DepartmentContract.Logics.IGenericEntityLogic;
|
||||
using DepartmentContract.Services.IGenericEntityService;
|
||||
using DepartmentContract.ViewModels;
|
||||
using ToolsModule.ManagmentEntity;
|
||||
using ToolsModule.ManagmentSecurity;
|
||||
|
||||
namespace DepartmentBusinessLogic.BusinessLogics.GenericBusinessLogic
|
||||
{
|
||||
/// <summary>
|
||||
/// Логика работы с записями историй синхронизации оценок
|
||||
/// </summary>
|
||||
public class StudentMarkSyncHistoryRecordBusinessLogic : GenericBusinessLogic<StudentMarkSyncHistoryRecordGetBindingModel, StudentMarkSyncHistoryRecordSetBindingModel, StudentMarkSyncHistoryRecordListViewModel, StudentMarkSyncHistoryRecordViewModel>, IStudentMarkSyncHistoryRecordLogic
|
||||
{
|
||||
public StudentMarkSyncHistoryRecordBusinessLogic(IStudentMarkSyncHistoryRecordService service) : base(service, "Синхронизация Оценок", AccessOperation.ОценкиСтудентов) { }
|
||||
}
|
||||
}
|
@ -45,7 +45,9 @@ namespace DepartmentBusinessLogic
|
||||
|
||||
DependencyManager.Instance.RegisterType<IBasicDepartmentLogic, BasicDepartmentBusinessLogic>();
|
||||
|
||||
DependencyManager.Instance.RegisterType<IStudentMarkPassedDisciplineLogic, StudentMarkPassedDisciplineLogic>();
|
||||
DependencyManager.Instance.RegisterType<IStudentMarkPassedDisciplineLogic, StudentMarkPassedDisciplineBusinessLogic>();
|
||||
DependencyManager.Instance.RegisterType<IStudentMarkSyncHistoryLogic, StudentMarkSyncHistoryBusinessLogic>();
|
||||
DependencyManager.Instance.RegisterType<IStudentMarkSyncHistoryRecordLogic, StudentMarkSyncHistoryRecordBusinessLogic>();
|
||||
|
||||
|
||||
|
||||
|
@ -0,0 +1,23 @@
|
||||
using CoreModels.ModelsDepartment;
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using ToolsModule.ManagmentEntity;
|
||||
|
||||
namespace DepartmentContract.BindingModels
|
||||
{
|
||||
/// <summary>
|
||||
/// Получение истории синхронизации оценок
|
||||
/// </summary>
|
||||
public class StudentMarkSyncHistoryGetBindingModel : GetBindingModel
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Сохранение истории синхронизации оценок
|
||||
/// </summary>
|
||||
public class StudentMarkSyncHistorySetBindingModel : SetBindingModel, IStudentMarkSyncHistoryModel
|
||||
{
|
||||
[Required(ErrorMessage = "required")]
|
||||
public DateTime SyncDate { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
using CoreModels.ModelsDepartment;
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using ToolsModule.ManagmentEntity;
|
||||
|
||||
namespace DepartmentContract.BindingModels
|
||||
{
|
||||
/// <summary>
|
||||
/// Получение записи истории синхронизации оценок
|
||||
/// </summary>
|
||||
public class StudentMarkSyncHistoryRecordGetBindingModel : GetBindingModel
|
||||
{
|
||||
public Guid? StudentMarkSyncHistoryId { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Сохранение записи истории синхронизации оценок
|
||||
/// </summary>
|
||||
public class StudentMarkSyncHistoryRecordSetBindingModel : SetBindingModel, IStudentMarkSyncHistoryRecordModel
|
||||
{
|
||||
[Required(ErrorMessage = "required")]
|
||||
public Guid StudentMarkSyncHistoryId { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "required")]
|
||||
public string Information { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
using DepartmentContract.BindingModels;
|
||||
using DepartmentContract.ViewModels;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using ToolsModule.ManagmentEntity;
|
||||
|
||||
namespace DepartmentContract.Logics.IGenericEntityLogic
|
||||
{
|
||||
/// <summary>
|
||||
/// Логика работы с историями синхронизации оценок
|
||||
/// </summary>
|
||||
public interface IStudentMarkSyncHistoryLogic : IGenericEntityLogic<StudentMarkSyncHistoryGetBindingModel, StudentMarkSyncHistorySetBindingModel, StudentMarkSyncHistoryListViewModel, StudentMarkSyncHistoryViewModel>
|
||||
{
|
||||
Task<bool> SyncMarks();
|
||||
|
||||
Task<bool> SyncStudentMarks(Guid studentId);
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
using DepartmentContract.BindingModels;
|
||||
using DepartmentContract.ViewModels;
|
||||
using ToolsModule.ManagmentEntity;
|
||||
|
||||
namespace DepartmentContract.Logics.IGenericEntityLogic
|
||||
{
|
||||
/// <summary>
|
||||
/// Логика работы с записями историй синхронизации оценок
|
||||
/// </summary>
|
||||
public interface IStudentMarkSyncHistoryRecordLogic : IGenericEntityLogic<StudentMarkSyncHistoryRecordGetBindingModel, StudentMarkSyncHistoryRecordSetBindingModel, StudentMarkSyncHistoryRecordListViewModel, StudentMarkSyncHistoryRecordViewModel> { }
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
using DepartmentContract.BindingModels;
|
||||
using ToolsModule.ManagmentEntity;
|
||||
|
||||
namespace DepartmentContract.Services.IGenericEntityService
|
||||
{
|
||||
/// <summary>
|
||||
/// Хранение записей историй синхронизации оценок
|
||||
/// </summary>
|
||||
public interface IStudentMarkSyncHistoryRecordService : IGenericEntityService<StudentMarkSyncHistoryRecordGetBindingModel, StudentMarkSyncHistoryRecordSetBindingModel> { }
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
using DepartmentContract.BindingModels;
|
||||
using ToolsModule.ManagmentEntity;
|
||||
|
||||
namespace DepartmentContract.Services.IGenericEntityService
|
||||
{
|
||||
/// <summary>
|
||||
/// Хранение историй синхронизации оценок
|
||||
/// </summary>
|
||||
public interface IStudentMarkSyncHistoryService : IGenericEntityService<StudentMarkSyncHistoryGetBindingModel, StudentMarkSyncHistorySetBindingModel> { }
|
||||
}
|
@ -21,6 +21,6 @@ namespace DepartmentContract.ViewModels
|
||||
public DateTime SyncDate { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Дата")]
|
||||
public string SyncDateTitle => $"Синхронизация данных от {SyncDate.ToString("dd.MM.yyyy HH:mm")}";
|
||||
public string SyncDateTitle => $"Синхронизация данных от {SyncDate:dd.MM.yyyy HH:mm}";
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
using CoreModels.ModelsDepartment;
|
||||
using System;
|
||||
using ToolsModule.ManagmentEntity;
|
||||
using ToolsModule.ManagmentMapping;
|
||||
|
||||
namespace DepartmentContract.ViewModels
|
||||
{
|
||||
/// <summary>
|
||||
/// Список записей историй синхронизации оценок
|
||||
/// </summary>
|
||||
public class StudentMarkSyncHistoryRecordListViewModel : ListViewModel<StudentMarkSyncHistoryRecordViewModel> { }
|
||||
|
||||
/// <summary>
|
||||
/// Элемент записи историй синхронизации оценок
|
||||
/// </summary>
|
||||
[ViewModelControlElementClass(HaveDependenceEntities = false, Width = 800, Height = 500)]
|
||||
public class StudentMarkSyncHistoryRecordViewModel : ElementViewModel, IStudentMarkSyncHistoryRecordModel
|
||||
{
|
||||
[ViewModelControlElementProperty("История", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlStudentMarkSyncHistoryList, DepartmentWindowsDesktop")]
|
||||
public Guid StudentMarkSyncHistoryId { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Дата", ColumnWidth = 100, DefaultCellStyleFormat = "dd.MM.yyyy")]
|
||||
[MapConfiguration("StudentMarkSyncHistory.SyncDate")]
|
||||
public DateTime SyncDate { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Описание")]
|
||||
[ViewModelControlElementProperty("Описание", ControlType.ControlText, Height = 200, MustHaveValue = true)]
|
||||
public string Information { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
using CoreModels.ModelsDepartment;
|
||||
using System;
|
||||
using ToolsModule.ManagmentEntity;
|
||||
|
||||
namespace DepartmentContract.ViewModels
|
||||
{
|
||||
/// <summary>
|
||||
/// Список историй синхронизации оценок
|
||||
/// </summary>
|
||||
public class StudentMarkSyncHistoryListViewModel : ListViewModel<StudentMarkSyncHistoryViewModel> { }
|
||||
|
||||
/// <summary>
|
||||
/// Элемент история синхронизации оценок
|
||||
/// </summary>
|
||||
[ViewModelControlElementClass(HaveDependenceEntities = true, Width = 800, Height = 500)]
|
||||
[ViewModelControlElementDependenceEntity(Title = "Записи", Order = 1, ParentPropertyName = "StudentMarkSyncHistoryId",
|
||||
ControlTypeObject = "DepartmentWindowsDesktop.EntityControls.ControlStudentMarkSyncHistoryRecordList, DepartmentWindowsDesktop")]
|
||||
public class StudentMarkSyncHistoryViewModel : ElementViewModel, IStudentMarkSyncHistoryModel
|
||||
{
|
||||
[ViewModelControlElementProperty("Дата", ControlType.ControlDateTime, MustHaveValue = true, ReadOnly = true)]
|
||||
public DateTime SyncDate { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Дата")]
|
||||
public string SyncDateTitle => $"Синхронизация данных от {SyncDate:dd.MM.yyyy HH:mm}";
|
||||
}
|
||||
}
|
@ -45,6 +45,8 @@ namespace DepartmentDatabaseImplementation
|
||||
DependencyManager.Instance.RegisterType<IBasicDepartmentService, BasicDepartmentService>();
|
||||
|
||||
DependencyManager.Instance.RegisterType<IStudentMarkPassedDisciplineService, StudentMarkPassedDisciplineService>();
|
||||
DependencyManager.Instance.RegisterType<IStudentMarkSyncHistoryService, StudentMarkSyncHistoryService>();
|
||||
DependencyManager.Instance.RegisterType<IStudentMarkSyncHistoryRecordService, StudentMarkSyncHistoryRecordService>();
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,107 @@
|
||||
using CoreDatabase;
|
||||
using CoreDatabase.Models.Department;
|
||||
using DepartmentContract.BindingModels;
|
||||
using DepartmentContract.Services.IGenericEntityService;
|
||||
using DepartmentContract.ViewModels;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using ToolsModule.ManagmentEntity;
|
||||
using ToolsModule.ManagmentMapping;
|
||||
|
||||
namespace DepartmentDatabaseImplementation.Implementations.AbstractGenerticEntityService
|
||||
{
|
||||
/// <summary>
|
||||
/// Реализация IStudentMarkSyncHistoryRecordService
|
||||
/// </summary>
|
||||
public class StudentMarkSyncHistoryRecordService : IStudentMarkSyncHistoryRecordService
|
||||
{
|
||||
public OperationResultModel Create(StudentMarkSyncHistoryRecordSetBindingModel model)
|
||||
{
|
||||
using var context = DatabaseManager.GetContext;
|
||||
|
||||
var entity = Mapper.MapToClass<StudentMarkSyncHistoryRecordSetBindingModel, StudentMarkSyncHistoryRecord>(model, true);
|
||||
context.StudentMarkSyncHistoryRecords.Add(entity);
|
||||
context.SaveChanges();
|
||||
return OperationResultModel.Success(Mapper.MapToClass<StudentMarkSyncHistoryRecord, StudentMarkSyncHistoryRecordViewModel>(entity, true));
|
||||
}
|
||||
|
||||
public OperationResultModel Delete(StudentMarkSyncHistoryRecordGetBindingModel model)
|
||||
{
|
||||
using var context = DatabaseManager.GetContext;
|
||||
var entity = context.StudentMarkSyncHistoryRecords.FirstOrDefault(x => x.Id == model.Id);
|
||||
if (entity == null)
|
||||
{
|
||||
return OperationResultModel.Error("Error:", "Элемент не найден", ResultServiceStatusCode.NotFound);
|
||||
}
|
||||
context.StudentMarkSyncHistoryRecords.Remove(entity);
|
||||
context.SaveChanges();
|
||||
|
||||
return OperationResultModel.Success(true);
|
||||
}
|
||||
|
||||
public OperationResultModel Read(StudentMarkSyncHistoryRecordGetBindingModel model)
|
||||
{
|
||||
int countPages = 0;
|
||||
using var context = DatabaseManager.GetContext;
|
||||
|
||||
// для одной записи
|
||||
if (model.Id.HasValue)
|
||||
{
|
||||
var entity = context.StudentMarkSyncHistoryRecords.FirstOrDefault(x => x.Id == model.Id.Value);
|
||||
if (entity == null)
|
||||
{
|
||||
return OperationResultModel.Error("Error:", "Элемент не найден", ResultServiceStatusCode.NotFound);
|
||||
}
|
||||
return OperationResultModel.Success(Mapper.MapToClass<StudentMarkSyncHistoryRecord, StudentMarkSyncHistoryRecordViewModel>(entity, model.HaveRight));
|
||||
}
|
||||
|
||||
var query = context.StudentMarkSyncHistoryRecords.AsQueryable();
|
||||
|
||||
if (model.StudentMarkSyncHistoryId.HasValue)
|
||||
{
|
||||
query = query.Where(x => x.StudentMarkSyncHistoryId == model.StudentMarkSyncHistoryId.Value);
|
||||
}
|
||||
|
||||
query = query.OrderByDescending(x => x.Information);
|
||||
|
||||
query = query.Include(x => x.StudentMarkSyncHistory);
|
||||
|
||||
if (model.PageNumber.HasValue && model.PageSize.HasValue)
|
||||
{
|
||||
countPages = (int)Math.Ceiling((double)query.Count() / model.PageSize.Value);
|
||||
query = query
|
||||
.Skip(model.PageSize.Value * model.PageNumber.Value)
|
||||
.Take(model.PageSize.Value);
|
||||
}
|
||||
var result = new StudentMarkSyncHistoryRecordListViewModel
|
||||
{
|
||||
MaxCount = countPages,
|
||||
List = query.Select(x => Mapper.MapToClass<StudentMarkSyncHistoryRecord, StudentMarkSyncHistoryRecordViewModel>(x, model.HaveRight)).ToList()
|
||||
};
|
||||
|
||||
return OperationResultModel.Success(result);
|
||||
}
|
||||
|
||||
public OperationResultModel Restore(StudentMarkSyncHistoryRecordGetBindingModel model)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public OperationResultModel Update(StudentMarkSyncHistoryRecordSetBindingModel model)
|
||||
{
|
||||
using var context = DatabaseManager.GetContext;
|
||||
|
||||
var entity = context.StudentMarkSyncHistoryRecords.FirstOrDefault(x => x.Id == model.Id);
|
||||
if (entity == null)
|
||||
{
|
||||
return OperationResultModel.Error("Error:", "Элемент не найден", ResultServiceStatusCode.NotFound);
|
||||
}
|
||||
entity = Mapper.MapToClass(model, entity, true);
|
||||
|
||||
context.SaveChanges();
|
||||
|
||||
return OperationResultModel.Success(Mapper.MapToClass<StudentMarkSyncHistoryRecord, StudentMarkSyncHistoryRecordViewModel>(entity, true));
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,115 @@
|
||||
using CoreDatabase;
|
||||
using CoreDatabase.Models.Department;
|
||||
using DepartmentContract.BindingModels;
|
||||
using DepartmentContract.Services.IGenericEntityService;
|
||||
using DepartmentContract.ViewModels;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using ToolsModule.ManagmentEntity;
|
||||
using ToolsModule.ManagmentMapping;
|
||||
|
||||
namespace DepartmentDatabaseImplementation.Implementations.AbstractGenerticEntityService
|
||||
{
|
||||
/// <summary>
|
||||
/// Реализация IStudentMarkSyncHistoryService
|
||||
/// </summary>
|
||||
public class StudentMarkSyncHistoryService : IStudentMarkSyncHistoryService
|
||||
{
|
||||
public OperationResultModel Create(StudentMarkSyncHistorySetBindingModel model)
|
||||
{
|
||||
using var context = DatabaseManager.GetContext;
|
||||
|
||||
var entity = Mapper.MapToClass<StudentMarkSyncHistorySetBindingModel, StudentMarkSyncHistory>(model, true);
|
||||
context.StudentMarkSyncHistories.Add(entity);
|
||||
context.SaveChanges();
|
||||
return OperationResultModel.Success(Mapper.MapToClass<StudentMarkSyncHistory, StudentMarkSyncHistoryViewModel>(entity, true));
|
||||
}
|
||||
|
||||
public OperationResultModel Delete(StudentMarkSyncHistoryGetBindingModel model)
|
||||
{
|
||||
using var context = DatabaseManager.GetContext;
|
||||
using var transaction = context.Database.BeginTransaction();
|
||||
try
|
||||
{
|
||||
var entity = context.StudentMarkSyncHistories.FirstOrDefault(x => x.Id == model.Id);
|
||||
if (entity == null)
|
||||
{
|
||||
return OperationResultModel.Error("Error:", "Элемент не найден", ResultServiceStatusCode.NotFound);
|
||||
}
|
||||
|
||||
context.StudentMarkSyncHistories.Remove(entity);
|
||||
context.SaveChanges();
|
||||
|
||||
var records = context.StudentMarkSyncHistoryRecords.Where(x => x.StudentMarkSyncHistoryId == model.Id);
|
||||
context.StudentMarkSyncHistoryRecords.RemoveRange(records);
|
||||
context.SaveChanges();
|
||||
|
||||
transaction.Commit();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
transaction.Rollback();
|
||||
throw;
|
||||
}
|
||||
|
||||
return OperationResultModel.Success(true);
|
||||
}
|
||||
|
||||
public OperationResultModel Read(StudentMarkSyncHistoryGetBindingModel model)
|
||||
{
|
||||
int countPages = 0;
|
||||
using var context = DatabaseManager.GetContext;
|
||||
|
||||
// для одной записи
|
||||
if (model.Id.HasValue)
|
||||
{
|
||||
var entity = context.StudentMarkSyncHistories.FirstOrDefault(x => x.Id == model.Id.Value);
|
||||
if (entity == null)
|
||||
{
|
||||
return OperationResultModel.Error("Error:", "Элемент не найден", ResultServiceStatusCode.NotFound);
|
||||
}
|
||||
return OperationResultModel.Success(Mapper.MapToClass<StudentMarkSyncHistory, StudentMarkSyncHistoryViewModel>(entity, model.HaveRight));
|
||||
}
|
||||
|
||||
var query = context.StudentMarkSyncHistories.AsQueryable();
|
||||
|
||||
query = query.OrderByDescending(x => x.SyncDate);
|
||||
|
||||
if (model.PageNumber.HasValue && model.PageSize.HasValue)
|
||||
{
|
||||
countPages = (int)Math.Ceiling((double)query.Count() / model.PageSize.Value);
|
||||
query = query
|
||||
.Skip(model.PageSize.Value * model.PageNumber.Value)
|
||||
.Take(model.PageSize.Value);
|
||||
}
|
||||
var result = new StudentMarkSyncHistoryListViewModel
|
||||
{
|
||||
MaxCount = countPages,
|
||||
List = query.Select(x => Mapper.MapToClass<StudentMarkSyncHistory, StudentMarkSyncHistoryViewModel>(x, model.HaveRight)).ToList()
|
||||
};
|
||||
|
||||
return OperationResultModel.Success(result);
|
||||
}
|
||||
|
||||
public OperationResultModel Restore(StudentMarkSyncHistoryGetBindingModel model)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public OperationResultModel Update(StudentMarkSyncHistorySetBindingModel model)
|
||||
{
|
||||
using var context = DatabaseManager.GetContext;
|
||||
|
||||
var entity = context.StudentMarkSyncHistories.FirstOrDefault(x => x.Id == model.Id);
|
||||
if (entity == null)
|
||||
{
|
||||
return OperationResultModel.Error("Error:", "Элемент не найден", ResultServiceStatusCode.NotFound);
|
||||
}
|
||||
entity = Mapper.MapToClass(model, entity, true);
|
||||
|
||||
context.SaveChanges();
|
||||
|
||||
return OperationResultModel.Success(Mapper.MapToClass<StudentMarkSyncHistory, StudentMarkSyncHistoryViewModel>(entity, true));
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user