ScientificReport
PublicationCreateModel.cs
Go to the documentation of this file.
4 
5 namespace ScientificReport.DTO.Models.Publication
6 {
7  public class PublicationCreateModel
8  {
9  public Models.Publication Publication { get; set; }
10 
11  public ArticleModel Article { get; set; }
12 
13  public ScientificWork ScientificWork { get; set; }
14 
15  public ReportThesisModel ReportThesis { get; set; }
16 
17  public PublicationTypes PublicationType { get; set; }
18 
19  public enum PublicationTypes
20  {
21  Article, ScientificWork, ReportThesis, Other
22  }
23 
25  {
26  Init();
27  }
28 
29  public PublicationCreateModel(DAL.Entities.Publications.Publication publication)
30  {
31  Init();
32  Publication.Type = publication.PublicationType;
33  Publication.Title = publication.Title;
34  Publication.Specification = publication.Specification;
35  Publication.PublishingPlace = publication.PublishingPlace;
36  Publication.PublishingHouseName = publication.PublishingHouseName;
37  Publication.PublishingYear = publication.PublishingYear;
38  Publication.PagesAmount = publication.PagesAmount;
39  Publication.PrintStatus = publication.PrintStatus;
40  }
41 
42  private void Init()
43  {
44  Publication = new Models.Publication
45  {
46  PrintStatus = DAL.Entities.Publications.Publication.PrintStatuses.Any,
47  PrintStatusOptions = new[] {"Any", "IsRecommendedToPrint", "IsPrintCanceled"}
48  };
49  Article = new ArticleModel();
50  ReportThesis = new ReportThesisModel();
52  }
53 
54  public DAL.Entities.Publications.Publication ToPublication()
55  {
56  return new DAL.Entities.Publications.Publication
57  {
58  PublicationType = Publication.Type,
59  Title = Publication.Title,
60  Specification = Publication.Specification,
61  PublishingPlace = Publication.PublishingPlace,
62  PublishingHouseName = Publication.PublishingHouseName,
63  PublishingYear = Publication.PublishingYear,
64  PagesAmount = Publication.PagesAmount,
65  PrintStatus = Publication.PrintStatus
66  };
67  }
68 
69  public DAL.Entities.Publications.Article ToArticle()
70  {
71  return new DAL.Entities.Publications.Article
72  {
73  ArticleType = Article.Type,
74  Title = Article.Title,
75  Number = Article.Number,
76  PagesAmount = Article.PagesAmount,
77  DocumentInfo = Article.DocumentInfo,
78  IsPeriodical = Article.IsPeriodical,
79  LiabilityInfo = Article.LiabilityInfo,
80  PublishingYear = Article.PublishingYear,
81  PublishingPlace = Article.PublishingPlace,
82  IsPrintCanceled = Article.IsPrintCanceled,
83  PublishingHouseName = Article.PublishingHouseName,
84  IsRecommendedToPrint = Article.IsRecommendedToPrint
85  };
86  }
87  }
88 }
PublicationCreateModel(DAL.Entities.Publications.Publication publication)