From 852119355973c477505f316f0c829c73d5b1d057 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=BD=D0=B0=20=D0=97=D0=B0=D0=B1=D1=80=D0=BE?= =?UTF-8?q?=D0=B4=D0=B8=D0=BD=D0=B0?= Date: Sun, 24 Mar 2024 11:16:24 +0400 Subject: [PATCH] HelperModels --- .../HelperModels/ExcelCellParameters.cs | 13 +++++++++++++ .../HelperModels/ExcelInfoOrganiser.cs | 11 +++++++++++ .../HelperModels/ExcelMergeParameters.cs | 9 +++++++++ .../HelperModels/PdfInfoOrganiser.cs | 18 ++++++++++++++++++ .../OfficePackage/HelperModels/PdfParagraph.cs | 11 +++++++++++ .../HelperModels/PdfRowParameters.cs | 11 +++++++++++ .../HelperModels/WordInfoOrganiser.cs | 11 +++++++++++ .../HelperModels/WordParagraph.cs | 8 ++++++++ .../HelperModels/WordTextProperties.cs | 11 +++++++++++ .../ReportOrganiserBindingModel.cs | 11 +++++++++++ .../IReportOrganiserLogic.cs | 14 ++++++++++++++ .../ReportMemberConferenceViewModel.cs | 10 ++++++++++ .../ViewModels/ReportMembersViewModel.cs | 14 ++++++++++++++ 13 files changed, 152 insertions(+) create mode 100644 Hotel/HotelBusinessLogic/OfficePackage/HelperModels/ExcelCellParameters.cs create mode 100644 Hotel/HotelBusinessLogic/OfficePackage/HelperModels/ExcelInfoOrganiser.cs create mode 100644 Hotel/HotelBusinessLogic/OfficePackage/HelperModels/ExcelMergeParameters.cs create mode 100644 Hotel/HotelBusinessLogic/OfficePackage/HelperModels/PdfInfoOrganiser.cs create mode 100644 Hotel/HotelBusinessLogic/OfficePackage/HelperModels/PdfParagraph.cs create mode 100644 Hotel/HotelBusinessLogic/OfficePackage/HelperModels/PdfRowParameters.cs create mode 100644 Hotel/HotelBusinessLogic/OfficePackage/HelperModels/WordInfoOrganiser.cs create mode 100644 Hotel/HotelBusinessLogic/OfficePackage/HelperModels/WordParagraph.cs create mode 100644 Hotel/HotelBusinessLogic/OfficePackage/HelperModels/WordTextProperties.cs create mode 100644 Hotel/HotelContracts/BindingModels/ReportOrganiserBindingModel.cs create mode 100644 Hotel/HotelContracts/BusinessLogicsContracts/IReportOrganiserLogic.cs create mode 100644 Hotel/HotelContracts/ViewModels/ReportMemberConferenceViewModel.cs create mode 100644 Hotel/HotelContracts/ViewModels/ReportMembersViewModel.cs diff --git a/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/ExcelCellParameters.cs b/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/ExcelCellParameters.cs new file mode 100644 index 0000000..50cdf19 --- /dev/null +++ b/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/ExcelCellParameters.cs @@ -0,0 +1,13 @@ +using HotelBusinessLogic.OfficePackage.HelperEnums; + +namespace HotelBusinessLogic.OfficePackage.HelperModels +{ + public class ExcelCellParameters + { + public string ColumnName { get; set; } = string.Empty; + public uint RowIndex { get; set; } + public string Text { get; set; } = string.Empty; + public string CellReference => $"{ColumnName}{RowIndex}"; + public ExcelStyleInfoType StyleInfo { get; set; } + } +} diff --git a/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/ExcelInfoOrganiser.cs b/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/ExcelInfoOrganiser.cs new file mode 100644 index 0000000..8a8ad8a --- /dev/null +++ b/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/ExcelInfoOrganiser.cs @@ -0,0 +1,11 @@ +using HotelContracts.ViewModels; + +namespace HotelBusinessLogic.OfficePackage.HelperModels +{ + public class ExcelInfoOrganiser + { + public string FileName { get; set; } = string.Empty; + public string Title { get; set; } = string.Empty; + public List MemberConferences { get; set; } = new(); + } +} diff --git a/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/ExcelMergeParameters.cs b/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/ExcelMergeParameters.cs new file mode 100644 index 0000000..74b2c81 --- /dev/null +++ b/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/ExcelMergeParameters.cs @@ -0,0 +1,9 @@ +namespace HotelBusinessLogic.OfficePackage.HelperModels +{ + public class ExcelMergeParameters + { + public string CellFromName { get; set; } = string.Empty; + public string CellToName { get; set; } = string.Empty; + public string Merge => $"{CellFromName}:{CellToName}"; + } +} diff --git a/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/PdfInfoOrganiser.cs b/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/PdfInfoOrganiser.cs new file mode 100644 index 0000000..384beeb --- /dev/null +++ b/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/PdfInfoOrganiser.cs @@ -0,0 +1,18 @@ +using HotelContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelBusinessLogic.OfficePackage.HelperModels +{ + public class PdfInfoOrganiser + { + public string FileName { get; set; } = "C:\\Reports\\pdffile.pdf"; + public string Title { get; set; } = string.Empty; + public DateTime DateFrom { get; set; } + public DateTime DateTo { get; set; } + public List Members { get; set; } = new(); + } +} diff --git a/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/PdfParagraph.cs b/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/PdfParagraph.cs new file mode 100644 index 0000000..34189f9 --- /dev/null +++ b/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/PdfParagraph.cs @@ -0,0 +1,11 @@ +using HotelBusinessLogic.OfficePackage.HelperEnums; + +namespace HotelBusinessLogic.OfficePackage.HelperModels +{ + public class PdfParagraph + { + public string Text { get; set; } = string.Empty; + public string Style { get; set; } = string.Empty; + public PdfParagraphAlignmentType ParagraphAlignment { get; set; } + } +} diff --git a/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/PdfRowParameters.cs b/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/PdfRowParameters.cs new file mode 100644 index 0000000..c382dd8 --- /dev/null +++ b/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/PdfRowParameters.cs @@ -0,0 +1,11 @@ +using HotelBusinessLogic.OfficePackage.HelperEnums; + +namespace HotelBusinessLogic.OfficePackage.HelperModels +{ + public class PdfRowParameters + { + public List Texts { get; set; } = new(); + public string Style { get; set; } = string.Empty; + public PdfParagraphAlignmentType ParagraphAlignment { get; set; } + } +} diff --git a/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/WordInfoOrganiser.cs b/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/WordInfoOrganiser.cs new file mode 100644 index 0000000..3719054 --- /dev/null +++ b/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/WordInfoOrganiser.cs @@ -0,0 +1,11 @@ +using HotelContracts.ViewModels; + +namespace HotelBusinessLogic.OfficePackage.HelperModels +{ + public class WordInfoOrganiser + { + public string FileName { get; set; } = string.Empty; + public string Title { get; set; } = string.Empty; + public List MemberConferences { get; set; } = new(); + } +} diff --git a/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/WordParagraph.cs b/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/WordParagraph.cs new file mode 100644 index 0000000..d9c9873 --- /dev/null +++ b/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/WordParagraph.cs @@ -0,0 +1,8 @@ +namespace HotelBusinessLogic.OfficePackage.HelperModels +{ + public class WordParagraph + { + public List<(string, WordTextProperties)> Texts { get; set; } = new(); + public WordTextProperties? TextProperties { get; set; } + } +} diff --git a/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/WordTextProperties.cs b/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/WordTextProperties.cs new file mode 100644 index 0000000..5dbc2aa --- /dev/null +++ b/Hotel/HotelBusinessLogic/OfficePackage/HelperModels/WordTextProperties.cs @@ -0,0 +1,11 @@ +using HotelBusinessLogic.OfficePackage.HelperEnums; + +namespace HotelBusinessLogic.OfficePackage.HelperModels +{ + public class WordTextProperties + { + public string Size { get; set; } = string.Empty; + public bool Bold { get; set; } + public WordJustificationType JustificationType { get; set; } + } +} diff --git a/Hotel/HotelContracts/BindingModels/ReportOrganiserBindingModel.cs b/Hotel/HotelContracts/BindingModels/ReportOrganiserBindingModel.cs new file mode 100644 index 0000000..92588ac --- /dev/null +++ b/Hotel/HotelContracts/BindingModels/ReportOrganiserBindingModel.cs @@ -0,0 +1,11 @@ +namespace HotelContracts.BindingModels +{ + public class ReportOrganiserBindingModel + { + public string FileName { get; set; } = string.Empty; + public DateTime? DateFrom { get; set; } + public DateTime? DateTo { get; set; } + public List? Ids { get; set; } + public int OrganiserId { get; set; } + } +} diff --git a/Hotel/HotelContracts/BusinessLogicsContracts/IReportOrganiserLogic.cs b/Hotel/HotelContracts/BusinessLogicsContracts/IReportOrganiserLogic.cs new file mode 100644 index 0000000..f4aa573 --- /dev/null +++ b/Hotel/HotelContracts/BusinessLogicsContracts/IReportOrganiserLogic.cs @@ -0,0 +1,14 @@ +using HotelContracts.BindingModels; +using HotelContracts.ViewModels; + +namespace HotelContracts.BusinessLogicsContracts +{ + public interface IReportOrganiserLogic + { + List GetMemberConference(List Ids); + List GetMembers(ReportOrganiserBindingModel model); + void SaveMemberConferenceToWordFile(ReportOrganiserBindingModel model); + void SaveMemberConferenceToExcelFile(ReportOrganiserBindingModel model); + void SaveMembersToPdfFile(ReportOrganiserBindingModel model); + } +} diff --git a/Hotel/HotelContracts/ViewModels/ReportMemberConferenceViewModel.cs b/Hotel/HotelContracts/ViewModels/ReportMemberConferenceViewModel.cs new file mode 100644 index 0000000..5c1c36e --- /dev/null +++ b/Hotel/HotelContracts/ViewModels/ReportMemberConferenceViewModel.cs @@ -0,0 +1,10 @@ +namespace HotelContracts.ViewModels +{ + public class ReportMemberConferenceViewModel + { + public string MemberSurname { get; set; } = string.Empty; + public string MemberName { get; set; } = string.Empty; + public string MemberPatronymic { get; set; } = string.Empty; + public List> Conferences { get; set; } = new(); + } +} diff --git a/Hotel/HotelContracts/ViewModels/ReportMembersViewModel.cs b/Hotel/HotelContracts/ViewModels/ReportMembersViewModel.cs new file mode 100644 index 0000000..5354614 --- /dev/null +++ b/Hotel/HotelContracts/ViewModels/ReportMembersViewModel.cs @@ -0,0 +1,14 @@ +namespace HotelContracts.ViewModels +{ + public class ReportMembersViewModel + { + public int Id { get; set; } + public DateTime StartDate { get; set; } + public string MemberSurname { get; set; } = string.Empty; + public string MemberName { get; set; } = string.Empty; + public string MemberPatronymic { get; set; } = string.Empty; + public string ConferenceName { get; set; } = string.Empty; + public string MealPlanName { get; set; } = string.Empty; + public double MealPlanPrice { get; set; } + } +}