From 8f986c6bebcdca2c0c0e740763e21a1352adeab5 Mon Sep 17 00:00:00 2001 From: pnevmoslon1 Date: Mon, 28 Oct 2024 01:37:59 +0400 Subject: [PATCH 1/5] 1/3 --- ProjectHotel/ProjectHotel/Entities/Athlete.cs | 27 ++++++++++++ .../Entities/Enums/KindOfSport.cs | 24 +++++++++++ ProjectHotel/ProjectHotel/Entities/Hotel.cs | 43 +++++++++++++++++++ .../ProjectHotel/Entities/PlacingAthlete.cs | 28 ++++++++++++ ProjectHotel/ProjectHotel/Entities/Rooms.cs | 28 ++++++++++++ .../Repositories/IAthleteRepository.cs | 17 ++++++++ .../Repositories/IHotelRepository.cs | 17 ++++++++ .../Repositories/IPlacingRepository.cs | 18 ++++++++ .../Repositories/IRoomRepository.cs | 12 ++++++ 9 files changed, 214 insertions(+) create mode 100644 ProjectHotel/ProjectHotel/Entities/Athlete.cs create mode 100644 ProjectHotel/ProjectHotel/Entities/Enums/KindOfSport.cs create mode 100644 ProjectHotel/ProjectHotel/Entities/Hotel.cs create mode 100644 ProjectHotel/ProjectHotel/Entities/PlacingAthlete.cs create mode 100644 ProjectHotel/ProjectHotel/Entities/Rooms.cs create mode 100644 ProjectHotel/ProjectHotel/Repositories/IAthleteRepository.cs create mode 100644 ProjectHotel/ProjectHotel/Repositories/IHotelRepository.cs create mode 100644 ProjectHotel/ProjectHotel/Repositories/IPlacingRepository.cs create mode 100644 ProjectHotel/ProjectHotel/Repositories/IRoomRepository.cs diff --git a/ProjectHotel/ProjectHotel/Entities/Athlete.cs b/ProjectHotel/ProjectHotel/Entities/Athlete.cs new file mode 100644 index 0000000..77ee676 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Entities/Athlete.cs @@ -0,0 +1,27 @@ +using ProjectHotel.Entities.Enums; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Entities; + +public class Athlete +{ + public int Id { get; set; } + public string FirstName { get; private set; } = string.Empty; + public string LastName { get; private set; } = string.Empty; + public KindOfSport KindOfSport { get; private set; } + public static Athlete CreateEntity(int id, string first, string last, KindOfSport kindOfSport) + { + return new Athlete + { + Id = id, + FirstName = first ?? string.Empty, + LastName = last ?? string.Empty, + KindOfSport = kindOfSport + }; + } + +} diff --git a/ProjectHotel/ProjectHotel/Entities/Enums/KindOfSport.cs b/ProjectHotel/ProjectHotel/Entities/Enums/KindOfSport.cs new file mode 100644 index 0000000..c179c78 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Entities/Enums/KindOfSport.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Entities.Enums +{ + public enum KindOfSport + { + None = 0, + Archery = 1, + Athletics = 2, + Badminton = 3, + Basketball = 4, + Boxing = 5, + Cycling = 6, + Fencing = 7, + Gymnastics = 8, + Rowing = 9, + Swimming = 10 + } +} + diff --git a/ProjectHotel/ProjectHotel/Entities/Hotel.cs b/ProjectHotel/ProjectHotel/Entities/Hotel.cs new file mode 100644 index 0000000..de369fd --- /dev/null +++ b/ProjectHotel/ProjectHotel/Entities/Hotel.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Entities; + +public class Hotel +{ + public int Id { get; private set; } + public string HotelName { get; private set; } = string.Empty; + public string Adress { get; private set; } = string.Empty; + public int TotalRooms { get; private set; } + public int SingleRooms { get; private set; } + public int DoubleRooms { get; private set; } + public int TripleRooms { get; private set; } + + + public int AvailableSingleRooms { get; private set; } + public int AvailableDoubleRooms { get; private set; } + public int AvailableTripleRooms { get; private set; } + + + public static Hotel CreateEntity(int id, string hotelName, string adress, int totalRooms, int singleRooms, int doubleRooms, int tripleRooms, + int availableSingleRooms, int availableDoubleRooms, int availableTripleRooms) + { + return new Hotel + { + Id = id, + HotelName = hotelName, + TotalRooms = totalRooms, + Adress = adress, + SingleRooms = singleRooms, + DoubleRooms = doubleRooms, + TripleRooms = tripleRooms, + AvailableSingleRooms = availableSingleRooms, + AvailableDoubleRooms = availableDoubleRooms, + AvailableTripleRooms = tripleRooms + + }; + } +} diff --git a/ProjectHotel/ProjectHotel/Entities/PlacingAthlete.cs b/ProjectHotel/ProjectHotel/Entities/PlacingAthlete.cs new file mode 100644 index 0000000..40c0dff --- /dev/null +++ b/ProjectHotel/ProjectHotel/Entities/PlacingAthlete.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Entities; + +public class PlacingAthlete +{ + public int Id { get; private set; } + public int AthleteId { get; private set;} + public int RoomId { get; private set; } + public DateTime PlacingDate { get; private set; } + public DateTime UnplacingDate { get; private set; } + public static PlacingAthlete CreateOpeartion(int id, int roomId, int athleteId, DateTime unplacing) + { + return new PlacingAthlete + { + Id = id, + AthleteId = athleteId, + RoomId = roomId, + PlacingDate = DateTime.Now, + UnplacingDate = unplacing, + }; + } + +} diff --git a/ProjectHotel/ProjectHotel/Entities/Rooms.cs b/ProjectHotel/ProjectHotel/Entities/Rooms.cs new file mode 100644 index 0000000..9569030 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Entities/Rooms.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static System.Runtime.InteropServices.JavaScript.JSType; + +namespace ProjectHotel.Entities; + +public class Rooms +{ + public int Id { get; private set; } + public int HotelId { get; private set; } + public char RoomType { get; private set; } + public bool IsAvaiable { get; private set; } + public static Rooms CreateEntity(int id, int hotel, char type, bool avalible) + { + return new Rooms + { + Id = id, + HotelId = hotel, + RoomType = type, + IsAvaiable = avalible + }; + + } +} + diff --git a/ProjectHotel/ProjectHotel/Repositories/IAthleteRepository.cs b/ProjectHotel/ProjectHotel/Repositories/IAthleteRepository.cs new file mode 100644 index 0000000..5eedd10 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Repositories/IAthleteRepository.cs @@ -0,0 +1,17 @@ +using ProjectHotel.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Repositories; + +public interface IAthleteRepository +{ + IEnumerable ReadAthletes(); + Athlete ReadAthleteById(int id); + void CreateAthlete(Athlete athlete); + void UpdateAthlete(Athlete athlete); + void DeleteAthlete(int id); +} diff --git a/ProjectHotel/ProjectHotel/Repositories/IHotelRepository.cs b/ProjectHotel/ProjectHotel/Repositories/IHotelRepository.cs new file mode 100644 index 0000000..d523633 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Repositories/IHotelRepository.cs @@ -0,0 +1,17 @@ +using ProjectHotel.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Repositories; + +public interface IHotelRepository +{ + IEnumerable ReadAthletes(); + Athlete ReadHotelById(int id); + void CreateHotel(Hotel hotel); + void UpdateHotel(Hotel hotel); + void DeleteHotel(int id); +} diff --git a/ProjectHotel/ProjectHotel/Repositories/IPlacingRepository.cs b/ProjectHotel/ProjectHotel/Repositories/IPlacingRepository.cs new file mode 100644 index 0000000..a0d31cd --- /dev/null +++ b/ProjectHotel/ProjectHotel/Repositories/IPlacingRepository.cs @@ -0,0 +1,18 @@ +using ProjectHotel.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Repositories; + +public interface IPlacingRepository +{ + IEnumerable ReadPlacing(); + PlacingAthlete ReadPlacingById(int id); + void CreateHotel(PlacingAthlete placing); + void UpdateHotel(PlacingAthlete placing); + void DeletePlacing(int id); +} +} diff --git a/ProjectHotel/ProjectHotel/Repositories/IRoomRepository.cs b/ProjectHotel/ProjectHotel/Repositories/IRoomRepository.cs new file mode 100644 index 0000000..f72d681 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Repositories/IRoomRepository.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Repositories +{ + internal interface IRoomRepository + { + } +} -- 2.25.1 From bcd36cebc608fb8d46b0f79acae570b7cb0120a7 Mon Sep 17 00:00:00 2001 From: pnevmoslon1 Date: Mon, 11 Nov 2024 10:59:50 +0400 Subject: [PATCH 2/5] 1 --- ProjectHotel/ProjectHotel.sln | 12 +- ProjectHotel/ProjectHotel/Entities/Athlete.cs | 9 +- .../ProjectHotel/Entities/AthleteSport.cs | 26 ++++ .../Entities/Enums/AthleteClass.cs | 16 +++ .../Entities/Enums/KindOfSport.cs | 24 ---- .../ProjectHotel/Entities/Enums/Sport.cs | 23 +++ ProjectHotel/ProjectHotel/Entities/Hotel.cs | 22 +-- ProjectHotel/ProjectHotel/Entities/Rooms.cs | 10 +- ProjectHotel/ProjectHotel/Form1.Designer.cs | 39 ----- .../ProjectHotel/Forms/FormHotel.Designer.cs | 92 ++++++++++++ ProjectHotel/ProjectHotel/Forms/FormHotel.cs | 82 +++++++++++ .../{Form1.resx => Forms/FormHotel.resx} | 50 +++---- .../Forms/FormHotelForAthletes.Designer.cs | 124 ++++++++++++++++ .../FormHotelForAthletes.cs} | 4 +- .../Forms/FormHotelForAthletes.resx | 123 ++++++++++++++++ .../ProjectHotel/Forms/FormHotels.Designer.cs | 94 +++++++++++++ ProjectHotel/ProjectHotel/Forms/FormHotels.cs | 108 ++++++++++++++ .../ProjectHotel/Forms/FormHotels.resx | 120 ++++++++++++++++ ProjectHotel/ProjectHotel/Program.cs | 2 +- ProjectHotel/ProjectHotel/ProjectHotel.csproj | 17 ++- .../Properties/Resources.Designer.cs | 83 +++++++++++ .../ProjectHotel/Properties/Resources.resx | 133 ++++++++++++++++++ .../Repositories/IAthleteSportReposetory.cs | 16 +++ .../Repositories/IHotelRepository.cs | 4 +- .../Repositories/IPlacingAthleteRepository.cs | 16 +++ .../Repositories/IPlacingRepository.cs | 18 --- .../Repositories/IRoomRepository.cs | 16 ++- .../Implementations/AthleteRepository.cs | 29 ++++ .../Implementations/AthleteSportRepository.cs | 28 ++++ .../Implementations/HotelRepository.cs | 32 +++++ .../PlacingAthleteRepository.cs | 22 +++ .../Implementations/RoomRepository.cs | 34 +++++ ProjectHotel/ProjectHotel/Resources/hotel.jpg | Bin 0 -> 124311 bytes 33 files changed, 1278 insertions(+), 150 deletions(-) create mode 100644 ProjectHotel/ProjectHotel/Entities/AthleteSport.cs create mode 100644 ProjectHotel/ProjectHotel/Entities/Enums/AthleteClass.cs delete mode 100644 ProjectHotel/ProjectHotel/Entities/Enums/KindOfSport.cs create mode 100644 ProjectHotel/ProjectHotel/Entities/Enums/Sport.cs delete mode 100644 ProjectHotel/ProjectHotel/Form1.Designer.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormHotel.Designer.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormHotel.cs rename ProjectHotel/ProjectHotel/{Form1.resx => Forms/FormHotel.resx} (93%) create mode 100644 ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.Designer.cs rename ProjectHotel/ProjectHotel/{Form1.cs => Forms/FormHotelForAthletes.cs} (50%) create mode 100644 ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.resx create mode 100644 ProjectHotel/ProjectHotel/Forms/FormHotels.Designer.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormHotels.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormHotels.resx create mode 100644 ProjectHotel/ProjectHotel/Properties/Resources.Designer.cs create mode 100644 ProjectHotel/ProjectHotel/Properties/Resources.resx create mode 100644 ProjectHotel/ProjectHotel/Repositories/IAthleteSportReposetory.cs create mode 100644 ProjectHotel/ProjectHotel/Repositories/IPlacingAthleteRepository.cs delete mode 100644 ProjectHotel/ProjectHotel/Repositories/IPlacingRepository.cs create mode 100644 ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteRepository.cs create mode 100644 ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteSportRepository.cs create mode 100644 ProjectHotel/ProjectHotel/Repositories/Implementations/HotelRepository.cs create mode 100644 ProjectHotel/ProjectHotel/Repositories/Implementations/PlacingAthleteRepository.cs create mode 100644 ProjectHotel/ProjectHotel/Repositories/Implementations/RoomRepository.cs create mode 100644 ProjectHotel/ProjectHotel/Resources/hotel.jpg diff --git a/ProjectHotel/ProjectHotel.sln b/ProjectHotel/ProjectHotel.sln index 79aafa7..a7410ac 100644 --- a/ProjectHotel/ProjectHotel.sln +++ b/ProjectHotel/ProjectHotel.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.8.34525.116 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectHotel", "ProjectHotel\ProjectHotel.csproj", "{A2780283-9040-4F10-8929-96574BD22EAD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectHotel", "ProjectHotel\ProjectHotel.csproj", "{C81DFC0D-3F51-4F84-AF78-1ADA30A157B1}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -11,15 +11,15 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A2780283-9040-4F10-8929-96574BD22EAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A2780283-9040-4F10-8929-96574BD22EAD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A2780283-9040-4F10-8929-96574BD22EAD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A2780283-9040-4F10-8929-96574BD22EAD}.Release|Any CPU.Build.0 = Release|Any CPU + {C81DFC0D-3F51-4F84-AF78-1ADA30A157B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C81DFC0D-3F51-4F84-AF78-1ADA30A157B1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C81DFC0D-3F51-4F84-AF78-1ADA30A157B1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C81DFC0D-3F51-4F84-AF78-1ADA30A157B1}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {63AC2E5C-4881-4878-851B-89C4AC958820} + SolutionGuid = {20DC1BC0-A8A5-4BA7-B0A2-533382967ACC} EndGlobalSection EndGlobal diff --git a/ProjectHotel/ProjectHotel/Entities/Athlete.cs b/ProjectHotel/ProjectHotel/Entities/Athlete.cs index 77ee676..c4607a4 100644 --- a/ProjectHotel/ProjectHotel/Entities/Athlete.cs +++ b/ProjectHotel/ProjectHotel/Entities/Athlete.cs @@ -12,15 +12,18 @@ public class Athlete public int Id { get; set; } public string FirstName { get; private set; } = string.Empty; public string LastName { get; private set; } = string.Empty; - public KindOfSport KindOfSport { get; private set; } - public static Athlete CreateEntity(int id, string first, string last, KindOfSport kindOfSport) + public string FatherName { get; private set; } = string.Empty; + public AthleteClass Class { get; set; } + public static Athlete CreateEntity(int id, string first, string last, string father, AthleteClass athleteclass) { return new Athlete { Id = id, FirstName = first ?? string.Empty, LastName = last ?? string.Empty, - KindOfSport = kindOfSport + FatherName = father ?? string.Empty, + Class = athleteclass + }; } diff --git a/ProjectHotel/ProjectHotel/Entities/AthleteSport.cs b/ProjectHotel/ProjectHotel/Entities/AthleteSport.cs new file mode 100644 index 0000000..ab500bd --- /dev/null +++ b/ProjectHotel/ProjectHotel/Entities/AthleteSport.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Entities; + +public class AthleteSport +{ + public int Id { get; private set; } + public int SportId { get; private set; } + + + + public static AthleteSport CreateEntity(int id, int sportId) + { + return new AthleteSport + { + Id = id, + SportId = sportId + + + }; + } +} diff --git a/ProjectHotel/ProjectHotel/Entities/Enums/AthleteClass.cs b/ProjectHotel/ProjectHotel/Entities/Enums/AthleteClass.cs new file mode 100644 index 0000000..556a03e --- /dev/null +++ b/ProjectHotel/ProjectHotel/Entities/Enums/AthleteClass.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Entities.Enums; + +public enum AthleteClass +{ + None = 0, + MSMK = 1, + MS = 2, + KMS = 3 + +} diff --git a/ProjectHotel/ProjectHotel/Entities/Enums/KindOfSport.cs b/ProjectHotel/ProjectHotel/Entities/Enums/KindOfSport.cs deleted file mode 100644 index c179c78..0000000 --- a/ProjectHotel/ProjectHotel/Entities/Enums/KindOfSport.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace ProjectHotel.Entities.Enums -{ - public enum KindOfSport - { - None = 0, - Archery = 1, - Athletics = 2, - Badminton = 3, - Basketball = 4, - Boxing = 5, - Cycling = 6, - Fencing = 7, - Gymnastics = 8, - Rowing = 9, - Swimming = 10 - } -} - diff --git a/ProjectHotel/ProjectHotel/Entities/Enums/Sport.cs b/ProjectHotel/ProjectHotel/Entities/Enums/Sport.cs new file mode 100644 index 0000000..c75799b --- /dev/null +++ b/ProjectHotel/ProjectHotel/Entities/Enums/Sport.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Entities.Enums; + +public enum Sport +{ + None = 0, + Archery = 2, + Athletics = 4, + Badminton = 8, + Basketball = 16, + Boxing = 32, + Cycling = 64, + Fencing = 128, + Gymnastics = 256, + Rowing = 512, + Swimming = 1024 +} + diff --git a/ProjectHotel/ProjectHotel/Entities/Hotel.cs b/ProjectHotel/ProjectHotel/Entities/Hotel.cs index de369fd..38ac0ff 100644 --- a/ProjectHotel/ProjectHotel/Entities/Hotel.cs +++ b/ProjectHotel/ProjectHotel/Entities/Hotel.cs @@ -11,32 +11,16 @@ public class Hotel public int Id { get; private set; } public string HotelName { get; private set; } = string.Empty; public string Adress { get; private set; } = string.Empty; - public int TotalRooms { get; private set; } - public int SingleRooms { get; private set; } - public int DoubleRooms { get; private set; } - public int TripleRooms { get; private set; } - public int AvailableSingleRooms { get; private set; } - public int AvailableDoubleRooms { get; private set; } - public int AvailableTripleRooms { get; private set; } - - - public static Hotel CreateEntity(int id, string hotelName, string adress, int totalRooms, int singleRooms, int doubleRooms, int tripleRooms, - int availableSingleRooms, int availableDoubleRooms, int availableTripleRooms) + public static Hotel CreateEntity(int id, string hotelName, string adress) { return new Hotel { Id = id, HotelName = hotelName, - TotalRooms = totalRooms, - Adress = adress, - SingleRooms = singleRooms, - DoubleRooms = doubleRooms, - TripleRooms = tripleRooms, - AvailableSingleRooms = availableSingleRooms, - AvailableDoubleRooms = availableDoubleRooms, - AvailableTripleRooms = tripleRooms + Adress = adress + }; } diff --git a/ProjectHotel/ProjectHotel/Entities/Rooms.cs b/ProjectHotel/ProjectHotel/Entities/Rooms.cs index 9569030..0792a28 100644 --- a/ProjectHotel/ProjectHotel/Entities/Rooms.cs +++ b/ProjectHotel/ProjectHotel/Entities/Rooms.cs @@ -11,16 +11,16 @@ public class Rooms { public int Id { get; private set; } public int HotelId { get; private set; } - public char RoomType { get; private set; } - public bool IsAvaiable { get; private set; } - public static Rooms CreateEntity(int id, int hotel, char type, bool avalible) + public string Name { get; private set; } = string.Empty; + public int Capacity { get; private set; } + public static Rooms CreateEntity(int id, int hotel, string name, int capacity) { return new Rooms { Id = id, HotelId = hotel, - RoomType = type, - IsAvaiable = avalible + Name = name, + Capacity = capacity }; } diff --git a/ProjectHotel/ProjectHotel/Form1.Designer.cs b/ProjectHotel/ProjectHotel/Form1.Designer.cs deleted file mode 100644 index fe81357..0000000 --- a/ProjectHotel/ProjectHotel/Form1.Designer.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace ProjectHotel -{ - partial class Form1 - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(800, 450); - this.Text = "Form1"; - } - - #endregion - } -} diff --git a/ProjectHotel/ProjectHotel/Forms/FormHotel.Designer.cs b/ProjectHotel/ProjectHotel/Forms/FormHotel.Designer.cs new file mode 100644 index 0000000..e6d5bee --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormHotel.Designer.cs @@ -0,0 +1,92 @@ +namespace ProjectHotel.Forms +{ + partial class FormHotel + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + label1 = new Label(); + label2 = new Label(); + textBoxHotelName = new TextBox(); + textBoxHotelAdress = new TextBox(); + SuspendLayout(); + // + // label1 + // + label1.AutoSize = true; + label1.Location = new Point(15, 41); + label1.Name = "label1"; + label1.Size = new Size(122, 15); + label1.TabIndex = 0; + label1.Text = "Название гостиницы"; + // + // label2 + // + label2.AutoSize = true; + label2.Location = new Point(15, 93); + label2.Name = "label2"; + label2.Size = new Size(46, 15); + label2.TabIndex = 1; + label2.Text = "Адресс"; + // + // textBoxHotelName + // + textBoxHotelName.Location = new Point(168, 38); + textBoxHotelName.Name = "textBoxHotelName"; + textBoxHotelName.Size = new Size(390, 23); + textBoxHotelName.TabIndex = 2; + // + // textBoxHotelAdress + // + textBoxHotelAdress.Location = new Point(168, 90); + textBoxHotelAdress.Name = "textBoxHotelAdress"; + textBoxHotelAdress.Size = new Size(387, 23); + textBoxHotelAdress.TabIndex = 3; + // + // FormHotel + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(570, 167); + Controls.Add(textBoxHotelAdress); + Controls.Add(textBoxHotelName); + Controls.Add(label2); + Controls.Add(label1); + Name = "FormHotel"; + StartPosition = FormStartPosition.CenterParent; + Text = "Гостиница"; + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private Label label1; + private Label label2; + private TextBox textBoxHotelName; + private TextBox textBoxHotelAdress; + } +} \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormHotel.cs b/ProjectHotel/ProjectHotel/Forms/FormHotel.cs new file mode 100644 index 0000000..7f09583 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormHotel.cs @@ -0,0 +1,82 @@ +using ProjectHotel.Entities; +using ProjectHotel.Repositories; +using ProjectHotel.Repositories.Implementations; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ProjectHotel.Forms; + +public partial class FormHotel : Form +{ + private readonly IHotelRepository _hotelRepository; + private int? _hotelId; + public int Id + { + set + { + try + { + var hotel = + _hotelRepository.ReadHotelById(value); + if (hotel == null) + { + throw new + InvalidDataException(nameof(hotel)); + } + textBoxHotelName.Text = hotel.HotelName; + textBoxHotelAdress.Text = + hotel.Adress; + + _hotelId = value; + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при получении данных", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + } + } + public FormHotel(IHotelRepository hotelRepository) + { + InitializeComponent(); + _hotelRepository = hotelRepository ?? + throw new + ArgumentNullException(nameof(hotelRepository)); + } + private void ButtonSave_Click(object sender, EventArgs e) + { + try + { + if (string.IsNullOrWhiteSpace(textBoxHotelName.Text) + || + string.IsNullOrWhiteSpace(textBoxHotelName.Text)) + { + throw new Exception("Имеются незаполненные поля"); + } + if (_hotelId.HasValue) + { + _hotelRepository.UpdateHotel(CreateHotel(_hotelId.Value)); + } + else + { + _hotelRepository.CreateHotel(CreateHotel(0)); + } + Close(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при сохранении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonCancel_Click(object sender, EventArgs e) => Close(); + private Hotel CreateHotel(int id) => Hotel.CreateEntity(id, textBoxHotelName.Text, textBoxHotelAdress.Text); +} + diff --git a/ProjectHotel/ProjectHotel/Form1.resx b/ProjectHotel/ProjectHotel/Forms/FormHotel.resx similarity index 93% rename from ProjectHotel/ProjectHotel/Form1.resx rename to ProjectHotel/ProjectHotel/Forms/FormHotel.resx index 1af7de1..af32865 100644 --- a/ProjectHotel/ProjectHotel/Form1.resx +++ b/ProjectHotel/ProjectHotel/Forms/FormHotel.resx @@ -1,17 +1,17 @@  - diff --git a/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.Designer.cs b/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.Designer.cs new file mode 100644 index 0000000..17894e5 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.Designer.cs @@ -0,0 +1,124 @@ +namespace ProjectHotel +{ + partial class FormHotelForAthletes + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + menuStrip1 = new MenuStrip(); + справочникиToolStripMenuItem = new ToolStripMenuItem(); + комнатыToolStripMenuItem = new ToolStripMenuItem(); + отелелиToolStripMenuItem = new ToolStripMenuItem(); + спортсменыToolStripMenuItem = new ToolStripMenuItem(); + операцииToolStripMenuItem = new ToolStripMenuItem(); + заселениеСпортсменаToolStripMenuItem = new ToolStripMenuItem(); + отчетыToolStripMenuItem = new ToolStripMenuItem(); + menuStrip1.SuspendLayout(); + SuspendLayout(); + // + // menuStrip1 + // + menuStrip1.Items.AddRange(new ToolStripItem[] { справочникиToolStripMenuItem, операцииToolStripMenuItem, отчетыToolStripMenuItem }); + menuStrip1.Location = new Point(0, 0); + menuStrip1.Name = "menuStrip1"; + menuStrip1.Size = new Size(800, 24); + menuStrip1.TabIndex = 0; + menuStrip1.Text = "menuStrip1"; + // + // справочникиToolStripMenuItem + // + справочникиToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { комнатыToolStripMenuItem, отелелиToolStripMenuItem, спортсменыToolStripMenuItem }); + справочникиToolStripMenuItem.Name = "справочникиToolStripMenuItem"; + справочникиToolStripMenuItem.Size = new Size(94, 20); + справочникиToolStripMenuItem.Text = "Справочники"; + // + // комнатыToolStripMenuItem + // + комнатыToolStripMenuItem.Name = "комнатыToolStripMenuItem"; + комнатыToolStripMenuItem.Size = new Size(145, 22); + комнатыToolStripMenuItem.Text = "Комнаты"; + // + // отелелиToolStripMenuItem + // + отелелиToolStripMenuItem.Name = "отелелиToolStripMenuItem"; + отелелиToolStripMenuItem.Size = new Size(145, 22); + отелелиToolStripMenuItem.Text = "Отелели"; + // + // спортсменыToolStripMenuItem + // + спортсменыToolStripMenuItem.Name = "спортсменыToolStripMenuItem"; + спортсменыToolStripMenuItem.Size = new Size(145, 22); + спортсменыToolStripMenuItem.Text = "Спортсмены"; + // + // операцииToolStripMenuItem + // + операцииToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { заселениеСпортсменаToolStripMenuItem }); + операцииToolStripMenuItem.Name = "операцииToolStripMenuItem"; + операцииToolStripMenuItem.Size = new Size(75, 20); + операцииToolStripMenuItem.Text = "Операции"; + // + // заселениеСпортсменаToolStripMenuItem + // + заселениеСпортсменаToolStripMenuItem.Name = "заселениеСпортсменаToolStripMenuItem"; + заселениеСпортсменаToolStripMenuItem.Size = new Size(201, 22); + заселениеСпортсменаToolStripMenuItem.Text = "Заселение спортсмена"; + // + // отчетыToolStripMenuItem + // + отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem"; + отчетыToolStripMenuItem.Size = new Size(60, 20); + отчетыToolStripMenuItem.Text = "Отчеты"; + // + // FormHotelForAthletes + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + BackgroundImage = Properties.Resources.hotel; + BackgroundImageLayout = ImageLayout.Stretch; + ClientSize = new Size(800, 450); + Controls.Add(menuStrip1); + MainMenuStrip = menuStrip1; + Name = "FormHotelForAthletes"; + StartPosition = FormStartPosition.CenterScreen; + Text = "Гостиница"; + menuStrip1.ResumeLayout(false); + menuStrip1.PerformLayout(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private MenuStrip menuStrip1; + private ToolStripMenuItem справочникиToolStripMenuItem; + private ToolStripMenuItem комнатыToolStripMenuItem; + private ToolStripMenuItem отелелиToolStripMenuItem; + private ToolStripMenuItem спортсменыToolStripMenuItem; + private ToolStripMenuItem операцииToolStripMenuItem; + private ToolStripMenuItem заселениеСпортсменаToolStripMenuItem; + private ToolStripMenuItem отчетыToolStripMenuItem; + } +} diff --git a/ProjectHotel/ProjectHotel/Form1.cs b/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.cs similarity index 50% rename from ProjectHotel/ProjectHotel/Form1.cs rename to ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.cs index cddc13a..f56f2e7 100644 --- a/ProjectHotel/ProjectHotel/Form1.cs +++ b/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.cs @@ -1,8 +1,8 @@ namespace ProjectHotel { - public partial class Form1 : Form + public partial class FormHotelForAthletes : Form { - public Form1() + public FormHotelForAthletes() { InitializeComponent(); } diff --git a/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.resx b/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.resx new file mode 100644 index 0000000..a0623c8 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormHotels.Designer.cs b/ProjectHotel/ProjectHotel/Forms/FormHotels.Designer.cs new file mode 100644 index 0000000..dbfce9a --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormHotels.Designer.cs @@ -0,0 +1,94 @@ +namespace ProjectHotel.Forms +{ + partial class FormHotels + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + panel1 = new Panel(); + buttonAdd = new Button(); + buttonChange = new Button(); + buttonDelete = new Button(); + panel1.SuspendLayout(); + SuspendLayout(); + // + // panel1 + // + panel1.Controls.Add(buttonDelete); + panel1.Controls.Add(buttonChange); + panel1.Controls.Add(buttonAdd); + panel1.Dock = DockStyle.Right; + panel1.Location = new Point(632, 0); + panel1.Name = "panel1"; + panel1.Size = new Size(168, 450); + panel1.TabIndex = 0; + // + // buttonAdd + // + buttonAdd.BackgroundImageLayout = ImageLayout.Zoom; + buttonAdd.Location = new Point(24, 12); + buttonAdd.Name = "buttonAdd"; + buttonAdd.Size = new Size(130, 130); + buttonAdd.TabIndex = 0; + buttonAdd.UseVisualStyleBackColor = true; + // + // buttonChange + // + buttonChange.BackgroundImageLayout = ImageLayout.Zoom; + buttonChange.Location = new Point(24, 158); + buttonChange.Name = "buttonChange"; + buttonChange.Size = new Size(130, 130); + buttonChange.TabIndex = 1; + buttonChange.UseVisualStyleBackColor = true; + // + // buttonDelete + // + buttonDelete.Location = new Point(24, 308); + buttonDelete.Name = "buttonDelete"; + buttonDelete.Size = new Size(130, 130); + buttonDelete.TabIndex = 2; + buttonDelete.UseVisualStyleBackColor = true; + // + // FormHotels + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(panel1); + Name = "FormHotels"; + Text = "FormHotels"; + panel1.ResumeLayout(false); + ResumeLayout(false); + } + + #endregion + + private Panel panel1; + private Button buttonAdd; + private Button buttonDelete; + private Button buttonChange; + } +} \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormHotels.cs b/ProjectHotel/ProjectHotel/Forms/FormHotels.cs new file mode 100644 index 0000000..c84373a --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormHotels.cs @@ -0,0 +1,108 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ProjectHotel.Forms; + +public partial class FormHotels : Form +{ + private readonly IUnityContainer _container; + private readonly IAnimalRepository _animalRepository; + public FormAnimals(IUnityContainer container, IAnimalRepository + aimalRepository) + { + InitializeComponent(); + _container = container ?? + throw new ArgumentNullException(nameof(container)); + _animalRepository = aimalRepository ?? + throw new + ArgumentNullException(nameof(aimalRepository)); + } + private void FormAnimals_Load(object sender, EventArgs e) + { + try + { + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при загрузке", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonAdd_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при добавлении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonUpd_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + { + return; + } + try + { + 20 + var form = _container.Resolve(); + form.Id = findId; + form.ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при изменении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonDel_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + { + return; + } + if (MessageBox.Show("Удалить запись?", "Удаление", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return; + } + try + { + _animalRepository.DeleteAnimal(findId); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при удалении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void LoadList() => dataGridViewData.DataSource = _animalRepository.ReadAnimals(); + private bool TryGetIdentifierFromSelectedRow(out int id) + { + id = 0; + if (dataGridViewData.SelectedRows.Count < 1) + { + MessageBox.Show("Нет выбранной записи", "Ошибка", + MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + id = Convert.ToInt32(dataGridViewData.SelectedRows[0].Cells["Id"].Value); + return true; + } +} + + diff --git a/ProjectHotel/ProjectHotel/Forms/FormHotels.resx b/ProjectHotel/ProjectHotel/Forms/FormHotels.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormHotels.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Program.cs b/ProjectHotel/ProjectHotel/Program.cs index 2721a33..8177a3b 100644 --- a/ProjectHotel/ProjectHotel/Program.cs +++ b/ProjectHotel/ProjectHotel/Program.cs @@ -11,7 +11,7 @@ namespace ProjectHotel // To customize application configuration such as set high DPI settings or default font, // see https://aka.ms/applicationconfiguration. ApplicationConfiguration.Initialize(); - Application.Run(new Form1()); + Application.Run(new FormHotelForAthletes()); } } } \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/ProjectHotel.csproj b/ProjectHotel/ProjectHotel/ProjectHotel.csproj index e1a0735..af03d74 100644 --- a/ProjectHotel/ProjectHotel/ProjectHotel.csproj +++ b/ProjectHotel/ProjectHotel/ProjectHotel.csproj @@ -2,10 +2,25 @@ WinExe - net7.0-windows + net8.0-windows enable true enable + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Properties/Resources.Designer.cs b/ProjectHotel/ProjectHotel/Properties/Resources.Designer.cs new file mode 100644 index 0000000..9476918 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Properties/Resources.Designer.cs @@ -0,0 +1,83 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace ProjectHotel.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ProjectHotel.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap AddImage { + get { + object obj = ResourceManager.GetObject("AddImage", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap hotel { + get { + object obj = ResourceManager.GetObject("hotel", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/ProjectHotel/ProjectHotel/Properties/Resources.resx b/ProjectHotel/ProjectHotel/Properties/Resources.resx new file mode 100644 index 0000000..efd84b8 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Properties/Resources.resx @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\ImageChange.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\AddImage.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\hotel.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\ImageChange1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Repositories/IAthleteSportReposetory.cs b/ProjectHotel/ProjectHotel/Repositories/IAthleteSportReposetory.cs new file mode 100644 index 0000000..3c6ded8 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Repositories/IAthleteSportReposetory.cs @@ -0,0 +1,16 @@ +using ProjectHotel.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Repositories; + +public interface IAthleteSportReposetory +{ + IEnumerable ReadAthleteSport(); + AthleteSport ReadAthleteSportById(int id); + void CreateAthleteSport(AthleteSport athleteSport); + void DeleteAthleteSport(int id); +} diff --git a/ProjectHotel/ProjectHotel/Repositories/IHotelRepository.cs b/ProjectHotel/ProjectHotel/Repositories/IHotelRepository.cs index d523633..0519c0e 100644 --- a/ProjectHotel/ProjectHotel/Repositories/IHotelRepository.cs +++ b/ProjectHotel/ProjectHotel/Repositories/IHotelRepository.cs @@ -9,8 +9,8 @@ namespace ProjectHotel.Repositories; public interface IHotelRepository { - IEnumerable ReadAthletes(); - Athlete ReadHotelById(int id); + IEnumerable ReadHotels(); + Hotel ReadHotelById(int id); void CreateHotel(Hotel hotel); void UpdateHotel(Hotel hotel); void DeleteHotel(int id); diff --git a/ProjectHotel/ProjectHotel/Repositories/IPlacingAthleteRepository.cs b/ProjectHotel/ProjectHotel/Repositories/IPlacingAthleteRepository.cs new file mode 100644 index 0000000..89bf0df --- /dev/null +++ b/ProjectHotel/ProjectHotel/Repositories/IPlacingAthleteRepository.cs @@ -0,0 +1,16 @@ +using ProjectHotel.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Repositories; + +public interface IPlacingAthleteRepository +{ + IEnumerable ReadPlacingAthlete(DateTime? dateForm = + null, DateTime? dateTo = null, + int? athleteId = null, int? roomId = null); + void CreatePlacingAthlete(PlacingAthlete placingAthlete); +} diff --git a/ProjectHotel/ProjectHotel/Repositories/IPlacingRepository.cs b/ProjectHotel/ProjectHotel/Repositories/IPlacingRepository.cs deleted file mode 100644 index a0d31cd..0000000 --- a/ProjectHotel/ProjectHotel/Repositories/IPlacingRepository.cs +++ /dev/null @@ -1,18 +0,0 @@ -using ProjectHotel.Entities; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace ProjectHotel.Repositories; - -public interface IPlacingRepository -{ - IEnumerable ReadPlacing(); - PlacingAthlete ReadPlacingById(int id); - void CreateHotel(PlacingAthlete placing); - void UpdateHotel(PlacingAthlete placing); - void DeletePlacing(int id); -} -} diff --git a/ProjectHotel/ProjectHotel/Repositories/IRoomRepository.cs b/ProjectHotel/ProjectHotel/Repositories/IRoomRepository.cs index f72d681..d32eeb3 100644 --- a/ProjectHotel/ProjectHotel/Repositories/IRoomRepository.cs +++ b/ProjectHotel/ProjectHotel/Repositories/IRoomRepository.cs @@ -1,12 +1,18 @@ -using System; +using ProjectHotel.Entities; +using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; -namespace ProjectHotel.Repositories +namespace ProjectHotel.Repositories; + +public interface IRoomRepository { - internal interface IRoomRepository - { - } + + IEnumerable ReadRooms(); + Rooms ReadRoomById(int id); + void CreateRoom(Rooms rooms); + void UpdateRoom(Rooms rooms); + void DeleteRoom(int id); } diff --git a/ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteRepository.cs b/ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteRepository.cs new file mode 100644 index 0000000..c7de4a3 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteRepository.cs @@ -0,0 +1,29 @@ +using ProjectHotel.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Repositories.Implementations; + +internal class AthleteRepository : IAthleteRepository +{ + public void CreateAthlete(Athlete athlete) + { + } + public void DeleteAthlete(int id) + { + } + public Athlete ReadAthleteById(int id) + { + return Athlete.CreateEntity(0, string.Empty, string.Empty, string.Empty, 0); + } + public IEnumerable ReadAthletes() + { + return []; + } + public void UpdateAthlete(Athlete athlete) + { + } +} diff --git a/ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteSportRepository.cs b/ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteSportRepository.cs new file mode 100644 index 0000000..aa4066e --- /dev/null +++ b/ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteSportRepository.cs @@ -0,0 +1,28 @@ +using ProjectHotel.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Repositories.Implementations; + +internal class AthleteSportRepository : IAthleteSportReposetory +{ + public IEnumerable ReadAthleteSport() + { + return []; + } + public AthleteSport ReadAthleteSportById(int id) + { + return AthleteSport.CreateEntity(0, 0); + } + public void CreateAthleteSport(AthleteSport athleteSport) + { + + } + public void DeleteAthleteSport(int id) + { + + } +} diff --git a/ProjectHotel/ProjectHotel/Repositories/Implementations/HotelRepository.cs b/ProjectHotel/ProjectHotel/Repositories/Implementations/HotelRepository.cs new file mode 100644 index 0000000..3b952f6 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Repositories/Implementations/HotelRepository.cs @@ -0,0 +1,32 @@ +using ProjectHotel.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Repositories.Implementations; + +internal class HotelRepository : IHotelRepository +{ + public IEnumerable ReadHotels() + { + return []; + } + public Hotel ReadHotelById(int id) + { + return Hotel.CreateEntity(0, string.Empty, string.Empty); + } + public void CreateHotel(Hotel hotel) + { + + } + public void UpdateHotel(Hotel hotel) + { + + } + public void DeleteHotel(int id) + { + + } +} diff --git a/ProjectHotel/ProjectHotel/Repositories/Implementations/PlacingAthleteRepository.cs b/ProjectHotel/ProjectHotel/Repositories/Implementations/PlacingAthleteRepository.cs new file mode 100644 index 0000000..ae856ab --- /dev/null +++ b/ProjectHotel/ProjectHotel/Repositories/Implementations/PlacingAthleteRepository.cs @@ -0,0 +1,22 @@ +using ProjectHotel.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Repositories.Implementations; + +internal class PlacingAthleteRepository : IPlacingAthleteRepository +{ + public IEnumerable ReadPlacingAthlete(DateTime? dateForm = + null, DateTime? dateTo = null, + int? athleteId = null, int? roomId = null) + { + return []; + } + public void CreatePlacingAthlete(PlacingAthlete placingAthlete) + { + + } +} diff --git a/ProjectHotel/ProjectHotel/Repositories/Implementations/RoomRepository.cs b/ProjectHotel/ProjectHotel/Repositories/Implementations/RoomRepository.cs new file mode 100644 index 0000000..2ba2260 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Repositories/Implementations/RoomRepository.cs @@ -0,0 +1,34 @@ +using ProjectHotel.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Repositories.Implementations +{ + internal class RoomRepository : IRoomRepository + { + public IEnumerable ReadRooms() + { + return []; + } + public Rooms ReadRoomById(int id) + { + return Rooms.CreateEntity(0, 0, string.Empty, 0); + } + public void CreateRoom(Rooms rooms) + { + + } + public void UpdateRoom(Rooms rooms) + { + + } + public void DeleteRoom(int id) + { + + } + + } +} diff --git a/ProjectHotel/ProjectHotel/Resources/hotel.jpg b/ProjectHotel/ProjectHotel/Resources/hotel.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d0397cc09c9786b86e5a7b8d3c9bad7ef74a2c92 GIT binary patch literal 124311 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 Hfgk_brF9Ae literal 0 HcmV?d00001 -- 2.25.1 From 3435de98bef8ec34023f513a7037fda9ae1f68ca Mon Sep 17 00:00:00 2001 From: sqdselo Date: Mon, 11 Nov 2024 14:52:46 +0400 Subject: [PATCH 3/5] 1233 --- ProjectHotel/ProjectHotel/Entities/Athlete.cs | 6 +- .../Entities/AthletePlacingAthlete.cs | 24 ++++ .../ProjectHotel/Entities/AthleteSport.cs | 26 ---- .../ProjectHotel/Entities/CleaningRoom.cs | 23 ++++ .../Entities/Enums/AthleteClass.cs | 16 --- .../ProjectHotel/Entities/Enums/Sport.cs | 23 ---- .../ProjectHotel/Entities/PlacingAthlete.cs | 4 +- .../Forms/FormAthlete.Designer.cs | 114 ++++++++++++++++ .../ProjectHotel/Forms/FormAthlete.cs | 79 +++++++++++ .../ProjectHotel/Forms/FormAthlete.resx | 120 +++++++++++++++++ .../Forms/FormHotelForAthletes.resx | 3 + .../ProjectHotel/Forms/FormHotels.Designer.cs | 64 ++++++--- ProjectHotel/ProjectHotel/Forms/FormHotels.cs | 29 +++-- .../ProjectHotel/Forms/FormRoom.Designer.cs | 55 ++++++++ ProjectHotel/ProjectHotel/Forms/FormRoom.cs | 20 +++ ProjectHotel/ProjectHotel/Forms/FormRoom.resx | 123 ++++++++++++++++++ ProjectHotel/ProjectHotel/ProjectHotel.csproj | 8 ++ .../ProjectHotel.Entities.Hotel.datasource | 10 ++ .../Properties/Resources.Designer.cs | 48 +++++-- .../ProjectHotel/Properties/Resources.resx | 6 +- .../IAthletePlacingAthleteRepository.cs | 15 +++ .../Repositories/IAthleteSportReposetory.cs | 16 --- .../Repositories/ICleaningRoomRepository.cs | 16 +++ .../Repositories/IPlacingAthleteRepository.cs | 5 +- .../AthletePlacingAthleteRepository.cs | 24 ++++ .../Implementations/AthleteRepository.cs | 2 +- .../Implementations/AthleteSportRepository.cs | 28 ---- .../Implementations/CleaningRoomRepository.cs | 24 ++++ .../PlacingAthleteRepository.cs | 8 +- .../ProjectHotel/Resources/AddImage.png | Bin 0 -> 30306 bytes .../ProjectHotel/Resources/ImageChange1.png | Bin 0 -> 16084 bytes .../ProjectHotel/Resources/ImageDelete.png | Bin 0 -> 22548 bytes lab2.vpp | Bin 0 -> 716800 bytes 33 files changed, 767 insertions(+), 172 deletions(-) create mode 100644 ProjectHotel/ProjectHotel/Entities/AthletePlacingAthlete.cs delete mode 100644 ProjectHotel/ProjectHotel/Entities/AthleteSport.cs create mode 100644 ProjectHotel/ProjectHotel/Entities/CleaningRoom.cs delete mode 100644 ProjectHotel/ProjectHotel/Entities/Enums/AthleteClass.cs delete mode 100644 ProjectHotel/ProjectHotel/Entities/Enums/Sport.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormAthlete.Designer.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormAthlete.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormAthlete.resx create mode 100644 ProjectHotel/ProjectHotel/Forms/FormRoom.Designer.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormRoom.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormRoom.resx create mode 100644 ProjectHotel/ProjectHotel/Properties/DataSources/ProjectHotel.Entities.Hotel.datasource create mode 100644 ProjectHotel/ProjectHotel/Repositories/IAthletePlacingAthleteRepository.cs delete mode 100644 ProjectHotel/ProjectHotel/Repositories/IAthleteSportReposetory.cs create mode 100644 ProjectHotel/ProjectHotel/Repositories/ICleaningRoomRepository.cs create mode 100644 ProjectHotel/ProjectHotel/Repositories/Implementations/AthletePlacingAthleteRepository.cs delete mode 100644 ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteSportRepository.cs create mode 100644 ProjectHotel/ProjectHotel/Repositories/Implementations/CleaningRoomRepository.cs create mode 100644 ProjectHotel/ProjectHotel/Resources/AddImage.png create mode 100644 ProjectHotel/ProjectHotel/Resources/ImageChange1.png create mode 100644 ProjectHotel/ProjectHotel/Resources/ImageDelete.png create mode 100644 lab2.vpp diff --git a/ProjectHotel/ProjectHotel/Entities/Athlete.cs b/ProjectHotel/ProjectHotel/Entities/Athlete.cs index c4607a4..080a91d 100644 --- a/ProjectHotel/ProjectHotel/Entities/Athlete.cs +++ b/ProjectHotel/ProjectHotel/Entities/Athlete.cs @@ -1,4 +1,4 @@ -using ProjectHotel.Entities.Enums; + using System; using System.Collections.Generic; using System.Linq; @@ -13,8 +13,7 @@ public class Athlete public string FirstName { get; private set; } = string.Empty; public string LastName { get; private set; } = string.Empty; public string FatherName { get; private set; } = string.Empty; - public AthleteClass Class { get; set; } - public static Athlete CreateEntity(int id, string first, string last, string father, AthleteClass athleteclass) + public static Athlete CreateEntity(int id, string first, string last, string father) { return new Athlete { @@ -22,7 +21,6 @@ public class Athlete FirstName = first ?? string.Empty, LastName = last ?? string.Empty, FatherName = father ?? string.Empty, - Class = athleteclass }; } diff --git a/ProjectHotel/ProjectHotel/Entities/AthletePlacingAthlete.cs b/ProjectHotel/ProjectHotel/Entities/AthletePlacingAthlete.cs new file mode 100644 index 0000000..43e3ab0 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Entities/AthletePlacingAthlete.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Entities; + +public class AthletePlacingAthlete +{ + public int Id { get; set; } + public int AthleteId { get; private set; } + public int PlacingId { get; private set; } + public static AthletePlacingAthlete CreateElement(int id, int athleteId, int placingId) + { + return new AthletePlacingAthlete + { + Id = id, + AthleteId = athleteId, + PlacingId = placingId + }; + } + +} diff --git a/ProjectHotel/ProjectHotel/Entities/AthleteSport.cs b/ProjectHotel/ProjectHotel/Entities/AthleteSport.cs deleted file mode 100644 index ab500bd..0000000 --- a/ProjectHotel/ProjectHotel/Entities/AthleteSport.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace ProjectHotel.Entities; - -public class AthleteSport -{ - public int Id { get; private set; } - public int SportId { get; private set; } - - - - public static AthleteSport CreateEntity(int id, int sportId) - { - return new AthleteSport - { - Id = id, - SportId = sportId - - - }; - } -} diff --git a/ProjectHotel/ProjectHotel/Entities/CleaningRoom.cs b/ProjectHotel/ProjectHotel/Entities/CleaningRoom.cs new file mode 100644 index 0000000..49a45aa --- /dev/null +++ b/ProjectHotel/ProjectHotel/Entities/CleaningRoom.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Entities; + +public class CleaningRoom +{ + public int Id { get; set; } + public int RoomId { get; set; } + public DateTime CleaningDate { get; private set; } + public static CleaningRoom CreateOperation(int id, int roomId) + { + return new CleaningRoom + { + Id = id, + RoomId = roomId, + CleaningDate = DateTime.Now + }; + } +} diff --git a/ProjectHotel/ProjectHotel/Entities/Enums/AthleteClass.cs b/ProjectHotel/ProjectHotel/Entities/Enums/AthleteClass.cs deleted file mode 100644 index 556a03e..0000000 --- a/ProjectHotel/ProjectHotel/Entities/Enums/AthleteClass.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace ProjectHotel.Entities.Enums; - -public enum AthleteClass -{ - None = 0, - MSMK = 1, - MS = 2, - KMS = 3 - -} diff --git a/ProjectHotel/ProjectHotel/Entities/Enums/Sport.cs b/ProjectHotel/ProjectHotel/Entities/Enums/Sport.cs deleted file mode 100644 index c75799b..0000000 --- a/ProjectHotel/ProjectHotel/Entities/Enums/Sport.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace ProjectHotel.Entities.Enums; - -public enum Sport -{ - None = 0, - Archery = 2, - Athletics = 4, - Badminton = 8, - Basketball = 16, - Boxing = 32, - Cycling = 64, - Fencing = 128, - Gymnastics = 256, - Rowing = 512, - Swimming = 1024 -} - diff --git a/ProjectHotel/ProjectHotel/Entities/PlacingAthlete.cs b/ProjectHotel/ProjectHotel/Entities/PlacingAthlete.cs index 40c0dff..10ec6a0 100644 --- a/ProjectHotel/ProjectHotel/Entities/PlacingAthlete.cs +++ b/ProjectHotel/ProjectHotel/Entities/PlacingAthlete.cs @@ -9,16 +9,14 @@ namespace ProjectHotel.Entities; public class PlacingAthlete { public int Id { get; private set; } - public int AthleteId { get; private set;} public int RoomId { get; private set; } public DateTime PlacingDate { get; private set; } public DateTime UnplacingDate { get; private set; } - public static PlacingAthlete CreateOpeartion(int id, int roomId, int athleteId, DateTime unplacing) + public static PlacingAthlete CreateOpeartion(int id, int roomId, DateTime unplacing) { return new PlacingAthlete { Id = id, - AthleteId = athleteId, RoomId = roomId, PlacingDate = DateTime.Now, UnplacingDate = unplacing, diff --git a/ProjectHotel/ProjectHotel/Forms/FormAthlete.Designer.cs b/ProjectHotel/ProjectHotel/Forms/FormAthlete.Designer.cs new file mode 100644 index 0000000..5160b7a --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormAthlete.Designer.cs @@ -0,0 +1,114 @@ +namespace ProjectHotel.Forms +{ + partial class FormAthlete + { + ///

+ /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + labelName = new Label(); + labelSeckondName = new Label(); + labelFatherName = new Label(); + textBoxFirstName = new TextBox(); + textBoxLastName = new TextBox(); + textBoxFatherName = new TextBox(); + SuspendLayout(); + // + // labelName + // + labelName.AutoSize = true; + labelName.Location = new Point(12, 15); + labelName.Name = "labelName"; + labelName.Size = new Size(31, 15); + labelName.TabIndex = 0; + labelName.Text = "Имя"; + // + // labelSeckondName + // + labelSeckondName.AutoSize = true; + labelSeckondName.Location = new Point(12, 59); + labelSeckondName.Name = "labelSeckondName"; + labelSeckondName.Size = new Size(58, 15); + labelSeckondName.TabIndex = 1; + labelSeckondName.Text = "Фамилия"; + // + // labelFatherName + // + labelFatherName.AutoSize = true; + labelFatherName.Location = new Point(12, 104); + labelFatherName.Name = "labelFatherName"; + labelFatherName.Size = new Size(58, 15); + labelFatherName.TabIndex = 2; + labelFatherName.Text = "Отчество"; + // + // textBoxFirstName + // + textBoxFirstName.Location = new Point(99, 12); + textBoxFirstName.Name = "textBoxFirstName"; + textBoxFirstName.Size = new Size(207, 23); + textBoxFirstName.TabIndex = 3; + // + // textBoxLastName + // + textBoxLastName.Location = new Point(99, 56); + textBoxLastName.Name = "textBoxLastName"; + textBoxLastName.Size = new Size(207, 23); + textBoxLastName.TabIndex = 4; + // + // textBoxFatherName + // + textBoxFatherName.Location = new Point(99, 101); + textBoxFatherName.Name = "textBoxFatherName"; + textBoxFatherName.Size = new Size(207, 23); + textBoxFatherName.TabIndex = 5; + // + // FormAthlete + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(318, 139); + Controls.Add(textBoxFatherName); + Controls.Add(textBoxLastName); + Controls.Add(textBoxFirstName); + Controls.Add(labelFatherName); + Controls.Add(labelSeckondName); + Controls.Add(labelName); + Name = "FormAthlete"; + StartPosition = FormStartPosition.CenterParent; + Text = "Спортсмен"; + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private Label labelName; + private Label labelSeckondName; + private Label labelFatherName; + private TextBox textBoxFirstName; + private TextBox textBoxLastName; + private TextBox textBoxFatherName; + } +} \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormAthlete.cs b/ProjectHotel/ProjectHotel/Forms/FormAthlete.cs new file mode 100644 index 0000000..d50b52e --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormAthlete.cs @@ -0,0 +1,79 @@ +using ProjectHotel.Repositories; +using ProjectHotel.Repositories.Implementations; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ProjectHotel.Forms; + +public partial class FormAthlete : Form +{ + private readonly IAthleteRepository _athleteRepository; + private int? _athleteId; + public int Id + { + set + { + try + { + var athlete = _athleteRepository.ReadAthleteById(value); + if (athlete == null) + { + throw new + InvalidDataException(nameof(athlete)); + } + textBoxFirstName.Text = athlete.FirstName; + textBoxLastName.Text = athlete.LastName; + textBoxFatherName.Text = athlete.FatherName; + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при получении данных", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + } + } + public FormAthlete(IAthleteRepository athleteRepository) + { + InitializeComponent(); + _athleteRepository = athleteRepository ?? + throw new + ArgumentNullException(nameof(athleteRepository)); + } + private void ButtonSave_Click(object sender, EventArgs e) + { + try + { + if (string.IsNullOrWhiteSpace(textBoxFirstName.Text) || string.IsNullOrWhiteSpace(textBoxLastName.Text) || string.IsNullOrWhiteSpace(textBoxFatherName.Text)) + { + throw new Exception("Имеются незаполненные поля"); + } + if (_athleteId.HasValue) + { + _athleteRepository.UpdateAthlete(CreateEmployee(_athleteId.Value)); + } + else + { + _athleteRepository.CreateAthlete(CreateAthlete(0)); + } + Close(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при сохранении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonCancel_Click(object sender, EventArgs e) => + Close(); + private Employee CreateEmployee(int id) => + Employee.CreateEntity(id, textBoxFirstName.Text, + textBoxLastName.Text, + (EmployeePost)comboBoxPost.SelectedItem!); +} diff --git a/ProjectHotel/ProjectHotel/Forms/FormAthlete.resx b/ProjectHotel/ProjectHotel/Forms/FormAthlete.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormAthlete.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.resx b/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.resx index a0623c8..a39c409 100644 --- a/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.resx +++ b/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.resx @@ -120,4 +120,7 @@ 17, 17 + + 25 +
\ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormHotels.Designer.cs b/ProjectHotel/ProjectHotel/Forms/FormHotels.Designer.cs index dbfce9a..8960bec 100644 --- a/ProjectHotel/ProjectHotel/Forms/FormHotels.Designer.cs +++ b/ProjectHotel/ProjectHotel/Forms/FormHotels.Designer.cs @@ -1,6 +1,6 @@ namespace ProjectHotel.Forms { - partial class FormHotels + partial class Отели { /// /// Required designer variable. @@ -29,10 +29,12 @@ private void InitializeComponent() { panel1 = new Panel(); - buttonAdd = new Button(); - buttonChange = new Button(); buttonDelete = new Button(); + buttonChange = new Button(); + buttonAdd = new Button(); + dataGridViewData = new DataGridView(); panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).BeginInit(); SuspendLayout(); // // panel1 @@ -46,17 +48,19 @@ panel1.Size = new Size(168, 450); panel1.TabIndex = 0; // - // buttonAdd + // buttonDelete // - buttonAdd.BackgroundImageLayout = ImageLayout.Zoom; - buttonAdd.Location = new Point(24, 12); - buttonAdd.Name = "buttonAdd"; - buttonAdd.Size = new Size(130, 130); - buttonAdd.TabIndex = 0; - buttonAdd.UseVisualStyleBackColor = true; + buttonDelete.BackgroundImage = Properties.Resources.ImageDelete; + buttonDelete.BackgroundImageLayout = ImageLayout.Zoom; + buttonDelete.Location = new Point(24, 308); + buttonDelete.Name = "buttonDelete"; + buttonDelete.Size = new Size(130, 130); + buttonDelete.TabIndex = 2; + buttonDelete.UseVisualStyleBackColor = true; // // buttonChange // + buttonChange.BackgroundImage = Properties.Resources.ImageChange; buttonChange.BackgroundImageLayout = ImageLayout.Zoom; buttonChange.Location = new Point(24, 158); buttonChange.Name = "buttonChange"; @@ -64,23 +68,46 @@ buttonChange.TabIndex = 1; buttonChange.UseVisualStyleBackColor = true; // - // buttonDelete + // buttonAdd // - buttonDelete.Location = new Point(24, 308); - buttonDelete.Name = "buttonDelete"; - buttonDelete.Size = new Size(130, 130); - buttonDelete.TabIndex = 2; - buttonDelete.UseVisualStyleBackColor = true; + buttonAdd.BackgroundImage = Properties.Resources.AddImage; + buttonAdd.BackgroundImageLayout = ImageLayout.Zoom; + buttonAdd.Location = new Point(24, 12); + buttonAdd.Name = "buttonAdd"; + buttonAdd.Size = new Size(130, 130); + buttonAdd.TabIndex = 0; + buttonAdd.UseVisualStyleBackColor = true; // - // FormHotels + // dataGridViewData + // + dataGridViewData.AllowUserToAddRows = false; + dataGridViewData.AllowUserToDeleteRows = false; + dataGridViewData.AllowUserToResizeColumns = false; + dataGridViewData.AllowUserToResizeRows = false; + dataGridViewData.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridViewData.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridViewData.Dock = DockStyle.Fill; + dataGridViewData.Location = new Point(0, 0); + dataGridViewData.MultiSelect = false; + dataGridViewData.Name = "dataGridViewData"; + dataGridViewData.ReadOnly = true; + dataGridViewData.RowHeadersVisible = false; + dataGridViewData.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dataGridViewData.Size = new Size(632, 450); + dataGridViewData.TabIndex = 1; + // + // Отели // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; ClientSize = new Size(800, 450); + Controls.Add(dataGridViewData); Controls.Add(panel1); - Name = "FormHotels"; + Name = "Отели"; + StartPosition = FormStartPosition.CenterParent; Text = "FormHotels"; panel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).EndInit(); ResumeLayout(false); } @@ -90,5 +117,6 @@ private Button buttonAdd; private Button buttonDelete; private Button buttonChange; + private DataGridView dataGridViewData; } } \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormHotels.cs b/ProjectHotel/ProjectHotel/Forms/FormHotels.cs index c84373a..6157dde 100644 --- a/ProjectHotel/ProjectHotel/Forms/FormHotels.cs +++ b/ProjectHotel/ProjectHotel/Forms/FormHotels.cs @@ -1,4 +1,6 @@ -using System; +using ProjectHotel.Repositories; +using ProjectHotel.Repositories.Implementations; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; @@ -7,22 +9,22 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using Unity; namespace ProjectHotel.Forms; -public partial class FormHotels : Form +public partial class Отели : Form { private readonly IUnityContainer _container; - private readonly IAnimalRepository _animalRepository; - public FormAnimals(IUnityContainer container, IAnimalRepository - aimalRepository) + private readonly IHotelRepository _hotelRepository; + + public Отели(IUnityContainer container, IHotelRepository hotelRepository) { InitializeComponent(); _container = container ?? throw new ArgumentNullException(nameof(container)); - _animalRepository = aimalRepository ?? - throw new - ArgumentNullException(nameof(aimalRepository)); + _hotelRepository = hotelRepository ?? + throw new ArgumentNullException(nameof(hotelRepository)); } private void FormAnimals_Load(object sender, EventArgs e) { @@ -40,7 +42,7 @@ public partial class FormHotels : Form { try { - _container.Resolve().ShowDialog(); + _container.Resolve().ShowDialog(); LoadList(); } catch (Exception ex) @@ -57,8 +59,7 @@ public partial class FormHotels : Form } try { - 20 - var form = _container.Resolve(); + var form = _container.Resolve(); form.Id = findId; form.ShowDialog(); LoadList(); @@ -69,7 +70,7 @@ public partial class FormHotels : Form MessageBoxButtons.OK, MessageBoxIcon.Error); } } - private void ButtonDel_Click(object sender, EventArgs e) + private void ButtonDelete_Click(object sender, EventArgs e) { if (!TryGetIdentifierFromSelectedRow(out var findId)) { @@ -81,7 +82,7 @@ public partial class FormHotels : Form } try { - _animalRepository.DeleteAnimal(findId); + _hotelRepository.DeleteHotel(findId); LoadList(); } catch (Exception ex) @@ -90,7 +91,7 @@ public partial class FormHotels : Form MessageBoxButtons.OK, MessageBoxIcon.Error); } } - private void LoadList() => dataGridViewData.DataSource = _animalRepository.ReadAnimals(); + private void LoadList() => dataGridViewData.DataSource = _hotelRepository.ReadHotels(); private bool TryGetIdentifierFromSelectedRow(out int id) { id = 0; diff --git a/ProjectHotel/ProjectHotel/Forms/FormRoom.Designer.cs b/ProjectHotel/ProjectHotel/Forms/FormRoom.Designer.cs new file mode 100644 index 0000000..bf304be --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormRoom.Designer.cs @@ -0,0 +1,55 @@ +namespace ProjectHotel.Forms +{ + partial class Комната + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + hotelBindingSource = new BindingSource(components); + ((System.ComponentModel.ISupportInitialize)hotelBindingSource).BeginInit(); + SuspendLayout(); + // + // hotelBindingSource + // + hotelBindingSource.DataSource = typeof(Entities.Hotel); + // + // Комната + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(584, 389); + Name = "Комната"; + StartPosition = FormStartPosition.CenterParent; + Text = "FormRoom"; + ((System.ComponentModel.ISupportInitialize)hotelBindingSource).EndInit(); + ResumeLayout(false); + } + + #endregion + private BindingSource hotelBindingSource; + } +} \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormRoom.cs b/ProjectHotel/ProjectHotel/Forms/FormRoom.cs new file mode 100644 index 0000000..e4a6c7a --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormRoom.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ProjectHotel.Forms +{ + public partial class Комната : Form + { + public Комната() + { + InitializeComponent(); + } + } +} diff --git a/ProjectHotel/ProjectHotel/Forms/FormRoom.resx b/ProjectHotel/ProjectHotel/Forms/FormRoom.resx new file mode 100644 index 0000000..bfd5f48 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormRoom.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/ProjectHotel.csproj b/ProjectHotel/ProjectHotel/ProjectHotel.csproj index af03d74..24b1910 100644 --- a/ProjectHotel/ProjectHotel/ProjectHotel.csproj +++ b/ProjectHotel/ProjectHotel/ProjectHotel.csproj @@ -23,4 +23,12 @@ + + + + + + + + \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Properties/DataSources/ProjectHotel.Entities.Hotel.datasource b/ProjectHotel/ProjectHotel/Properties/DataSources/ProjectHotel.Entities.Hotel.datasource new file mode 100644 index 0000000..ba6d7c4 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Properties/DataSources/ProjectHotel.Entities.Hotel.datasource @@ -0,0 +1,10 @@ + + + + ProjectHotel.Entities.Hotel, ProjectHotel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Properties/Resources.Designer.cs b/ProjectHotel/ProjectHotel/Properties/Resources.Designer.cs index 9476918..d007245 100644 --- a/ProjectHotel/ProjectHotel/Properties/Resources.Designer.cs +++ b/ProjectHotel/ProjectHotel/Properties/Resources.Designer.cs @@ -1,10 +1,10 @@ //------------------------------------------------------------------------------ // -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 // -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. // //------------------------------------------------------------------------------ @@ -13,12 +13,12 @@ namespace ProjectHotel.Properties { /// - /// A strongly-typed resource class, for looking up localized strings, etc. + /// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д. /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. + // Этот класс создан автоматически классом StronglyTypedResourceBuilder + // с помощью такого средства, как ResGen или Visual Studio. + // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen + // с параметром /str или перестройте свой проект VS. [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] @@ -33,7 +33,7 @@ namespace ProjectHotel.Properties { } /// - /// Returns the cached ResourceManager instance used by this class. + /// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Resources.ResourceManager ResourceManager { @@ -47,8 +47,8 @@ namespace ProjectHotel.Properties { } /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. + /// Перезаписывает свойство CurrentUICulture текущего потока для всех + /// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Globalization.CultureInfo Culture { @@ -61,7 +61,7 @@ namespace ProjectHotel.Properties { } /// - /// Looks up a localized resource of type System.Drawing.Bitmap. + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap AddImage { get { @@ -71,7 +71,7 @@ namespace ProjectHotel.Properties { } /// - /// Looks up a localized resource of type System.Drawing.Bitmap. + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. /// internal static System.Drawing.Bitmap hotel { get { @@ -79,5 +79,25 @@ namespace ProjectHotel.Properties { return ((System.Drawing.Bitmap)(obj)); } } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap ImageChange { + get { + object obj = ResourceManager.GetObject("ImageChange", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap ImageDelete { + get { + object obj = ResourceManager.GetObject("ImageDelete", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } } } diff --git a/ProjectHotel/ProjectHotel/Properties/Resources.resx b/ProjectHotel/ProjectHotel/Properties/Resources.resx index efd84b8..ecd43f5 100644 --- a/ProjectHotel/ProjectHotel/Properties/Resources.resx +++ b/ProjectHotel/ProjectHotel/Properties/Resources.resx @@ -119,7 +119,7 @@ - ..\Resources\ImageChange.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\ImageChange1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\AddImage.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -127,7 +127,7 @@ ..\Resources\hotel.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\ImageChange1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\ImageDelete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Repositories/IAthletePlacingAthleteRepository.cs b/ProjectHotel/ProjectHotel/Repositories/IAthletePlacingAthleteRepository.cs new file mode 100644 index 0000000..00a82fb --- /dev/null +++ b/ProjectHotel/ProjectHotel/Repositories/IAthletePlacingAthleteRepository.cs @@ -0,0 +1,15 @@ +using ProjectHotel.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Repositories; + +internal interface IAthletePlacingAthleteRepository +{ + IEnumerable ReadAthletePlacingAthlete(int? id = null, int? athleteId = null, int? roomId = null); + void CreateAthletePlacingAthlete(AthletePlacingAthlete athletePlacingAthlete); + AthletePlacingAthlete ReadAthleteById(int id); +} diff --git a/ProjectHotel/ProjectHotel/Repositories/IAthleteSportReposetory.cs b/ProjectHotel/ProjectHotel/Repositories/IAthleteSportReposetory.cs deleted file mode 100644 index 3c6ded8..0000000 --- a/ProjectHotel/ProjectHotel/Repositories/IAthleteSportReposetory.cs +++ /dev/null @@ -1,16 +0,0 @@ -using ProjectHotel.Entities; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace ProjectHotel.Repositories; - -public interface IAthleteSportReposetory -{ - IEnumerable ReadAthleteSport(); - AthleteSport ReadAthleteSportById(int id); - void CreateAthleteSport(AthleteSport athleteSport); - void DeleteAthleteSport(int id); -} diff --git a/ProjectHotel/ProjectHotel/Repositories/ICleaningRoomRepository.cs b/ProjectHotel/ProjectHotel/Repositories/ICleaningRoomRepository.cs new file mode 100644 index 0000000..63db9d7 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Repositories/ICleaningRoomRepository.cs @@ -0,0 +1,16 @@ +using ProjectHotel.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Repositories; + +internal interface ICleaningRoomRepository +{ + IEnumerable ReadCleaningRoom(int? id = null, int? roomId = null, int? athleteId = null); + void CreateCleaningRoom(CleaningRoom cleaningRoom); + AthletePlacingAthlete ReadAthleteById(int id); +} + \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Repositories/IPlacingAthleteRepository.cs b/ProjectHotel/ProjectHotel/Repositories/IPlacingAthleteRepository.cs index 89bf0df..90d930d 100644 --- a/ProjectHotel/ProjectHotel/Repositories/IPlacingAthleteRepository.cs +++ b/ProjectHotel/ProjectHotel/Repositories/IPlacingAthleteRepository.cs @@ -9,8 +9,7 @@ namespace ProjectHotel.Repositories; public interface IPlacingAthleteRepository { - IEnumerable ReadPlacingAthlete(DateTime? dateForm = - null, DateTime? dateTo = null, - int? athleteId = null, int? roomId = null); + IEnumerable ReadPlacingAthlete(DateTime? placing = null, DateTime? unplacing = null, int? roomId = null); void CreatePlacingAthlete(PlacingAthlete placingAthlete); + PlacingAthlete ReadPlacingAthleteById(int id); } diff --git a/ProjectHotel/ProjectHotel/Repositories/Implementations/AthletePlacingAthleteRepository.cs b/ProjectHotel/ProjectHotel/Repositories/Implementations/AthletePlacingAthleteRepository.cs new file mode 100644 index 0000000..cf4cc95 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Repositories/Implementations/AthletePlacingAthleteRepository.cs @@ -0,0 +1,24 @@ +using ProjectHotel.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Repositories.Implementations; + +internal class AthletePlacingAthleteRepository +{ + public IEnumerable ReadAthletePlacingAthlete(int? id = null, int? athleteId = null, int? roomId = null) + { + return []; + } + public void CreateAthletePlacingAthlete(AthletePlacingAthleteRepository athletePlacingAthlete) + { + } + + public AthletePlacingAthlete ReadAthleteById(int id) + { + return AthletePlacingAthlete.CreateElement(0, 0, 0); + } +} diff --git a/ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteRepository.cs b/ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteRepository.cs index c7de4a3..02b7f70 100644 --- a/ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteRepository.cs +++ b/ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteRepository.cs @@ -17,7 +17,7 @@ internal class AthleteRepository : IAthleteRepository } public Athlete ReadAthleteById(int id) { - return Athlete.CreateEntity(0, string.Empty, string.Empty, string.Empty, 0); + return Athlete.CreateEntity(0, string.Empty, string.Empty,string.Empty); } public IEnumerable ReadAthletes() { diff --git a/ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteSportRepository.cs b/ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteSportRepository.cs deleted file mode 100644 index aa4066e..0000000 --- a/ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteSportRepository.cs +++ /dev/null @@ -1,28 +0,0 @@ -using ProjectHotel.Entities; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace ProjectHotel.Repositories.Implementations; - -internal class AthleteSportRepository : IAthleteSportReposetory -{ - public IEnumerable ReadAthleteSport() - { - return []; - } - public AthleteSport ReadAthleteSportById(int id) - { - return AthleteSport.CreateEntity(0, 0); - } - public void CreateAthleteSport(AthleteSport athleteSport) - { - - } - public void DeleteAthleteSport(int id) - { - - } -} diff --git a/ProjectHotel/ProjectHotel/Repositories/Implementations/CleaningRoomRepository.cs b/ProjectHotel/ProjectHotel/Repositories/Implementations/CleaningRoomRepository.cs new file mode 100644 index 0000000..f0f4415 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Repositories/Implementations/CleaningRoomRepository.cs @@ -0,0 +1,24 @@ +using ProjectHotel.Entities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Repositories.Implementations; + +internal class CleaningRoomRepository +{ + IEnumerable ReadCleaningRoom(int? id = null, int? roomId = null, int? athleteId = null) + { + return []; + } + void CreateCleaningRoom(CleaningRoom cleaningRoom) + { + + } + AthletePlacingAthlete ReadAthleteById(int id) + { + return AthletePlacingAthlete.CreateElement(0, 0, 0); + } +} diff --git a/ProjectHotel/ProjectHotel/Repositories/Implementations/PlacingAthleteRepository.cs b/ProjectHotel/ProjectHotel/Repositories/Implementations/PlacingAthleteRepository.cs index ae856ab..60773f0 100644 --- a/ProjectHotel/ProjectHotel/Repositories/Implementations/PlacingAthleteRepository.cs +++ b/ProjectHotel/ProjectHotel/Repositories/Implementations/PlacingAthleteRepository.cs @@ -9,9 +9,7 @@ namespace ProjectHotel.Repositories.Implementations; internal class PlacingAthleteRepository : IPlacingAthleteRepository { - public IEnumerable ReadPlacingAthlete(DateTime? dateForm = - null, DateTime? dateTo = null, - int? athleteId = null, int? roomId = null) + public IEnumerable ReadPlacingAthlete(DateTime? plasing = null, DateTime? unplacing = null, int? roomId = null) { return []; } @@ -19,4 +17,8 @@ internal class PlacingAthleteRepository : IPlacingAthleteRepository { } + public PlacingAthlete ReadPlacingAthleteById(int id) + { + return PlacingAthlete.CreateOpeartion(0, 0, DateTime.Now); + } } diff --git a/ProjectHotel/ProjectHotel/Resources/AddImage.png b/ProjectHotel/ProjectHotel/Resources/AddImage.png new file mode 100644 index 0000000000000000000000000000000000000000..87306ed0ddb3fbe8e0189f4a75bd200136ba8ea2 GIT binary patch literal 30306 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 literal 0 HcmV?d00001 diff --git a/ProjectHotel/ProjectHotel/Resources/ImageChange1.png b/ProjectHotel/ProjectHotel/Resources/ImageChange1.png new file mode 100644 index 0000000000000000000000000000000000000000..01a08d0877355109a13398a2ade7ddd5a09d2d4f GIT binary patch literal 16084 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 literal 0 HcmV?d00001 diff --git a/lab2.vpp b/lab2.vpp new file mode 100644 index 0000000000000000000000000000000000000000..5da342e0fc875ef4fde1014a3e804bbe40026a17 GIT binary patch literal 716800 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]V;{$#waVIp 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

WQ5Tv3Hy_ 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 w=c34#nW)VjEwi=4wg^Zu}zZC!h`Tzg` literal 0 HcmV?d00001 -- 2.25.1 From 1df413458a3ac52f4ae87a64e2f95e4f42c03957 Mon Sep 17 00:00:00 2001 From: pnevmoslon1 Date: Mon, 25 Nov 2024 08:31:54 +0400 Subject: [PATCH 4/5] lab1 --- .lab2.vpp.lck | 0 ProjectHotel/ProjectHotel/Entities/Athlete.cs | 5 +- .../Entities/AthletePlacingAthlete.cs | 6 +- .../Entities/Enums/AthleteClass.cs | 16 ++ .../ProjectHotel/Entities/Enums/Sport.cs | 23 +++ ProjectHotel/ProjectHotel/Entities/Hotel.cs | 6 +- .../ProjectHotel/Entities/PlacingAthlete.cs | 10 +- .../Entities/{Rooms.cs => Room.cs} | 6 +- .../Forms/FormAthlete.Designer.cs | 75 +++++++- .../ProjectHotel/Forms/FormAthlete.cs | 48 +++-- .../Forms/FormAthletes.Designer.cs | 125 +++++++++++++ .../ProjectHotel/Forms/FormAthletes.cs | 104 +++++++++++ .../ProjectHotel/Forms/FormAthletes.resx | 120 +++++++++++++ .../Forms/FormCleaningRoom.Designer.cs | 98 +++++++++++ .../ProjectHotel/Forms/FormCleaningRoom.cs | 49 ++++++ .../ProjectHotel/Forms/FormCleaningRoom.resx | 120 +++++++++++++ .../Forms/FormCleaningRooms.Designer.cs | 97 ++++++++++ .../ProjectHotel/Forms/FormCleaningRooms.cs | 54 ++++++ .../ProjectHotel/Forms/FormCleaningRooms.resx | 120 +++++++++++++ .../ProjectHotel/Forms/FormHotel.Designer.cs | 41 ++++- ProjectHotel/ProjectHotel/Forms/FormHotel.cs | 8 +- .../Forms/FormHotelForAthletes.Designer.cs | 103 ++++++----- .../Forms/FormHotelForAthletes.cs | 81 ++++++++- .../ProjectHotel/Forms/FormHotels.Designer.cs | 11 +- ProjectHotel/ProjectHotel/Forms/FormHotels.cs | 10 +- .../Forms/FormPlacingAthlete.Designer.cs | 166 ++++++++++++++++++ .../ProjectHotel/Forms/FormPlacingAthlete.cs | 73 ++++++++ .../Forms/FormPlacingAthlete.resx | 123 +++++++++++++ .../Forms/FormPlacingAthletes.Designer.cs | 110 ++++++++++++ .../ProjectHotel/Forms/FormPlacingAthletes.cs | 89 ++++++++++ .../Forms/FormPlacingAthletes.resx | 120 +++++++++++++ .../ProjectHotel/Forms/FormRoom.Designer.cs | 109 +++++++++++- ProjectHotel/ProjectHotel/Forms/FormRoom.cs | 72 +++++++- ProjectHotel/ProjectHotel/Forms/FormRoom.resx | 24 +++ .../ProjectHotel/Forms/FormRooms.Designer.cs | 125 +++++++++++++ ProjectHotel/ProjectHotel/Forms/FormRooms.cs | 111 ++++++++++++ .../ProjectHotel/Forms/FormRooms.resx | 120 +++++++++++++ ProjectHotel/ProjectHotel/Program.cs | 19 +- ProjectHotel/ProjectHotel/ProjectHotel.csproj | 4 - .../IAthletePlacingAthleteRepository.cs | 15 -- .../Repositories/ICleaningRoomRepository.cs | 6 +- .../Repositories/IPlacingAthleteRepository.cs | 4 +- .../Repositories/IRoomRepository.cs | 8 +- .../AthletePlacingAthleteRepository.cs | 24 --- .../Implementations/AthleteRepository.cs | 2 +- .../Implementations/CleaningRoomRepository.cs | 10 +- .../PlacingAthleteRepository.cs | 6 +- .../Implementations/RoomRepository.cs | 10 +- lab2.vpp | Bin 716800 -> 716800 bytes lab2.vpp.bak_000f | Bin 0 -> 716800 bytes 50 files changed, 2517 insertions(+), 169 deletions(-) create mode 100644 .lab2.vpp.lck create mode 100644 ProjectHotel/ProjectHotel/Entities/Enums/AthleteClass.cs create mode 100644 ProjectHotel/ProjectHotel/Entities/Enums/Sport.cs rename ProjectHotel/ProjectHotel/Entities/{Rooms.cs => Room.cs} (81%) create mode 100644 ProjectHotel/ProjectHotel/Forms/FormAthletes.Designer.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormAthletes.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormAthletes.resx create mode 100644 ProjectHotel/ProjectHotel/Forms/FormCleaningRoom.Designer.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormCleaningRoom.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormCleaningRoom.resx create mode 100644 ProjectHotel/ProjectHotel/Forms/FormCleaningRooms.Designer.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormCleaningRooms.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormCleaningRooms.resx create mode 100644 ProjectHotel/ProjectHotel/Forms/FormPlacingAthlete.Designer.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormPlacingAthlete.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormPlacingAthlete.resx create mode 100644 ProjectHotel/ProjectHotel/Forms/FormPlacingAthletes.Designer.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormPlacingAthletes.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormPlacingAthletes.resx create mode 100644 ProjectHotel/ProjectHotel/Forms/FormRooms.Designer.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormRooms.cs create mode 100644 ProjectHotel/ProjectHotel/Forms/FormRooms.resx delete mode 100644 ProjectHotel/ProjectHotel/Repositories/IAthletePlacingAthleteRepository.cs delete mode 100644 ProjectHotel/ProjectHotel/Repositories/Implementations/AthletePlacingAthleteRepository.cs create mode 100644 lab2.vpp.bak_000f diff --git a/.lab2.vpp.lck b/.lab2.vpp.lck new file mode 100644 index 0000000..e69de29 diff --git a/ProjectHotel/ProjectHotel/Entities/Athlete.cs b/ProjectHotel/ProjectHotel/Entities/Athlete.cs index 080a91d..24f0f5d 100644 --- a/ProjectHotel/ProjectHotel/Entities/Athlete.cs +++ b/ProjectHotel/ProjectHotel/Entities/Athlete.cs @@ -1,4 +1,5 @@  +using ProjectHotel.Entities.Enums; using System; using System.Collections.Generic; using System.Linq; @@ -13,7 +14,9 @@ public class Athlete public string FirstName { get; private set; } = string.Empty; public string LastName { get; private set; } = string.Empty; public string FatherName { get; private set; } = string.Empty; - public static Athlete CreateEntity(int id, string first, string last, string father) + public Sport Sport { get; private set; } + public AthleteClass AthleteClass { get; private set; } + public static Athlete CreateEntity(int id, string first, string last, string father, Sport sport, AthleteClass athleteClass) { return new Athlete { diff --git a/ProjectHotel/ProjectHotel/Entities/AthletePlacingAthlete.cs b/ProjectHotel/ProjectHotel/Entities/AthletePlacingAthlete.cs index 43e3ab0..c715d0f 100644 --- a/ProjectHotel/ProjectHotel/Entities/AthletePlacingAthlete.cs +++ b/ProjectHotel/ProjectHotel/Entities/AthletePlacingAthlete.cs @@ -10,14 +10,14 @@ public class AthletePlacingAthlete { public int Id { get; set; } public int AthleteId { get; private set; } - public int PlacingId { get; private set; } - public static AthletePlacingAthlete CreateElement(int id, int athleteId, int placingId) + public int LengthOfStay { get; private set; } + public static AthletePlacingAthlete CreateElement(int id, int athleteId, int lengthOfStay) { return new AthletePlacingAthlete { Id = id, AthleteId = athleteId, - PlacingId = placingId + LengthOfStay = lengthOfStay }; } diff --git a/ProjectHotel/ProjectHotel/Entities/Enums/AthleteClass.cs b/ProjectHotel/ProjectHotel/Entities/Enums/AthleteClass.cs new file mode 100644 index 0000000..556a03e --- /dev/null +++ b/ProjectHotel/ProjectHotel/Entities/Enums/AthleteClass.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Entities.Enums; + +public enum AthleteClass +{ + None = 0, + MSMK = 1, + MS = 2, + KMS = 3 + +} diff --git a/ProjectHotel/ProjectHotel/Entities/Enums/Sport.cs b/ProjectHotel/ProjectHotel/Entities/Enums/Sport.cs new file mode 100644 index 0000000..0e92e4c --- /dev/null +++ b/ProjectHotel/ProjectHotel/Entities/Enums/Sport.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectHotel.Entities.Enums; +[Flags] +public enum Sport +{ + None = 0, + Archery = 2, + Athletics = 4, + Badminton = 8, + Basketball = 16, + Boxing = 32, + Cycling = 64, + Fencing = 128, + Gymnastics = 256, + Rowing = 512, + Swimming = 1024 +} + diff --git a/ProjectHotel/ProjectHotel/Entities/Hotel.cs b/ProjectHotel/ProjectHotel/Entities/Hotel.cs index 38ac0ff..5425230 100644 --- a/ProjectHotel/ProjectHotel/Entities/Hotel.cs +++ b/ProjectHotel/ProjectHotel/Entities/Hotel.cs @@ -9,16 +9,16 @@ namespace ProjectHotel.Entities; public class Hotel { public int Id { get; private set; } - public string HotelName { get; private set; } = string.Empty; + public string Name { get; private set; } = string.Empty; public string Adress { get; private set; } = string.Empty; - public static Hotel CreateEntity(int id, string hotelName, string adress) + public static Hotel CreateEntity(int id, string name, string adress) { return new Hotel { Id = id, - HotelName = hotelName, + Name = name, Adress = adress diff --git a/ProjectHotel/ProjectHotel/Entities/PlacingAthlete.cs b/ProjectHotel/ProjectHotel/Entities/PlacingAthlete.cs index 10ec6a0..13df528 100644 --- a/ProjectHotel/ProjectHotel/Entities/PlacingAthlete.cs +++ b/ProjectHotel/ProjectHotel/Entities/PlacingAthlete.cs @@ -11,15 +11,19 @@ public class PlacingAthlete public int Id { get; private set; } public int RoomId { get; private set; } public DateTime PlacingDate { get; private set; } - public DateTime UnplacingDate { get; private set; } - public static PlacingAthlete CreateOpeartion(int id, int roomId, DateTime unplacing) + public IEnumerable AthletePlacingAthletes + { + get; + private set; + } = []; + public static PlacingAthlete CreateOpeartion(int id, int roomId, IEnumerable athletePlacingAthletes) { return new PlacingAthlete { Id = id, RoomId = roomId, PlacingDate = DateTime.Now, - UnplacingDate = unplacing, + AthletePlacingAthletes = athletePlacingAthletes }; } diff --git a/ProjectHotel/ProjectHotel/Entities/Rooms.cs b/ProjectHotel/ProjectHotel/Entities/Room.cs similarity index 81% rename from ProjectHotel/ProjectHotel/Entities/Rooms.cs rename to ProjectHotel/ProjectHotel/Entities/Room.cs index 0792a28..28abbd9 100644 --- a/ProjectHotel/ProjectHotel/Entities/Rooms.cs +++ b/ProjectHotel/ProjectHotel/Entities/Room.cs @@ -7,15 +7,15 @@ using static System.Runtime.InteropServices.JavaScript.JSType; namespace ProjectHotel.Entities; -public class Rooms +public class Room { public int Id { get; private set; } public int HotelId { get; private set; } public string Name { get; private set; } = string.Empty; public int Capacity { get; private set; } - public static Rooms CreateEntity(int id, int hotel, string name, int capacity) + public static Room CreateEntity(int id, int hotel, string name, int capacity) { - return new Rooms + return new Room { Id = id, HotelId = hotel, diff --git a/ProjectHotel/ProjectHotel/Forms/FormAthlete.Designer.cs b/ProjectHotel/ProjectHotel/Forms/FormAthlete.Designer.cs index 5160b7a..00bb4e3 100644 --- a/ProjectHotel/ProjectHotel/Forms/FormAthlete.Designer.cs +++ b/ProjectHotel/ProjectHotel/Forms/FormAthlete.Designer.cs @@ -34,6 +34,12 @@ textBoxFirstName = new TextBox(); textBoxLastName = new TextBox(); textBoxFatherName = new TextBox(); + comboBoxClass = new ComboBox(); + labelClass = new Label(); + label1 = new Label(); + checkedListBoxSport = new CheckedListBox(); + buttonSave = new Button(); + buttonCancel = new Button(); SuspendLayout(); // // labelName @@ -84,11 +90,72 @@ textBoxFatherName.Size = new Size(207, 23); textBoxFatherName.TabIndex = 5; // + // comboBoxClass + // + comboBoxClass.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxClass.FormattingEnabled = true; + comboBoxClass.Location = new Point(99, 144); + comboBoxClass.Name = "comboBoxClass"; + comboBoxClass.Size = new Size(207, 23); + comboBoxClass.TabIndex = 6; + // + // labelClass + // + labelClass.AutoSize = true; + labelClass.Location = new Point(12, 147); + labelClass.Name = "labelClass"; + labelClass.Size = new Size(44, 15); + labelClass.TabIndex = 7; + labelClass.Text = "Разряд"; + // + // label1 + // + label1.AutoSize = true; + label1.Location = new Point(12, 186); + label1.Name = "label1"; + label1.Size = new Size(41, 15); + label1.TabIndex = 8; + label1.Text = "Спорт"; + // + // checkedListBoxSport + // + checkedListBoxSport.FormattingEnabled = true; + checkedListBoxSport.Location = new Point(98, 193); + checkedListBoxSport.Name = "checkedListBoxSport"; + checkedListBoxSport.Size = new Size(278, 112); + checkedListBoxSport.TabIndex = 9; + // + // buttonSave + // + buttonSave.Location = new Point(61, 324); + buttonSave.Name = "buttonSave"; + buttonSave.Size = new Size(75, 23); + buttonSave.TabIndex = 11; + buttonSave.Text = "Сохранить"; + buttonSave.UseVisualStyleBackColor = true; + buttonSave.Click += buttonSave_Click; + // + // buttonCancel + // + buttonCancel.Location = new Point(251, 324); + buttonCancel.Name = "buttonCancel"; + buttonCancel.Size = new Size(75, 23); + buttonCancel.TabIndex = 10; + buttonCancel.Text = "Отмена"; + buttonCancel.UseVisualStyleBackColor = true; + buttonCancel.Click += buttonCancel_Click; + // // FormAthlete // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(318, 139); + ClientSize = new Size(388, 359); + Controls.Add(buttonSave); + Controls.Add(buttonCancel); + Controls.Add(checkedListBoxSport); + Controls.Add(label1); + Controls.Add(labelClass); + Controls.Add(comboBoxClass); Controls.Add(textBoxFatherName); Controls.Add(textBoxLastName); Controls.Add(textBoxFirstName); @@ -110,5 +177,11 @@ private TextBox textBoxFirstName; private TextBox textBoxLastName; private TextBox textBoxFatherName; + private ComboBox comboBoxClass; + private Label labelClass; + private Label label1; + private CheckedListBox checkedListBoxSport; + private Button buttonSave; + private Button buttonCancel; } } \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormAthlete.cs b/ProjectHotel/ProjectHotel/Forms/FormAthlete.cs index d50b52e..8ed43b9 100644 --- a/ProjectHotel/ProjectHotel/Forms/FormAthlete.cs +++ b/ProjectHotel/ProjectHotel/Forms/FormAthlete.cs @@ -1,4 +1,7 @@ -using ProjectHotel.Repositories; +using Microsoft.VisualBasic.FileIO; +using ProjectHotel.Entities; +using ProjectHotel.Entities.Enums; +using ProjectHotel.Repositories; using ProjectHotel.Repositories.Implementations; using System; using System.Collections.Generic; @@ -28,9 +31,18 @@ public partial class FormAthlete : Form throw new InvalidDataException(nameof(athlete)); } + foreach (Sport elem in Enum.GetValues(typeof(Sport))) + { + if ((elem & athlete.Sport) != 0) + { + checkedListBoxSport.SetItemChecked(checkedListBoxSport.Items.IndexOf(elem), true); + } + } + textBoxFirstName.Text = athlete.FirstName; textBoxLastName.Text = athlete.LastName; textBoxFatherName.Text = athlete.FatherName; + comboBoxClass.SelectedItem = athlete.AthleteClass; } catch (Exception ex) { @@ -43,20 +55,27 @@ public partial class FormAthlete : Form { InitializeComponent(); _athleteRepository = athleteRepository ?? - throw new - ArgumentNullException(nameof(athleteRepository)); + throw new ArgumentNullException(nameof(athleteRepository)); + foreach (var elem in Enum.GetValues(typeof(Sport))) + { + checkedListBoxSport.Items.Add(elem); + } + comboBoxClass.DataSource = Enum.GetValues(typeof(AthleteClass)); } - private void ButtonSave_Click(object sender, EventArgs e) + private void buttonSave_Click(object sender, EventArgs e) { try { - if (string.IsNullOrWhiteSpace(textBoxFirstName.Text) || string.IsNullOrWhiteSpace(textBoxLastName.Text) || string.IsNullOrWhiteSpace(textBoxFatherName.Text)) + if (string.IsNullOrWhiteSpace(textBoxFirstName.Text) || + string.IsNullOrWhiteSpace(textBoxLastName.Text) || + string.IsNullOrWhiteSpace(textBoxFatherName.Text) || + comboBoxClass.SelectedIndex < 0 || checkedListBoxSport.SelectedIndex < 0) { throw new Exception("Имеются незаполненные поля"); } if (_athleteId.HasValue) { - _athleteRepository.UpdateAthlete(CreateEmployee(_athleteId.Value)); + _athleteRepository.UpdateAthlete(CreateAthlete(_athleteId.Value)); } else { @@ -70,10 +89,17 @@ public partial class FormAthlete : Form MessageBoxButtons.OK, MessageBoxIcon.Error); } } - private void ButtonCancel_Click(object sender, EventArgs e) => + private void buttonCancel_Click(object sender, EventArgs e) => Close(); - private Employee CreateEmployee(int id) => - Employee.CreateEntity(id, textBoxFirstName.Text, - textBoxLastName.Text, - (EmployeePost)comboBoxPost.SelectedItem!); + private Athlete CreateAthlete(int id) + { + Sport sport = Sport.None; + foreach (var elem in checkedListBoxSport.CheckedItems) + { + sport |= (Sport)elem; + } + return Athlete.CreateEntity(id, textBoxFirstName.Text, textBoxLastName.Text, + textBoxFatherName.Text, sport, (AthleteClass)comboBoxClass.SelectedItem!); + } + } diff --git a/ProjectHotel/ProjectHotel/Forms/FormAthletes.Designer.cs b/ProjectHotel/ProjectHotel/Forms/FormAthletes.Designer.cs new file mode 100644 index 0000000..9257812 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormAthletes.Designer.cs @@ -0,0 +1,125 @@ +namespace ProjectHotel.Forms +{ + partial class FormAthletes + { + ///

+ /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + panel1 = new Panel(); + buttonDelete = new Button(); + buttonChange = new Button(); + buttonAdd = new Button(); + dataGridViewData = new DataGridView(); + panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).BeginInit(); + SuspendLayout(); + // + // panel1 + // + panel1.Controls.Add(buttonDelete); + panel1.Controls.Add(buttonChange); + panel1.Controls.Add(buttonAdd); + panel1.Dock = DockStyle.Right; + panel1.Location = new Point(632, 0); + panel1.Name = "panel1"; + panel1.Size = new Size(168, 450); + panel1.TabIndex = 1; + // + // buttonDelete + // + buttonDelete.BackgroundImage = Properties.Resources.ImageDelete; + buttonDelete.BackgroundImageLayout = ImageLayout.Zoom; + buttonDelete.Location = new Point(24, 308); + buttonDelete.Name = "buttonDelete"; + buttonDelete.Size = new Size(130, 130); + buttonDelete.TabIndex = 2; + buttonDelete.UseVisualStyleBackColor = true; + buttonDelete.Click += ButtonDelete_Click; + // + // buttonChange + // + buttonChange.BackgroundImage = Properties.Resources.ImageChange; + buttonChange.BackgroundImageLayout = ImageLayout.Zoom; + buttonChange.Location = new Point(24, 158); + buttonChange.Name = "buttonChange"; + buttonChange.Size = new Size(130, 130); + buttonChange.TabIndex = 1; + buttonChange.UseVisualStyleBackColor = true; + buttonChange.Click += ButtonChange_Click; + // + // buttonAdd + // + buttonAdd.BackgroundImage = Properties.Resources.AddImage; + buttonAdd.BackgroundImageLayout = ImageLayout.Zoom; + buttonAdd.Location = new Point(24, 12); + buttonAdd.Name = "buttonAdd"; + buttonAdd.Size = new Size(130, 130); + buttonAdd.TabIndex = 0; + buttonAdd.UseVisualStyleBackColor = true; + buttonAdd.Click += ButtonAdd_Click; + // + // dataGridViewData + // + dataGridViewData.AllowUserToAddRows = false; + dataGridViewData.AllowUserToDeleteRows = false; + dataGridViewData.AllowUserToResizeColumns = false; + dataGridViewData.AllowUserToResizeRows = false; + dataGridViewData.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridViewData.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridViewData.Dock = DockStyle.Fill; + dataGridViewData.Location = new Point(0, 0); + dataGridViewData.MultiSelect = false; + dataGridViewData.Name = "dataGridViewData"; + dataGridViewData.ReadOnly = true; + dataGridViewData.RowHeadersVisible = false; + dataGridViewData.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dataGridViewData.Size = new Size(632, 450); + dataGridViewData.TabIndex = 2; + // + // FormAthletes + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(dataGridViewData); + Controls.Add(panel1); + Name = "FormAthletes"; + StartPosition = FormStartPosition.CenterParent; + Text = "FormAthletes"; + panel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).EndInit(); + ResumeLayout(false); + } + + #endregion + + private Panel panel1; + private Button buttonDelete; + private Button buttonChange; + private Button buttonAdd; + private DataGridView dataGridViewData; + } +} \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormAthletes.cs b/ProjectHotel/ProjectHotel/Forms/FormAthletes.cs new file mode 100644 index 0000000..0a15bd6 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormAthletes.cs @@ -0,0 +1,104 @@ +using ProjectHotel.Repositories; +using ProjectHotel.Repositories.Implementations; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using Unity; + +namespace ProjectHotel.Forms; + +public partial class FormAthletes : Form +{ + private readonly IUnityContainer _container; + private readonly IAthleteRepository _athleteRepository; + public FormAthletes(IUnityContainer container, IAthleteRepository athleteRepository) + { + InitializeComponent(); + _container = container ?? throw new ArgumentNullException(nameof(container)); + _athleteRepository = athleteRepository ?? throw new ArgumentNullException(nameof(athleteRepository)); + } + private void FormAthletes_Load(object sender, EventArgs e) + { + try + { + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при загрузке", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonAdd_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при добавлении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void ButtonChange_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + { + return; + } + try + { + var form = _container.Resolve(); + form.Id = findId; + form.ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при изменении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonDelete_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + { + return; + } + if (MessageBox.Show("Удалить запись?", "Удаление", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return; + } + try + { + _athleteRepository.DeleteAthlete(findId); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при удалении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void LoadList() => dataGridViewData.DataSource = _athleteRepository.ReadAthletes(); + private bool TryGetIdentifierFromSelectedRow(out int id) + { + id = 0; + if (dataGridViewData.SelectedRows.Count < 1) + { + MessageBox.Show("Нет выбранной записи", "Ошибка", + MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + id = Convert.ToInt32(dataGridViewData.SelectedRows[0].Cells["Id"].Value); + return true; + } +} diff --git a/ProjectHotel/ProjectHotel/Forms/FormAthletes.resx b/ProjectHotel/ProjectHotel/Forms/FormAthletes.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormAthletes.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormCleaningRoom.Designer.cs b/ProjectHotel/ProjectHotel/Forms/FormCleaningRoom.Designer.cs new file mode 100644 index 0000000..de8788f --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormCleaningRoom.Designer.cs @@ -0,0 +1,98 @@ +namespace ProjectHotel.Forms +{ + partial class FormCleaningRoom + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + labelRoom = new Label(); + comboBoxRoom = new ComboBox(); + buttonSave = new Button(); + buttonCancel = new Button(); + SuspendLayout(); + // + // labelRoom + // + labelRoom.AutoSize = true; + labelRoom.Location = new Point(46, 54); + labelRoom.Name = "labelRoom"; + labelRoom.Size = new Size(97, 15); + labelRoom.TabIndex = 0; + labelRoom.Text = "Номер комнаты"; + // + // comboBoxRoom + // + comboBoxRoom.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxRoom.FormattingEnabled = true; + comboBoxRoom.Location = new Point(176, 51); + comboBoxRoom.Name = "comboBoxRoom"; + comboBoxRoom.Size = new Size(161, 23); + comboBoxRoom.TabIndex = 1; + // + // buttonSave + // + buttonSave.Location = new Point(68, 149); + buttonSave.Name = "buttonSave"; + buttonSave.Size = new Size(75, 23); + buttonSave.TabIndex = 2; + buttonSave.Text = "Сохранить"; + buttonSave.UseVisualStyleBackColor = true; + buttonSave.Click += ButtonSave_Click; + // + // buttonCancel + // + buttonCancel.Location = new Point(218, 149); + buttonCancel.Name = "buttonCancel"; + buttonCancel.Size = new Size(75, 23); + buttonCancel.TabIndex = 3; + buttonCancel.Text = "Отмена"; + buttonCancel.UseVisualStyleBackColor = true; + buttonCancel.Click += ButtonCancel_Click; + // + // FormCleaningRoom + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(364, 194); + Controls.Add(buttonCancel); + Controls.Add(buttonSave); + Controls.Add(comboBoxRoom); + Controls.Add(labelRoom); + Name = "FormCleaningRoom"; + StartPosition = FormStartPosition.CenterParent; + Text = "FormCleaningRoom"; + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private Label labelRoom; + private ComboBox comboBoxRoom; + private Button buttonSave; + private Button buttonCancel; + } +} \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormCleaningRoom.cs b/ProjectHotel/ProjectHotel/Forms/FormCleaningRoom.cs new file mode 100644 index 0000000..7329423 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormCleaningRoom.cs @@ -0,0 +1,49 @@ +using ProjectHotel.Entities.Enums; +using ProjectHotel.Entities; +using ProjectHotel.Repositories; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ProjectHotel.Forms; + +public partial class FormCleaningRoom : Form +{ + private readonly ICleaningRoomRepository _cleaningRoomRepository; + + public FormCleaningRoom(ICleaningRoomRepository cleaningRoomRepository, IRoomRepository roomRepository) + { + InitializeComponent(); + _cleaningRoomRepository = cleaningRoomRepository ?? + throw new ArgumentNullException(nameof(cleaningRoomRepository)); + comboBoxRoom.DataSource = roomRepository.ReadRooms(); + comboBoxRoom.DisplayMember = "Name"; + comboBoxRoom.ValueMember = "Id"; + + } + private void ButtonSave_Click(object sender, EventArgs e) + { + try + { + if (comboBoxRoom.SelectedIndex < 0) + { + throw new Exception("Имеются незаполненные поля"); + } + _cleaningRoomRepository.CreateCleaningRoom(CleaningRoom.CreateOperation(0, (int)comboBoxRoom.SelectedValue!)); + Close(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при сохранении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonCancel_Click(object sender, EventArgs e) => Close(); + +} diff --git a/ProjectHotel/ProjectHotel/Forms/FormCleaningRoom.resx b/ProjectHotel/ProjectHotel/Forms/FormCleaningRoom.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormCleaningRoom.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormCleaningRooms.Designer.cs b/ProjectHotel/ProjectHotel/Forms/FormCleaningRooms.Designer.cs new file mode 100644 index 0000000..17b6da6 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormCleaningRooms.Designer.cs @@ -0,0 +1,97 @@ +namespace ProjectHotel.Forms +{ + partial class FormCleaningRooms + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + dataGridViewData = new DataGridView(); + panel1 = new Panel(); + buttonAdd = new Button(); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).BeginInit(); + panel1.SuspendLayout(); + SuspendLayout(); + // + // dataGridViewData + // + dataGridViewData.AllowUserToAddRows = false; + dataGridViewData.AllowUserToDeleteRows = false; + dataGridViewData.AllowUserToResizeColumns = false; + dataGridViewData.AllowUserToResizeRows = false; + dataGridViewData.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridViewData.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridViewData.Dock = DockStyle.Fill; + dataGridViewData.Location = new Point(0, 0); + dataGridViewData.MultiSelect = false; + dataGridViewData.Name = "dataGridViewData"; + dataGridViewData.ReadOnly = true; + dataGridViewData.RowHeadersVisible = false; + dataGridViewData.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dataGridViewData.Size = new Size(579, 445); + dataGridViewData.TabIndex = 5; + // + // panel1 + // + panel1.Controls.Add(buttonAdd); + panel1.Dock = DockStyle.Right; + panel1.Location = new Point(579, 0); + panel1.Name = "panel1"; + panel1.Size = new Size(168, 445); + panel1.TabIndex = 4; + // + // buttonAdd + // + buttonAdd.BackgroundImage = Properties.Resources.AddImage; + buttonAdd.BackgroundImageLayout = ImageLayout.Zoom; + buttonAdd.Location = new Point(26, 146); + buttonAdd.Name = "buttonAdd"; + buttonAdd.Size = new Size(130, 130); + buttonAdd.TabIndex = 0; + buttonAdd.UseVisualStyleBackColor = true; + buttonAdd.Click += ButtonAdd_Click; + // + // FormCleaningRooms + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(747, 445); + Controls.Add(dataGridViewData); + Controls.Add(panel1); + Name = "FormCleaningRooms"; + StartPosition = FormStartPosition.CenterParent; + Text = "FormCleaningRooms"; + ((System.ComponentModel.ISupportInitialize)dataGridViewData).EndInit(); + panel1.ResumeLayout(false); + ResumeLayout(false); + } + + #endregion + + private DataGridView dataGridViewData; + private Panel panel1; + private Button buttonAdd; + } +} \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormCleaningRooms.cs b/ProjectHotel/ProjectHotel/Forms/FormCleaningRooms.cs new file mode 100644 index 0000000..4ccfd97 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormCleaningRooms.cs @@ -0,0 +1,54 @@ +using ProjectHotel.Repositories; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using Unity; + +namespace ProjectHotel.Forms; + +public partial class FormCleaningRooms : Form +{ + private readonly IUnityContainer _container; + private readonly ICleaningRoomRepository _cleaningRoomRepository; + public FormCleaningRooms(IUnityContainer container, ICleaningRoomRepository cleaningRoomRepository) + { + InitializeComponent(); + _container = container ?? + throw new ArgumentNullException(nameof(container)); + _cleaningRoomRepository = cleaningRoomRepository ?? + throw new ArgumentNullException(nameof(cleaningRoomRepository)); + } + private void FormCleaningRooms_Load(object sender, EventArgs e) + { + try + { + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при загрузке", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonAdd_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при добавлении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void LoadList() => dataGridViewData.DataSource = _cleaningRoomRepository.ReadCleaningRooms(); +} + + diff --git a/ProjectHotel/ProjectHotel/Forms/FormCleaningRooms.resx b/ProjectHotel/ProjectHotel/Forms/FormCleaningRooms.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormCleaningRooms.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormHotel.Designer.cs b/ProjectHotel/ProjectHotel/Forms/FormHotel.Designer.cs index e6d5bee..8fbb75a 100644 --- a/ProjectHotel/ProjectHotel/Forms/FormHotel.Designer.cs +++ b/ProjectHotel/ProjectHotel/Forms/FormHotel.Designer.cs @@ -31,7 +31,9 @@ label1 = new Label(); label2 = new Label(); textBoxHotelName = new TextBox(); - textBoxHotelAdress = new TextBox(); + textBoxHotelAddress = new TextBox(); + buttonSave = new Button(); + buttonCancel = new Button(); SuspendLayout(); // // label1 @@ -59,19 +61,41 @@ textBoxHotelName.Size = new Size(390, 23); textBoxHotelName.TabIndex = 2; // - // textBoxHotelAdress + // textBoxHotelAddress // - textBoxHotelAdress.Location = new Point(168, 90); - textBoxHotelAdress.Name = "textBoxHotelAdress"; - textBoxHotelAdress.Size = new Size(387, 23); - textBoxHotelAdress.TabIndex = 3; + textBoxHotelAddress.Location = new Point(168, 90); + textBoxHotelAddress.Name = "textBoxHotelAddress"; + textBoxHotelAddress.Size = new Size(387, 23); + textBoxHotelAddress.TabIndex = 3; + // + // buttonSave + // + buttonSave.Location = new Point(105, 136); + buttonSave.Name = "buttonSave"; + buttonSave.Size = new Size(75, 23); + buttonSave.TabIndex = 4; + buttonSave.Text = "Сохранить"; + buttonSave.UseVisualStyleBackColor = true; + buttonSave.Click += ButtonSave_Click; + // + // buttonCancel + // + buttonCancel.Location = new Point(385, 136); + buttonCancel.Name = "buttonCancel"; + buttonCancel.Size = new Size(75, 23); + buttonCancel.TabIndex = 5; + buttonCancel.Text = "Отмена"; + buttonCancel.UseVisualStyleBackColor = true; + buttonCancel.Click += ButtonCancel_Click; // // FormHotel // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; ClientSize = new Size(570, 167); - Controls.Add(textBoxHotelAdress); + Controls.Add(buttonCancel); + Controls.Add(buttonSave); + Controls.Add(textBoxHotelAddress); Controls.Add(textBoxHotelName); Controls.Add(label2); Controls.Add(label1); @@ -88,5 +112,8 @@ private Label label2; private TextBox textBoxHotelName; private TextBox textBoxHotelAdress; + private Button buttonSave; + private Button buttonCancel; + private TextBox textBoxHotelAddress; } } \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormHotel.cs b/ProjectHotel/ProjectHotel/Forms/FormHotel.cs index 7f09583..eb664df 100644 --- a/ProjectHotel/ProjectHotel/Forms/FormHotel.cs +++ b/ProjectHotel/ProjectHotel/Forms/FormHotel.cs @@ -30,7 +30,7 @@ public partial class FormHotel : Form throw new InvalidDataException(nameof(hotel)); } - textBoxHotelName.Text = hotel.HotelName; + textBoxHotelName.Text = hotel.Name; textBoxHotelAdress.Text = hotel.Adress; @@ -39,7 +39,7 @@ public partial class FormHotel : Form catch (Exception ex) { MessageBox.Show(ex.Message, "Ошибка при получении данных", MessageBoxButtons.OK, MessageBoxIcon.Error); - return; + return; } } } @@ -56,7 +56,7 @@ public partial class FormHotel : Form { if (string.IsNullOrWhiteSpace(textBoxHotelName.Text) || - string.IsNullOrWhiteSpace(textBoxHotelName.Text)) + string.IsNullOrWhiteSpace(textBoxHotelAddress.Text)) { throw new Exception("Имеются незаполненные поля"); } @@ -78,5 +78,7 @@ public partial class FormHotel : Form } private void ButtonCancel_Click(object sender, EventArgs e) => Close(); private Hotel CreateHotel(int id) => Hotel.CreateEntity(id, textBoxHotelName.Text, textBoxHotelAdress.Text); + + } diff --git a/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.Designer.cs b/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.Designer.cs index 17894e5..d08df32 100644 --- a/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.Designer.cs +++ b/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.Designer.cs @@ -29,68 +29,80 @@ private void InitializeComponent() { menuStrip1 = new MenuStrip(); - справочникиToolStripMenuItem = new ToolStripMenuItem(); - комнатыToolStripMenuItem = new ToolStripMenuItem(); - отелелиToolStripMenuItem = new ToolStripMenuItem(); - спортсменыToolStripMenuItem = new ToolStripMenuItem(); - операцииToolStripMenuItem = new ToolStripMenuItem(); - заселениеСпортсменаToolStripMenuItem = new ToolStripMenuItem(); - отчетыToolStripMenuItem = new ToolStripMenuItem(); + DirectoriesToolStripMenuItem = new ToolStripMenuItem(); + RoomsToolStripMenuItem = new ToolStripMenuItem(); + HotelsToolStripMenuItem = new ToolStripMenuItem(); + AthletesToolStripMenuItem = new ToolStripMenuItem(); + OperationsToolStripMenuItem = new ToolStripMenuItem(); + PlacingAthleteToolStripMenuItem = new ToolStripMenuItem(); + CleaningRoomToolStripMenuItem = new ToolStripMenuItem(); + ReportsToolStripMenuItem = new ToolStripMenuItem(); menuStrip1.SuspendLayout(); SuspendLayout(); // // menuStrip1 // - menuStrip1.Items.AddRange(new ToolStripItem[] { справочникиToolStripMenuItem, операцииToolStripMenuItem, отчетыToolStripMenuItem }); + menuStrip1.Items.AddRange(new ToolStripItem[] { DirectoriesToolStripMenuItem, OperationsToolStripMenuItem, ReportsToolStripMenuItem }); menuStrip1.Location = new Point(0, 0); menuStrip1.Name = "menuStrip1"; menuStrip1.Size = new Size(800, 24); menuStrip1.TabIndex = 0; menuStrip1.Text = "menuStrip1"; // - // справочникиToolStripMenuItem + // DirectoriesToolStripMenuItem // - справочникиToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { комнатыToolStripMenuItem, отелелиToolStripMenuItem, спортсменыToolStripMenuItem }); - справочникиToolStripMenuItem.Name = "справочникиToolStripMenuItem"; - справочникиToolStripMenuItem.Size = new Size(94, 20); - справочникиToolStripMenuItem.Text = "Справочники"; + DirectoriesToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { RoomsToolStripMenuItem, HotelsToolStripMenuItem, AthletesToolStripMenuItem }); + DirectoriesToolStripMenuItem.Name = "DirectoriesToolStripMenuItem"; + DirectoriesToolStripMenuItem.Size = new Size(94, 20); + DirectoriesToolStripMenuItem.Text = "Справочники"; // - // комнатыToolStripMenuItem + // RoomsToolStripMenuItem // - комнатыToolStripMenuItem.Name = "комнатыToolStripMenuItem"; - комнатыToolStripMenuItem.Size = new Size(145, 22); - комнатыToolStripMenuItem.Text = "Комнаты"; + RoomsToolStripMenuItem.Name = "RoomsToolStripMenuItem"; + RoomsToolStripMenuItem.Size = new Size(180, 22); + RoomsToolStripMenuItem.Text = "Комнаты"; + RoomsToolStripMenuItem.Click += RoomsToolStripMenuItem_Click; // - // отелелиToolStripMenuItem + // HotelsToolStripMenuItem // - отелелиToolStripMenuItem.Name = "отелелиToolStripMenuItem"; - отелелиToolStripMenuItem.Size = new Size(145, 22); - отелелиToolStripMenuItem.Text = "Отелели"; + HotelsToolStripMenuItem.Name = "HotelsToolStripMenuItem"; + HotelsToolStripMenuItem.Size = new Size(180, 22); + HotelsToolStripMenuItem.Text = "Отелели"; + HotelsToolStripMenuItem.Click += HotelsToolStripMenuItem_Click; // - // спортсменыToolStripMenuItem + // AthletesToolStripMenuItem // - спортсменыToolStripMenuItem.Name = "спортсменыToolStripMenuItem"; - спортсменыToolStripMenuItem.Size = new Size(145, 22); - спортсменыToolStripMenuItem.Text = "Спортсмены"; + AthletesToolStripMenuItem.Name = "AthletesToolStripMenuItem"; + AthletesToolStripMenuItem.Size = new Size(180, 22); + AthletesToolStripMenuItem.Text = "Спортсмены"; + AthletesToolStripMenuItem.Click += AthletesToolStripMenuItem_Click; // - // операцииToolStripMenuItem + // OperationsToolStripMenuItem // - операцииToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { заселениеСпортсменаToolStripMenuItem }); - операцииToolStripMenuItem.Name = "операцииToolStripMenuItem"; - операцииToolStripMenuItem.Size = new Size(75, 20); - операцииToolStripMenuItem.Text = "Операции"; + OperationsToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { PlacingAthleteToolStripMenuItem, CleaningRoomToolStripMenuItem }); + OperationsToolStripMenuItem.Name = "OperationsToolStripMenuItem"; + OperationsToolStripMenuItem.Size = new Size(75, 20); + OperationsToolStripMenuItem.Text = "Операции"; // - // заселениеСпортсменаToolStripMenuItem + // PlacingAthleteToolStripMenuItem // - заселениеСпортсменаToolStripMenuItem.Name = "заселениеСпортсменаToolStripMenuItem"; - заселениеСпортсменаToolStripMenuItem.Size = new Size(201, 22); - заселениеСпортсменаToolStripMenuItem.Text = "Заселение спортсмена"; + PlacingAthleteToolStripMenuItem.Name = "PlacingAthleteToolStripMenuItem"; + PlacingAthleteToolStripMenuItem.Size = new Size(201, 22); + PlacingAthleteToolStripMenuItem.Text = "Заселение спортсмена"; + PlacingAthleteToolStripMenuItem.Click += PlacingAthleteToolStripMenuItem_Click; // - // отчетыToolStripMenuItem + // CleaningRoomToolStripMenuItem // - отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem"; - отчетыToolStripMenuItem.Size = new Size(60, 20); - отчетыToolStripMenuItem.Text = "Отчеты"; + CleaningRoomToolStripMenuItem.Name = "CleaningRoomToolStripMenuItem"; + CleaningRoomToolStripMenuItem.Size = new Size(201, 22); + CleaningRoomToolStripMenuItem.Text = "Уборка комнаты"; + CleaningRoomToolStripMenuItem.Click += CleaningRoomToolStripMenuItem_Click; + // + // ReportsToolStripMenuItem + // + ReportsToolStripMenuItem.Name = "ReportsToolStripMenuItem"; + ReportsToolStripMenuItem.Size = new Size(60, 20); + ReportsToolStripMenuItem.Text = "Отчеты"; // // FormHotelForAthletes // @@ -113,12 +125,13 @@ #endregion private MenuStrip menuStrip1; - private ToolStripMenuItem справочникиToolStripMenuItem; - private ToolStripMenuItem комнатыToolStripMenuItem; - private ToolStripMenuItem отелелиToolStripMenuItem; - private ToolStripMenuItem спортсменыToolStripMenuItem; - private ToolStripMenuItem операцииToolStripMenuItem; - private ToolStripMenuItem заселениеСпортсменаToolStripMenuItem; - private ToolStripMenuItem отчетыToolStripMenuItem; + private ToolStripMenuItem DirectoriesToolStripMenuItem; + private ToolStripMenuItem RoomsToolStripMenuItem; + private ToolStripMenuItem HotelsToolStripMenuItem; + private ToolStripMenuItem AthletesToolStripMenuItem; + private ToolStripMenuItem OperationsToolStripMenuItem; + private ToolStripMenuItem PlacingAthleteToolStripMenuItem; + private ToolStripMenuItem ReportsToolStripMenuItem; + private ToolStripMenuItem CleaningRoomToolStripMenuItem; } } diff --git a/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.cs b/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.cs index f56f2e7..8c05fc4 100644 --- a/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.cs +++ b/ProjectHotel/ProjectHotel/Forms/FormHotelForAthletes.cs @@ -1,10 +1,83 @@ -namespace ProjectHotel +using ProjectHotel.Forms; +using System.ComponentModel; +using System.Xml.Linq; +using Unity; + +namespace ProjectHotel; + +public partial class FormHotelForAthletes : Form { - public partial class FormHotelForAthletes : Form + private readonly IUnityContainer _container; + public FormHotelForAthletes(IUnityContainer container) { - public FormHotelForAthletes() + InitializeComponent(); + _container = container ?? + throw new ArgumentNullException(nameof(container)); + } + + private void RoomsToolStripMenuItem_Click(object sender, EventArgs e) + { + try { - InitializeComponent(); + _container.Resolve().ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, " ", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + + } + + private void HotelsToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, " ", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void AthletesToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, " ", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void PlacingAthleteToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, " ", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void CleaningRoomToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, " ", + MessageBoxButtons.OK, MessageBoxIcon.Error); } } } diff --git a/ProjectHotel/ProjectHotel/Forms/FormHotels.Designer.cs b/ProjectHotel/ProjectHotel/Forms/FormHotels.Designer.cs index 8960bec..d8f13ae 100644 --- a/ProjectHotel/ProjectHotel/Forms/FormHotels.Designer.cs +++ b/ProjectHotel/ProjectHotel/Forms/FormHotels.Designer.cs @@ -1,6 +1,6 @@ namespace ProjectHotel.Forms { - partial class Отели + partial class FormHotels { ///
/// Required designer variable. @@ -57,6 +57,7 @@ buttonDelete.Size = new Size(130, 130); buttonDelete.TabIndex = 2; buttonDelete.UseVisualStyleBackColor = true; + buttonDelete.Click += ButtonDelete_Click; // // buttonChange // @@ -67,6 +68,7 @@ buttonChange.Size = new Size(130, 130); buttonChange.TabIndex = 1; buttonChange.UseVisualStyleBackColor = true; + buttonChange.Click += ButtonChange_Click; // // buttonAdd // @@ -77,6 +79,7 @@ buttonAdd.Size = new Size(130, 130); buttonAdd.TabIndex = 0; buttonAdd.UseVisualStyleBackColor = true; + buttonAdd.Click += ButtonAdd_Click; // // dataGridViewData // @@ -96,16 +99,16 @@ dataGridViewData.Size = new Size(632, 450); dataGridViewData.TabIndex = 1; // - // Отели + // FormHotels // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; ClientSize = new Size(800, 450); Controls.Add(dataGridViewData); Controls.Add(panel1); - Name = "Отели"; + Name = "FormHotels"; StartPosition = FormStartPosition.CenterParent; - Text = "FormHotels"; + Text = "Гостиницы"; panel1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)dataGridViewData).EndInit(); ResumeLayout(false); diff --git a/ProjectHotel/ProjectHotel/Forms/FormHotels.cs b/ProjectHotel/ProjectHotel/Forms/FormHotels.cs index 6157dde..099b259 100644 --- a/ProjectHotel/ProjectHotel/Forms/FormHotels.cs +++ b/ProjectHotel/ProjectHotel/Forms/FormHotels.cs @@ -13,12 +13,12 @@ using Unity; namespace ProjectHotel.Forms; -public partial class Отели : Form +public partial class FormHotels : Form { private readonly IUnityContainer _container; private readonly IHotelRepository _hotelRepository; - public Отели(IUnityContainer container, IHotelRepository hotelRepository) + public FormHotels(IUnityContainer container, IHotelRepository hotelRepository) { InitializeComponent(); _container = container ?? @@ -26,7 +26,7 @@ public partial class Отели : Form _hotelRepository = hotelRepository ?? throw new ArgumentNullException(nameof(hotelRepository)); } - private void FormAnimals_Load(object sender, EventArgs e) + private void FormRoom_Load(object sender, EventArgs e) { try { @@ -51,7 +51,7 @@ public partial class Отели : Form MessageBoxButtons.OK, MessageBoxIcon.Error); } } - private void ButtonUpd_Click(object sender, EventArgs e) + private void ButtonChange_Click(object sender, EventArgs e) { if (!TryGetIdentifierFromSelectedRow(out var findId)) { @@ -104,6 +104,8 @@ public partial class Отели : Form id = Convert.ToInt32(dataGridViewData.SelectedRows[0].Cells["Id"].Value); return true; } + + } diff --git a/ProjectHotel/ProjectHotel/Forms/FormPlacingAthlete.Designer.cs b/ProjectHotel/ProjectHotel/Forms/FormPlacingAthlete.Designer.cs new file mode 100644 index 0000000..8be2f83 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormPlacingAthlete.Designer.cs @@ -0,0 +1,166 @@ +namespace ProjectHotel.Forms +{ + partial class FormPlacingAthlete + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + DataGridViewCellStyle dataGridViewCellStyle1 = new DataGridViewCellStyle(); + label1 = new Label(); + label2 = new Label(); + buttonCancel = new Button(); + buttonSave = new Button(); + comboBoxRoom = new ComboBox(); + groupBox1 = new GroupBox(); + dataGridView = new DataGridView(); + ColumnAthlete = new DataGridViewComboBoxColumn(); + ColumnLengthOfStay = new DataGridViewTextBoxColumn(); + groupBox1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit(); + SuspendLayout(); + // + // label1 + // + label1.AutoSize = true; + label1.Location = new Point(58, 35); + label1.Name = "label1"; + label1.Size = new Size(54, 15); + label1.TabIndex = 0; + label1.Text = "Комната"; + // + // label2 + // + label2.AutoSize = true; + label2.Location = new Point(58, 90); + label2.Name = "label2"; + label2.Size = new Size(156, 15); + label2.TabIndex = 1; + label2.Text = "Длительность проживания"; + // + // buttonCancel + // + buttonCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonCancel.Location = new Point(304, 479); + buttonCancel.Name = "buttonCancel"; + buttonCancel.Size = new Size(75, 23); + buttonCancel.TabIndex = 5; + buttonCancel.Text = "Отмена"; + buttonCancel.UseVisualStyleBackColor = true; + buttonCancel.Click += ButtonCancel_Click; + // + // buttonSave + // + buttonSave.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + buttonSave.Location = new Point(111, 479); + buttonSave.Name = "buttonSave"; + buttonSave.Size = new Size(75, 23); + buttonSave.TabIndex = 4; + buttonSave.Text = "Сохранить"; + buttonSave.UseVisualStyleBackColor = true; + buttonSave.Click += ButtonSave_Click; + // + // comboBoxRoom + // + comboBoxRoom.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxRoom.FormattingEnabled = true; + comboBoxRoom.Location = new Point(118, 32); + comboBoxRoom.Name = "comboBoxRoom"; + comboBoxRoom.Size = new Size(382, 23); + comboBoxRoom.TabIndex = 6; + // + // groupBox1 + // + groupBox1.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; + groupBox1.Controls.Add(dataGridView); + groupBox1.Location = new Point(12, 130); + groupBox1.Name = "groupBox1"; + groupBox1.Size = new Size(491, 329); + groupBox1.TabIndex = 7; + groupBox1.TabStop = false; + groupBox1.Text = "Спортсмены"; + // + // dataGridView + // + dataGridView.AllowUserToResizeColumns = false; + dataGridView.AllowUserToResizeRows = false; + dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridView.Columns.AddRange(new DataGridViewColumn[] { ColumnAthlete, ColumnLengthOfStay }); + dataGridView.Dock = DockStyle.Fill; + dataGridView.Location = new Point(3, 19); + dataGridView.MultiSelect = false; + dataGridView.Name = "dataGridView"; + dataGridView.RowHeadersVisible = false; + dataGridViewCellStyle1.Alignment = DataGridViewContentAlignment.MiddleCenter; + dataGridView.RowsDefaultCellStyle = dataGridViewCellStyle1; + dataGridView.Size = new Size(485, 307); + dataGridView.TabIndex = 0; + // + // ColumnAthlete + // + ColumnAthlete.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox; + ColumnAthlete.HeaderText = "Спортсмен"; + ColumnAthlete.Name = "ColumnAthlete"; + // + // ColumnLengthOfStay + // + ColumnLengthOfStay.HeaderText = "Длительность проживания"; + ColumnLengthOfStay.Name = "ColumnLengthOfStay"; + // + // FormAthletePlacingAthlete + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(515, 534); + Controls.Add(groupBox1); + Controls.Add(comboBoxRoom); + Controls.Add(buttonCancel); + Controls.Add(buttonSave); + Controls.Add(label2); + Controls.Add(label1); + Name = "FormAthletePlacingAthlete"; + StartPosition = FormStartPosition.CenterParent; + Text = "Размещение спортсмена"; + groupBox1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private Label label1; + private Label label2; + private Label label3; + private Button buttonCancel; + private Button buttonSave; + private ComboBox comboBoxRoom; + private GroupBox groupBox1; + private DataGridView dataGridView; + private DataGridViewComboBoxColumn ColumnAthlete; + private DataGridViewTextBoxColumn ColumnLengthOfStay; + } +} \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormPlacingAthlete.cs b/ProjectHotel/ProjectHotel/Forms/FormPlacingAthlete.cs new file mode 100644 index 0000000..8c7ef6a --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormPlacingAthlete.cs @@ -0,0 +1,73 @@ +using ProjectHotel.Entities; +using ProjectHotel.Repositories; +using ProjectHotel.Repositories.Implementations; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ProjectHotel.Forms; + +public partial class FormPlacingAthlete : Form +{ + private readonly IPlacingAthleteRepository _placingAthleteRepository; + public FormPlacingAthlete(IPlacingAthleteRepository placingAthleteRepository, + IRoomRepository roomRepository, + IAthleteRepository athleteRepository) + { + InitializeComponent(); + _placingAthleteRepository = placingAthleteRepository ?? + throw new ArgumentNullException(nameof(placingAthleteRepository)); + comboBoxRoom.DataSource = roomRepository.ReadRooms(); + comboBoxRoom.DisplayMember = "Name"; + comboBoxRoom.ValueMember = "Id"; + ColumnAthlete.DataSource = athleteRepository.ReadAthletes(); + ColumnAthlete.DisplayMember = "FirstName"; + ColumnAthlete.ValueMember = "Id"; + } + private void ButtonSave_Click(object sender, EventArgs e) + { + try + { + if (dataGridView.RowCount < 1 || + comboBoxRoom.SelectedIndex < 0) + { + throw new Exception("Имеются незаполненные поля"); + } + _placingAthleteRepository.CreatePlacingAthlete(PlacingAthlete.CreateOpeartion(0,(int)comboBoxRoom.SelectedValue!, + CreateListAthletePlacingAthleteFromDataGrid())); + Close(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при сохранении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonCancel_Click(object sender, EventArgs e) => Close(); + private List + CreateListAthletePlacingAthleteFromDataGrid() + { + var list = new List(); + foreach (DataGridViewRow row in dataGridView.Rows) + { + if (row.Cells["ColumnFeed"].Value == null || + row.Cells["ColumnCount"].Value == null) + { + continue; + } + list.Add(AthletePlacingAthlete.CreateElement(0, + Convert.ToInt32(row.Cells["ColumnAthlete"].Value), + Convert.ToInt32(row.Cells["ColumnLengthOfStay"].Value))); + } + return list; + } + +} + + diff --git a/ProjectHotel/ProjectHotel/Forms/FormPlacingAthlete.resx b/ProjectHotel/ProjectHotel/Forms/FormPlacingAthlete.resx new file mode 100644 index 0000000..28a69c7 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormPlacingAthlete.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormPlacingAthletes.Designer.cs b/ProjectHotel/ProjectHotel/Forms/FormPlacingAthletes.Designer.cs new file mode 100644 index 0000000..fe7af57 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormPlacingAthletes.Designer.cs @@ -0,0 +1,110 @@ +namespace ProjectHotel.Forms +{ + partial class FormPlacingAthletes + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + dataGridViewData = new DataGridView(); + panel1 = new Panel(); + buttonDelete = new Button(); + buttonAdd = new Button(); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).BeginInit(); + panel1.SuspendLayout(); + SuspendLayout(); + // + // dataGridViewData + // + dataGridViewData.AllowUserToAddRows = false; + dataGridViewData.AllowUserToDeleteRows = false; + dataGridViewData.AllowUserToResizeColumns = false; + dataGridViewData.AllowUserToResizeRows = false; + dataGridViewData.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridViewData.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridViewData.Dock = DockStyle.Fill; + dataGridViewData.Location = new Point(0, 0); + dataGridViewData.MultiSelect = false; + dataGridViewData.Name = "dataGridViewData"; + dataGridViewData.ReadOnly = true; + dataGridViewData.RowHeadersVisible = false; + dataGridViewData.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dataGridViewData.Size = new Size(632, 450); + dataGridViewData.TabIndex = 3; + // + // panel1 + // + panel1.Controls.Add(buttonDelete); + panel1.Controls.Add(buttonAdd); + panel1.Dock = DockStyle.Right; + panel1.Location = new Point(632, 0); + panel1.Name = "panel1"; + panel1.Size = new Size(168, 450); + panel1.TabIndex = 2; + // + // buttonDelete + // + buttonDelete.BackgroundImage = Properties.Resources.ImageDelete; + buttonDelete.BackgroundImageLayout = ImageLayout.Zoom; + buttonDelete.Location = new Point(26, 248); + buttonDelete.Name = "buttonDelete"; + buttonDelete.Size = new Size(130, 130); + buttonDelete.TabIndex = 2; + buttonDelete.UseVisualStyleBackColor = true; + buttonDelete.Click += ButtonDelete_Click; + // + // buttonAdd + // + buttonAdd.BackgroundImage = Properties.Resources.AddImage; + buttonAdd.BackgroundImageLayout = ImageLayout.Zoom; + buttonAdd.Location = new Point(24, 51); + buttonAdd.Name = "buttonAdd"; + buttonAdd.Size = new Size(130, 130); + buttonAdd.TabIndex = 0; + buttonAdd.UseVisualStyleBackColor = true; + buttonAdd.Click += ButtonAdd_Click; + // + // FormPlacingAthletes + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(dataGridViewData); + Controls.Add(panel1); + Name = "FormPlacingAthletes"; + Text = "FormPlacingAthletes"; + ((System.ComponentModel.ISupportInitialize)dataGridViewData).EndInit(); + panel1.ResumeLayout(false); + ResumeLayout(false); + } + + #endregion + + private DataGridView dataGridViewData; + private Panel panel1; + private Button buttonDelete; + private Button buttonAdd; + } +} \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormPlacingAthletes.cs b/ProjectHotel/ProjectHotel/Forms/FormPlacingAthletes.cs new file mode 100644 index 0000000..1ca386d --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormPlacingAthletes.cs @@ -0,0 +1,89 @@ +using ProjectHotel.Repositories; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using Unity; + +namespace ProjectHotel.Forms; + +public partial class FormPlacingAthletes : Form +{ + private readonly IUnityContainer _container; + private readonly IPlacingAthleteRepository _placingAthleteRepository; + public FormPlacingAthletes(IUnityContainer container, IPlacingAthleteRepository placingAthleteRepository) + { + InitializeComponent(); + _container = container ?? + throw new ArgumentNullException(nameof(container)); + _placingAthleteRepository = placingAthleteRepository ?? + throw new ArgumentNullException(nameof(placingAthleteRepository)); + } + private void FormPlacingAthletes_Load1(object sender, EventArgs e) + { + try + { + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при загрузке", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonAdd_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при добавлении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonDelete_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + { + return; + } + if (MessageBox.Show("Удалить запись?", "Удаление", + MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return; + } + try + { + _placingAthleteRepository.DeletePlacingAthlete(findId); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при удалении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void LoadList() => dataGridViewData.DataSource = + _placingAthleteRepository.ReadPlacingAthlete(); + private bool TryGetIdentifierFromSelectedRow(out int id) + { + id = 0; + if (dataGridViewData.SelectedRows.Count < 1) + { + MessageBox.Show("Нет выбранной записи", "Ошибка", + MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + id = + Convert.ToInt32(dataGridViewData.SelectedRows[0].Cells["Id"].Value); + return true; + } + } diff --git a/ProjectHotel/ProjectHotel/Forms/FormPlacingAthletes.resx b/ProjectHotel/ProjectHotel/Forms/FormPlacingAthletes.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormPlacingAthletes.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormRoom.Designer.cs b/ProjectHotel/ProjectHotel/Forms/FormRoom.Designer.cs index bf304be..6972411 100644 --- a/ProjectHotel/ProjectHotel/Forms/FormRoom.Designer.cs +++ b/ProjectHotel/ProjectHotel/Forms/FormRoom.Designer.cs @@ -1,6 +1,6 @@ namespace ProjectHotel.Forms { - partial class Комната + partial class FormRoom { /// /// Required designer variable. @@ -30,26 +30,121 @@ { components = new System.ComponentModel.Container(); hotelBindingSource = new BindingSource(components); + labelHotelName = new Label(); + labelCapacity = new Label(); + labelRoomName = new Label(); + numericUpDownCapacity = new NumericUpDown(); + textBoxRoomName = new TextBox(); + buttonCancel = new Button(); + buttonSave = new Button(); + comboBoxHotel = new ComboBox(); ((System.ComponentModel.ISupportInitialize)hotelBindingSource).BeginInit(); + ((System.ComponentModel.ISupportInitialize)numericUpDownCapacity).BeginInit(); SuspendLayout(); // - // hotelBindingSource + // labelHotelName // - hotelBindingSource.DataSource = typeof(Entities.Hotel); + labelHotelName.AutoSize = true; + labelHotelName.Location = new Point(31, 55); + labelHotelName.Name = "labelHotelName"; + labelHotelName.Size = new Size(93, 15); + labelHotelName.TabIndex = 0; + labelHotelName.Text = "Название отеля"; // - // Комната + // labelCapacity + // + labelCapacity.AutoSize = true; + labelCapacity.Location = new Point(31, 109); + labelCapacity.Name = "labelCapacity"; + labelCapacity.Size = new Size(80, 15); + labelCapacity.TabIndex = 1; + labelCapacity.Text = "Вместимость"; + // + // labelRoomName + // + labelRoomName.AutoSize = true; + labelRoomName.Location = new Point(31, 168); + labelRoomName.Name = "labelRoomName"; + labelRoomName.Size = new Size(97, 15); + labelRoomName.TabIndex = 2; + labelRoomName.Text = "Номер комнаты"; + // + // numericUpDownCapacity + // + numericUpDownCapacity.Location = new Point(153, 109); + numericUpDownCapacity.Minimum = new decimal(new int[] { 1, 0, 0, 0 }); + numericUpDownCapacity.Name = "numericUpDownCapacity"; + numericUpDownCapacity.Size = new Size(55, 23); + numericUpDownCapacity.TabIndex = 3; + numericUpDownCapacity.Value = new decimal(new int[] { 1, 0, 0, 0 }); + // + // textBoxRoomName + // + textBoxRoomName.Location = new Point(153, 160); + textBoxRoomName.Name = "textBoxRoomName"; + textBoxRoomName.Size = new Size(185, 23); + textBoxRoomName.TabIndex = 5; + // + // buttonCancel + // + buttonCancel.Location = new Point(263, 251); + buttonCancel.Name = "buttonCancel"; + buttonCancel.Size = new Size(75, 23); + buttonCancel.TabIndex = 7; + buttonCancel.Text = "Отмена"; + buttonCancel.UseVisualStyleBackColor = true; + buttonCancel.Click += ButtonCancel_Click; + // + // buttonSave + // + buttonSave.Location = new Point(73, 251); + buttonSave.Name = "buttonSave"; + buttonSave.Size = new Size(75, 23); + buttonSave.TabIndex = 8; + buttonSave.Text = "Сохранить"; + buttonSave.UseVisualStyleBackColor = true; + buttonSave.Click += ButtonSave_Click; + // + // comboBoxHotel + // + comboBoxHotel.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxHotel.FormattingEnabled = true; + comboBoxHotel.Location = new Point(153, 47); + comboBoxHotel.Name = "comboBoxHotel"; + comboBoxHotel.Size = new Size(197, 23); + comboBoxHotel.TabIndex = 9; + // + // FormRoom // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(584, 389); - Name = "Комната"; + ClientSize = new Size(419, 309); + Controls.Add(comboBoxHotel); + Controls.Add(buttonSave); + Controls.Add(buttonCancel); + Controls.Add(textBoxRoomName); + Controls.Add(numericUpDownCapacity); + Controls.Add(labelRoomName); + Controls.Add(labelCapacity); + Controls.Add(labelHotelName); + Name = "FormRoom"; StartPosition = FormStartPosition.CenterParent; - Text = "FormRoom"; + Text = "Комната"; ((System.ComponentModel.ISupportInitialize)hotelBindingSource).EndInit(); + ((System.ComponentModel.ISupportInitialize)numericUpDownCapacity).EndInit(); ResumeLayout(false); + PerformLayout(); } #endregion private BindingSource hotelBindingSource; + private Label labelHotelName; + private Label labelCapacity; + private Label labelRoomName; + private NumericUpDown numericUpDownCapacity; + private TextBox textBoxRoomName; + private Button buttonCancel; + private Button buttonSave; + private ComboBox comboBoxHotel; } } \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormRoom.cs b/ProjectHotel/ProjectHotel/Forms/FormRoom.cs index e4a6c7a..8b866aa 100644 --- a/ProjectHotel/ProjectHotel/Forms/FormRoom.cs +++ b/ProjectHotel/ProjectHotel/Forms/FormRoom.cs @@ -1,4 +1,6 @@ -using System; +using ProjectHotel.Entities; +using ProjectHotel.Repositories; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; @@ -10,11 +12,75 @@ using System.Windows.Forms; namespace ProjectHotel.Forms { - public partial class Комната : Form + public partial class FormRoom : Form { - public Комната() + private readonly IRoomRepository _roomRepository; + private int? _roomId; + public int Id + { + set + { + try + { + var room = _roomRepository.ReadRoomById(value); + if (room == null || comboBoxHotel.SelectedIndex < 0) + { + throw new + InvalidDataException(nameof(room)); + } + textBoxRoomName.Text = room.Name; + numericUpDownCapacity.Value = room.Capacity; + _roomId = value; + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при получении данных", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + } + } + public FormRoom(IRoomRepository roomRepository, IHotelRepository hotelRepository) { InitializeComponent(); + _roomRepository = roomRepository ?? + throw new ArgumentNullException(nameof(roomRepository)); + comboBoxHotel.DataSource = hotelRepository.ReadHotels(); + comboBoxHotel.DisplayMember = "Name"; + comboBoxHotel.ValueMember = "Id"; } + private void ButtonSave_Click(object sender, EventArgs e) + { + try + { + + if (string.IsNullOrWhiteSpace(textBoxRoomName.Text)) + { + throw new Exception("Имеются незаполненные поля"); + } + if (_roomId.HasValue) + { + _roomRepository.UpdateRoom(CreateRoom(_roomId.Value)); + } + else + { + _roomRepository.CreateRoom(CreateRoom(0)); + } + Close(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при сохранении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonCancel_Click(object sender, EventArgs e) => Close(); + + private Room CreateRoom(int id) => Room.CreateEntity(id, (int)comboBoxHotel.SelectedValue!, textBoxRoomName.Text, Convert.ToInt32(numericUpDownCapacity.Value)); + + } + + + } + diff --git a/ProjectHotel/ProjectHotel/Forms/FormRoom.resx b/ProjectHotel/ProjectHotel/Forms/FormRoom.resx index bfd5f48..b922c5b 100644 --- a/ProjectHotel/ProjectHotel/Forms/FormRoom.resx +++ b/ProjectHotel/ProjectHotel/Forms/FormRoom.resx @@ -120,4 +120,28 @@ 17, 17 + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormRooms.Designer.cs b/ProjectHotel/ProjectHotel/Forms/FormRooms.Designer.cs new file mode 100644 index 0000000..9c070fb --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormRooms.Designer.cs @@ -0,0 +1,125 @@ +namespace ProjectHotel.Forms +{ + partial class FormRooms + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + dataGridViewData = new DataGridView(); + panel1 = new Panel(); + buttonDelete = new Button(); + buttonChange = new Button(); + buttonAdd = new Button(); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).BeginInit(); + panel1.SuspendLayout(); + SuspendLayout(); + // + // dataGridViewData + // + dataGridViewData.AllowUserToAddRows = false; + dataGridViewData.AllowUserToDeleteRows = false; + dataGridViewData.AllowUserToResizeColumns = false; + dataGridViewData.AllowUserToResizeRows = false; + dataGridViewData.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridViewData.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridViewData.Dock = DockStyle.Fill; + dataGridViewData.Location = new Point(0, 0); + dataGridViewData.MultiSelect = false; + dataGridViewData.Name = "dataGridViewData"; + dataGridViewData.ReadOnly = true; + dataGridViewData.RowHeadersVisible = false; + dataGridViewData.SelectionMode = DataGridViewSelectionMode.FullRowSelect; + dataGridViewData.Size = new Size(632, 450); + dataGridViewData.TabIndex = 3; + // + // panel1 + // + panel1.Controls.Add(buttonDelete); + panel1.Controls.Add(buttonChange); + panel1.Controls.Add(buttonAdd); + panel1.Dock = DockStyle.Right; + panel1.Location = new Point(632, 0); + panel1.Name = "panel1"; + panel1.Size = new Size(168, 450); + panel1.TabIndex = 2; + // + // buttonDelete + // + buttonDelete.BackgroundImage = Properties.Resources.ImageDelete; + buttonDelete.BackgroundImageLayout = ImageLayout.Zoom; + buttonDelete.Location = new Point(24, 308); + buttonDelete.Name = "buttonDelete"; + buttonDelete.Size = new Size(130, 130); + buttonDelete.TabIndex = 2; + buttonDelete.UseVisualStyleBackColor = true; + buttonDelete.Click += ButtonDelete_Click; + // + // buttonChange + // + buttonChange.BackgroundImage = Properties.Resources.ImageChange; + buttonChange.BackgroundImageLayout = ImageLayout.Zoom; + buttonChange.Location = new Point(24, 158); + buttonChange.Name = "buttonChange"; + buttonChange.Size = new Size(130, 130); + buttonChange.TabIndex = 1; + buttonChange.UseVisualStyleBackColor = true; + buttonChange.Click += ButtonChange_Click; + // + // buttonAdd + // + buttonAdd.BackgroundImage = Properties.Resources.AddImage; + buttonAdd.BackgroundImageLayout = ImageLayout.Zoom; + buttonAdd.Location = new Point(24, 12); + buttonAdd.Name = "buttonAdd"; + buttonAdd.Size = new Size(130, 130); + buttonAdd.TabIndex = 0; + buttonAdd.UseVisualStyleBackColor = true; + buttonAdd.Click += ButtonAdd_Click; + // + // FormRooms + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(dataGridViewData); + Controls.Add(panel1); + Name = "FormRooms"; + StartPosition = FormStartPosition.CenterParent; + Text = "FormRooms"; + ((System.ComponentModel.ISupportInitialize)dataGridViewData).EndInit(); + panel1.ResumeLayout(false); + ResumeLayout(false); + } + + #endregion + + private DataGridView dataGridViewData; + private Panel panel1; + private Button buttonDelete; + private Button buttonChange; + private Button buttonAdd; + } +} \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Forms/FormRooms.cs b/ProjectHotel/ProjectHotel/Forms/FormRooms.cs new file mode 100644 index 0000000..929bcc4 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormRooms.cs @@ -0,0 +1,111 @@ +using ProjectHotel.Repositories; +using ProjectHotel.Repositories.Implementations; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using Unity; + +namespace ProjectHotel.Forms; + +public partial class FormRooms : Form +{ + private readonly IUnityContainer _container; + private readonly IRoomRepository _roomRepository; + + public FormRooms(IUnityContainer container, IRoomRepository roomRepository) + { + InitializeComponent(); + _container = container ?? + throw new ArgumentNullException(nameof(container)); + _roomRepository = roomRepository ?? + throw new ArgumentNullException(nameof(roomRepository)); + } + private void FormRoom_Load(object sender, EventArgs e) + { + try + { + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при загрузке", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonAdd_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при добавлении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonChange_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + { + return; + } + try + { + var form = _container.Resolve(); + form.Id = findId; + form.ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при изменении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonDelete_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + { + return; + } + if (MessageBox.Show("Удалить запись?", "Удаление", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return; + } + try + { + _roomRepository.DeleteRoom(findId); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при удалении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void LoadList() => dataGridViewData.DataSource = _roomRepository.ReadRooms(); + private bool TryGetIdentifierFromSelectedRow(out int id) + { + id = 0; + if (dataGridViewData.SelectedRows.Count < 1) + { + MessageBox.Show("Нет выбранной записи", "Ошибка", + MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + id = Convert.ToInt32(dataGridViewData.SelectedRows[0].Cells["Id"].Value); + return true; + } + + +} + + diff --git a/ProjectHotel/ProjectHotel/Forms/FormRooms.resx b/ProjectHotel/ProjectHotel/Forms/FormRooms.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/ProjectHotel/ProjectHotel/Forms/FormRooms.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Program.cs b/ProjectHotel/ProjectHotel/Program.cs index 8177a3b..6834d59 100644 --- a/ProjectHotel/ProjectHotel/Program.cs +++ b/ProjectHotel/ProjectHotel/Program.cs @@ -1,3 +1,8 @@ +using Unity.Lifetime; +using Unity; +using ProjectHotel.Repositories; +using ProjectHotel.Repositories.Implementations; + namespace ProjectHotel { internal static class Program @@ -11,7 +16,19 @@ namespace ProjectHotel // To customize application configuration such as set high DPI settings or default font, // see https://aka.ms/applicationconfiguration. ApplicationConfiguration.Initialize(); - Application.Run(new FormHotelForAthletes()); + Application.Run(CreateContainer().Resolve()); + } + private static IUnityContainer CreateContainer() + { + var container = new UnityContainer(); + + container.RegisterType(new TransientLifetimeManager()); + container.RegisterType(new TransientLifetimeManager()); + container.RegisterType(new TransientLifetimeManager()); + container.RegisterType(new TransientLifetimeManager()); + container.RegisterType(new TransientLifetimeManager()); + + return container; } } } \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/ProjectHotel.csproj b/ProjectHotel/ProjectHotel/ProjectHotel.csproj index 24b1910..8fef0f9 100644 --- a/ProjectHotel/ProjectHotel/ProjectHotel.csproj +++ b/ProjectHotel/ProjectHotel/ProjectHotel.csproj @@ -23,10 +23,6 @@ - - - - diff --git a/ProjectHotel/ProjectHotel/Repositories/IAthletePlacingAthleteRepository.cs b/ProjectHotel/ProjectHotel/Repositories/IAthletePlacingAthleteRepository.cs deleted file mode 100644 index 00a82fb..0000000 --- a/ProjectHotel/ProjectHotel/Repositories/IAthletePlacingAthleteRepository.cs +++ /dev/null @@ -1,15 +0,0 @@ -using ProjectHotel.Entities; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace ProjectHotel.Repositories; - -internal interface IAthletePlacingAthleteRepository -{ - IEnumerable ReadAthletePlacingAthlete(int? id = null, int? athleteId = null, int? roomId = null); - void CreateAthletePlacingAthlete(AthletePlacingAthlete athletePlacingAthlete); - AthletePlacingAthlete ReadAthleteById(int id); -} diff --git a/ProjectHotel/ProjectHotel/Repositories/ICleaningRoomRepository.cs b/ProjectHotel/ProjectHotel/Repositories/ICleaningRoomRepository.cs index 63db9d7..c0116d5 100644 --- a/ProjectHotel/ProjectHotel/Repositories/ICleaningRoomRepository.cs +++ b/ProjectHotel/ProjectHotel/Repositories/ICleaningRoomRepository.cs @@ -7,10 +7,10 @@ using System.Threading.Tasks; namespace ProjectHotel.Repositories; -internal interface ICleaningRoomRepository +public interface ICleaningRoomRepository { - IEnumerable ReadCleaningRoom(int? id = null, int? roomId = null, int? athleteId = null); + IEnumerable ReadCleaningRooms(int? id = null, int? roomId = null); void CreateCleaningRoom(CleaningRoom cleaningRoom); - AthletePlacingAthlete ReadAthleteById(int id); + CleaningRoom ReadCleaningRoomById(int id); } \ No newline at end of file diff --git a/ProjectHotel/ProjectHotel/Repositories/IPlacingAthleteRepository.cs b/ProjectHotel/ProjectHotel/Repositories/IPlacingAthleteRepository.cs index 90d930d..ed3ba80 100644 --- a/ProjectHotel/ProjectHotel/Repositories/IPlacingAthleteRepository.cs +++ b/ProjectHotel/ProjectHotel/Repositories/IPlacingAthleteRepository.cs @@ -9,7 +9,7 @@ namespace ProjectHotel.Repositories; public interface IPlacingAthleteRepository { - IEnumerable ReadPlacingAthlete(DateTime? placing = null, DateTime? unplacing = null, int? roomId = null); + IEnumerable ReadPlacingAthlete(int? roomId = null, DateTime ? placing = null); void CreatePlacingAthlete(PlacingAthlete placingAthlete); - PlacingAthlete ReadPlacingAthleteById(int id); + void DeletePlacingAthlete(int id); } diff --git a/ProjectHotel/ProjectHotel/Repositories/IRoomRepository.cs b/ProjectHotel/ProjectHotel/Repositories/IRoomRepository.cs index d32eeb3..05f0116 100644 --- a/ProjectHotel/ProjectHotel/Repositories/IRoomRepository.cs +++ b/ProjectHotel/ProjectHotel/Repositories/IRoomRepository.cs @@ -10,9 +10,9 @@ namespace ProjectHotel.Repositories; public interface IRoomRepository { - IEnumerable ReadRooms(); - Rooms ReadRoomById(int id); - void CreateRoom(Rooms rooms); - void UpdateRoom(Rooms rooms); + IEnumerable ReadRooms(); + Room ReadRoomById(int id); + void CreateRoom(Room room); + void UpdateRoom(Room room); void DeleteRoom(int id); } diff --git a/ProjectHotel/ProjectHotel/Repositories/Implementations/AthletePlacingAthleteRepository.cs b/ProjectHotel/ProjectHotel/Repositories/Implementations/AthletePlacingAthleteRepository.cs deleted file mode 100644 index cf4cc95..0000000 --- a/ProjectHotel/ProjectHotel/Repositories/Implementations/AthletePlacingAthleteRepository.cs +++ /dev/null @@ -1,24 +0,0 @@ -using ProjectHotel.Entities; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace ProjectHotel.Repositories.Implementations; - -internal class AthletePlacingAthleteRepository -{ - public IEnumerable ReadAthletePlacingAthlete(int? id = null, int? athleteId = null, int? roomId = null) - { - return []; - } - public void CreateAthletePlacingAthlete(AthletePlacingAthleteRepository athletePlacingAthlete) - { - } - - public AthletePlacingAthlete ReadAthleteById(int id) - { - return AthletePlacingAthlete.CreateElement(0, 0, 0); - } -} diff --git a/ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteRepository.cs b/ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteRepository.cs index 02b7f70..d5866c8 100644 --- a/ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteRepository.cs +++ b/ProjectHotel/ProjectHotel/Repositories/Implementations/AthleteRepository.cs @@ -17,7 +17,7 @@ internal class AthleteRepository : IAthleteRepository } public Athlete ReadAthleteById(int id) { - return Athlete.CreateEntity(0, string.Empty, string.Empty,string.Empty); + return Athlete.CreateEntity(0, string.Empty, string.Empty,string.Empty, Entities.Enums.Sport.None, Entities.Enums.AthleteClass.None); } public IEnumerable ReadAthletes() { diff --git a/ProjectHotel/ProjectHotel/Repositories/Implementations/CleaningRoomRepository.cs b/ProjectHotel/ProjectHotel/Repositories/Implementations/CleaningRoomRepository.cs index f0f4415..71713ea 100644 --- a/ProjectHotel/ProjectHotel/Repositories/Implementations/CleaningRoomRepository.cs +++ b/ProjectHotel/ProjectHotel/Repositories/Implementations/CleaningRoomRepository.cs @@ -7,18 +7,18 @@ using System.Threading.Tasks; namespace ProjectHotel.Repositories.Implementations; -internal class CleaningRoomRepository +internal class CleaningRoomRepository : ICleaningRoomRepository { - IEnumerable ReadCleaningRoom(int? id = null, int? roomId = null, int? athleteId = null) + public IEnumerable ReadCleaningRooms(int? id = null, int? roomId = null) { return []; } - void CreateCleaningRoom(CleaningRoom cleaningRoom) + public void CreateCleaningRoom(CleaningRoom cleaningRoom) { } - AthletePlacingAthlete ReadAthleteById(int id) + public CleaningRoom ReadCleaningRoomById(int id) { - return AthletePlacingAthlete.CreateElement(0, 0, 0); + return CleaningRoom.CreateOperation(0, 0); } } diff --git a/ProjectHotel/ProjectHotel/Repositories/Implementations/PlacingAthleteRepository.cs b/ProjectHotel/ProjectHotel/Repositories/Implementations/PlacingAthleteRepository.cs index 60773f0..af90ecd 100644 --- a/ProjectHotel/ProjectHotel/Repositories/Implementations/PlacingAthleteRepository.cs +++ b/ProjectHotel/ProjectHotel/Repositories/Implementations/PlacingAthleteRepository.cs @@ -9,7 +9,7 @@ namespace ProjectHotel.Repositories.Implementations; internal class PlacingAthleteRepository : IPlacingAthleteRepository { - public IEnumerable ReadPlacingAthlete(DateTime? plasing = null, DateTime? unplacing = null, int? roomId = null) + public IEnumerable ReadPlacingAthlete(int? roomId = null, DateTime? placing = null) { return []; } @@ -17,8 +17,8 @@ internal class PlacingAthleteRepository : IPlacingAthleteRepository { } - public PlacingAthlete ReadPlacingAthleteById(int id) + public void DeletePlacingAthlete(int id) { - return PlacingAthlete.CreateOpeartion(0, 0, DateTime.Now); + } } diff --git a/ProjectHotel/ProjectHotel/Repositories/Implementations/RoomRepository.cs b/ProjectHotel/ProjectHotel/Repositories/Implementations/RoomRepository.cs index 2ba2260..0aed54d 100644 --- a/ProjectHotel/ProjectHotel/Repositories/Implementations/RoomRepository.cs +++ b/ProjectHotel/ProjectHotel/Repositories/Implementations/RoomRepository.cs @@ -9,19 +9,19 @@ namespace ProjectHotel.Repositories.Implementations { internal class RoomRepository : IRoomRepository { - public IEnumerable ReadRooms() + public IEnumerable ReadRooms() { return []; } - public Rooms ReadRoomById(int id) + public Room ReadRoomById(int id) { - return Rooms.CreateEntity(0, 0, string.Empty, 0); + return Room.CreateEntity(0, 0, string.Empty, 0); } - public void CreateRoom(Rooms rooms) + public void CreateRoom(Room rooms) { } - public void UpdateRoom(Rooms rooms) + public void UpdateRoom(Room rooms) { } diff --git a/lab2.vpp b/lab2.vpp index 5da342e0fc875ef4fde1014a3e804bbe40026a17..bf3e8e5cf5d6ecde08ef4675f9feb8a2ac40480c 100644 GIT binary patch delta 776 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]V;{$#waVIp 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

WQ5Tv3Hy_ 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 w=c34#nW)VjEwi=4wg^Zu}zZC!h`Tzg` literal 0 HcmV?d00001 -- 2.25.1 From 338521a88ff1e88b2ee2065891049f5756b52fdd Mon Sep 17 00:00:00 2001 From: pnevmoslon1 Date: Mon, 25 Nov 2024 08:39:37 +0400 Subject: [PATCH 5/5] Update lab2.vpp --- lab2.vpp | Bin 716800 -> 716800 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lab2.vpp b/lab2.vpp index bf3e8e5cf5d6ecde08ef4675f9feb8a2ac40480c..77c6cababd1a0bd98c76a39ce865c052a73c9996 100644 GIT binary patch delta 49 zcmZp8pxy95dxA7$#Y7or#)`&-)&$1Z1g6#m=GFw3)&$np1h&=$_SOWB)&$P230w=_ F0|2>P5p4hf delta 49 zcmZp8pxy95dxA8h$3z)tMvumX)&$1Z1g6#m=GFw3)&$np1h&=$_SOWB)&$P230w=_ F0|2W`5e)zU -- 2.25.1