| | | 1 | | using System; |
| | | 2 | | using System.Collections.Generic; |
| | | 3 | | using System.ComponentModel.DataAnnotations; |
| | | 4 | | using SVETA.Api.Validation; |
| | | 5 | | using WinSolutions.Sveta.Server.Data.DataModel.Kinds; |
| | | 6 | | |
| | | 7 | | namespace SVETA.Api.Data.DTO.Notification |
| | | 8 | | { |
| | | 9 | | public class NotificationRequestDTO |
| | | 10 | | { |
| | | 11 | | /// <summary> |
| | | 12 | | /// Отправитель коммуникации |
| | | 13 | | /// </summary> |
| | | 14 | | [DigitValidate(CanBeZero = false, CanBeNegative = true)] |
| | | 15 | | [Display(Name = "Идентификатор отправителя")] |
| | 0 | 16 | | public long SenderId { get; set; } |
| | | 17 | | /// <summary> |
| | | 18 | | /// Список пользователей которым будет отправлена коммуникация |
| | | 19 | | /// </summary> |
| | 0 | 20 | | public List<long> UserIds { get; set; } |
| | | 21 | | /// <summary> |
| | | 22 | | /// Кластер которому будет отправлена коммуникация |
| | | 23 | | /// </summary> |
| | 0 | 24 | | public long ClusterId { get; set; } |
| | | 25 | | /// <summary> |
| | | 26 | | /// Заголовок |
| | | 27 | | /// </summary> |
| | | 28 | | [Required(ErrorMessage = "Тема уведомления не может быть пустой")] |
| | 0 | 29 | | public string Subject { get; set; } |
| | | 30 | | /// <summary> |
| | | 31 | | /// Тело сообщения |
| | | 32 | | /// </summary> |
| | | 33 | | [Required(ErrorMessage = "Тело уведолмения не может быть пустым")] |
| | 0 | 34 | | public string Body { get; set; } |
| | | 35 | | /// <summary> |
| | | 36 | | /// Тип коммуникации (1 - Системная\ 2 - Новость) |
| | | 37 | | /// </summary> |
| | | 38 | | [DigitValidate(CanBeZero = false, CanBeNegative = true)] |
| | | 39 | | [Display(Name = "Идентификатор типа уведомления")] |
| | 0 | 40 | | public int NotificationsType { get; set; } |
| | | 41 | | /// <summary> |
| | | 42 | | /// Время жизни коммуникации |
| | | 43 | | /// </summary> |
| | 0 | 44 | | public DateTimeOffset TimeToTurnOff { get; set; } |
| | | 45 | | } |
| | | 46 | | } |