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; } + } +}