Логика связей сотрудников и должностей
This commit is contained in:
parent
94b54e712e
commit
999fb75c98
@ -5,10 +5,16 @@ using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace DepartmentBusinessLogic.BindingModels
|
||||
{
|
||||
public class EmployeeGetBindingModel : GetBindingModel
|
||||
/// <summary>
|
||||
/// Получение сотрудника
|
||||
/// </summary>
|
||||
public class EmployeeGetBindingModel : GetBindingModel
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Сохранение сотрудника
|
||||
/// </summary>
|
||||
public class EmployeeSetBindingModel : SetBindingModel
|
||||
{
|
||||
[Required(ErrorMessage = "required")]
|
||||
|
@ -0,0 +1,41 @@
|
||||
using ModuleTools.Attributes;
|
||||
using ModuleTools.BindingModels;
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace DepartmentBusinessLogic.BindingModels
|
||||
{
|
||||
/// <summary>
|
||||
/// Получение связи сотрудника с должностью
|
||||
/// </summary>
|
||||
public class EmployeeEmployeePostGetBindingModel : GetBindingModel
|
||||
{
|
||||
public Guid? EmployeeId { get; set; }
|
||||
|
||||
public Guid? EmployeePostId { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Сохранение связи сотрудника с должностью
|
||||
/// </summary>
|
||||
public class EmployeeEmployeePostSetBindingModel : SetBindingModel
|
||||
{
|
||||
[Required(ErrorMessage = "required")]
|
||||
[MapConfiguration("EmployeeId")]
|
||||
public Guid EmployeeId { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "required")]
|
||||
[MapConfiguration("EmployeePostId")]
|
||||
public Guid EmployeePostId { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "required")]
|
||||
[MapConfiguration("Rate")]
|
||||
public decimal Rate { get; set; }
|
||||
|
||||
[MapConfiguration("IsInternalCombination")]
|
||||
public bool IsInternalCombination { get; set; }
|
||||
|
||||
[MapConfiguration("IsExternalCombination")]
|
||||
public bool IsExternalCombination { get; set; }
|
||||
}
|
||||
}
|
@ -4,10 +4,16 @@ using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace DepartmentBusinessLogic.BindingModels
|
||||
{
|
||||
/// <summary>
|
||||
/// Получение должности сотрудника
|
||||
/// </summary>
|
||||
public class EmployeePostGetBindingModel : GetBindingModel
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Сохранение должности сотрудника
|
||||
/// </summary>
|
||||
public class EmployeePostSetBindingModel : SetBindingModel
|
||||
{
|
||||
[Required(ErrorMessage = "required")]
|
||||
|
@ -0,0 +1,16 @@
|
||||
using DepartmentBusinessLogic.BindingModels;
|
||||
using DepartmentBusinessLogic.Interfaces;
|
||||
using DepartmentBusinessLogic.ViewModels;
|
||||
using ModuleTools.BusinessLogics;
|
||||
using ModuleTools.Enums;
|
||||
|
||||
namespace DepartmentBusinessLogic.BusinessLogics
|
||||
{
|
||||
/// <summary>
|
||||
/// Логика работы со связями сотрудников и должностей
|
||||
/// </summary>
|
||||
public class EmployeeEmployeePostBusinessLogic : GenericBusinessLogic<EmployeeEmployeePostGetBindingModel, EmployeeEmployeePostSetBindingModel, EmployeeEmployeePostListViewModel, EmployeeEmployeePostViewModel>
|
||||
{
|
||||
public EmployeeEmployeePostBusinessLogic(IEmployeeEmployeePostService service) : base(service, "Должности сотрудников", AccessOperation.Сотрудники) { }
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
using DepartmentBusinessLogic.BindingModels;
|
||||
using ModuleTools.Interfaces;
|
||||
|
||||
namespace DepartmentBusinessLogic.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// Хранение связей сотрудников и должностей
|
||||
/// </summary>
|
||||
public interface IEmployeeEmployeePostService : IGenerticEntityService<EmployeeEmployeePostGetBindingModel, EmployeeEmployeePostSetBindingModel> { }
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
using ModuleTools.Attributes;
|
||||
using ModuleTools.Enums;
|
||||
using ModuleTools.ViewModels;
|
||||
using System;
|
||||
|
||||
namespace DepartmentBusinessLogic.ViewModels
|
||||
{
|
||||
/// <summary>
|
||||
/// Список связей сотрудников и должностей
|
||||
/// </summary>
|
||||
public class EmployeeEmployeePostListViewModel : ListViewModel<EmployeeEmployeePostViewModel> { }
|
||||
|
||||
/// <summary>
|
||||
/// Связь сотрудника и должности
|
||||
/// </summary>
|
||||
[ViewModelControlElementClass()]
|
||||
public class EmployeeEmployeePostViewModel : ElementViewModel
|
||||
{
|
||||
[MapConfiguration("EmployeeId", AllowCopyWithoutRigth = false)]
|
||||
// [ViewModelControlElementProperty("Сотрудник", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "SecurityWindowsDesktop.EntityControls.ControlUserList, SecurityWindowsDesktop")]
|
||||
public Guid EmployeeId { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Сотрудник")]
|
||||
[MapConfiguration("Employee.LastName", IsDifficle = true)]
|
||||
public string EmployeeName { get; set; }
|
||||
|
||||
[MapConfiguration("EmployeePostId")]
|
||||
//[ViewModelControlElementProperty("Должность", ControlType.ControlGuid, MustHaveValue = true, ReadOnly = false, ControlTypeObject = "SecurityWindowsDesktop.EntityControls.ControlRoleList, SecurityWindowsDesktop")]
|
||||
public Guid EmployeePostId { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Должность")]
|
||||
[MapConfiguration("EmployeePost.PostName", IsDifficle = true)]
|
||||
public string EmployeePostName { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Ставка", 80)]
|
||||
[ViewModelControlElementProperty("Ставка", ControlType.ControlDecimal, MustHaveValue = true)]
|
||||
[MapConfiguration("Rate")]
|
||||
public decimal Rate { get; set; }
|
||||
|
||||
[ViewModelControlElementProperty("Внутр. совм.", ControlType.ControlBool)]
|
||||
[MapConfiguration("IsInternalCombination")]
|
||||
public bool IsInternalCombination { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Внутр. совм.", 80)]
|
||||
public string InternalCombination => IsInternalCombination ? "Да" : "Нет";
|
||||
|
||||
[ViewModelControlElementProperty("Внеш. совм.", ControlType.ControlBool)]
|
||||
[MapConfiguration("IsExternalCombination")]
|
||||
public bool IsExternalCombination { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Внеш. совм.", 80)]
|
||||
public string ExternalCombination => IsExternalCombination ? "Да" : "Нет";
|
||||
|
||||
public override string ToString() => $"{EmployeeName}-{EmployeePostName}";
|
||||
}
|
||||
}
|
@ -7,12 +7,12 @@ using System;
|
||||
namespace DepartmentBusinessLogic.ViewModels
|
||||
{
|
||||
/// <summary>
|
||||
/// Список ролей
|
||||
/// Список сотрудников
|
||||
/// </summary>
|
||||
public class EmployeeListViewModel : ListViewModel<EmployeeViewModel> { }
|
||||
|
||||
/// <summary>
|
||||
/// Элемент ролей
|
||||
/// Элемент сотрудник
|
||||
/// </summary>
|
||||
[ViewModelControlElementClass(HaveDependenceEntities = true, Width = 800, Height = 500)]
|
||||
//[ViewModelControlElementDependenceEntity(Title = "Сотрудники", Order = 1, ParentPropertyName = "EmployeePostId",
|
||||
@ -38,28 +38,28 @@ namespace DepartmentBusinessLogic.ViewModels
|
||||
public string Patronymic { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Отчество")]
|
||||
[ViewModelControlElementProperty("Отчество", ControlType.ControlDateTime, MustHaveValue = true)]
|
||||
[MapConfiguration("DateBirth")]
|
||||
[ViewModelControlElementProperty("Отчество", ControlType.ControlDateTime, MustHaveValue = true )]
|
||||
[MapConfiguration("DateBirth", AllowCopyWithoutRigth = false)]
|
||||
public DateTime DateBirth { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Адрес")]
|
||||
[ViewModelControlElementProperty("Адрес", ControlType.ControlString, MustHaveValue = true)]
|
||||
[MapConfiguration("Address")]
|
||||
[MapConfiguration("Address", AllowCopyWithoutRigth = false)]
|
||||
public string Address { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Эл. почта")]
|
||||
[ViewModelControlElementProperty("Эл. почта", ControlType.ControlString, MustHaveValue = true)]
|
||||
[MapConfiguration("Email")]
|
||||
[MapConfiguration("Email", AllowCopyWithoutRigth = false)]
|
||||
public string Email { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Моб. номер")]
|
||||
[ViewModelControlElementProperty("Моб. номер", ControlType.ControlString, MustHaveValue = true)]
|
||||
[MapConfiguration("MobileNumber")]
|
||||
[MapConfiguration("MobileNumber", AllowCopyWithoutRigth = false)]
|
||||
public string MobileNumber { get; set; }
|
||||
|
||||
[ViewModelControlListProperty("Дом. номер")]
|
||||
[ViewModelControlElementProperty("Дом. номер", ControlType.ControlString, MustHaveValue = true)]
|
||||
[MapConfiguration("HomeNumber")]
|
||||
[MapConfiguration("HomeNumber", AllowCopyWithoutRigth = false)]
|
||||
public string HomeNumber { get; set; }
|
||||
|
||||
[ViewModelControlElementProperty("Описание", ControlType.ControlText, MustHaveValue = true)]
|
||||
|
Loading…
Reference in New Issue
Block a user