ScientificReport
PublicationEditModel.cs
Go to the documentation of this file.
1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel.DataAnnotations;
4 
5 namespace ScientificReport.DTO.Models.Publication
6 {
7  public class PublicationEditModel
8  {
9  [Required]
10  public Guid Id { get; set; }
11 
12  [Required]
13  public DAL.Entities.Publications.Publication.PublicationTypes Type { get; set; }
14 
15  [Required]
16  public string Title { get; set; }
17 
18  [Required]
19  public string Specification { get; set; }
20 
21  [Required]
22  public string PublishingPlace { get; set; }
23 
24  [Required]
25  public string PublishingHouseName { get; set; }
26 
27  [Required]
28  public int PublishingYear { get; set; }
29 
30  [Required]
31  public int PagesAmount { get; set; }
32 
33  [Required]
34  public DAL.Entities.Publications.Publication.PrintStatuses PrintStatus { get; set; }
35 
36  public IEnumerable<string> PrintStatusOptions { get; set; }
37 
38  public IEnumerable<DAL.Entities.UserProfile.UserProfile> Authors { get; set; }
39 
40  public IEnumerable<DAL.Entities.UserProfile.UserProfile> Users { get; set; }
41 
43  {
44  Init();
45  }
46 
47  public PublicationEditModel(DAL.Entities.Publications.Publication publication)
48  {
49  Init();
50  Id = publication.Id;
51  Type = publication.PublicationType;
52  Title = publication.Title;
53  Specification = publication.Specification;
54  PublishingPlace = publication.PublishingPlace;
55  PublishingHouseName = publication.PublishingHouseName;
56  PublishingYear = publication.PublishingYear;
57  PagesAmount = publication.PagesAmount;
58  PrintStatus = publication.PrintStatus;
59  }
60 
61  private void Init()
62  {
63  PrintStatus = DAL.Entities.Publications.Publication.PrintStatuses.Any;
64  PrintStatusOptions = new[]
65  {
66  "Any",
67  "IsRecommendedToPrint",
68  "IsPrintCanceled"
69  };
70  }
71  }
72 }
PublicationEditModel(DAL.Entities.Publications.Publication publication)