Храни господь Кузярина, если бы не он, оно бы не заработало(Реализация crud для конференций+привязка участника к конференции)
This commit is contained in:
parent
f1f9def74c
commit
43c80330bc
@ -3,7 +3,9 @@ using HotelContracts.BusinessLogicsContracts;
|
|||||||
using HotelContracts.SearchModels;
|
using HotelContracts.SearchModels;
|
||||||
using HotelContracts.StoragesContracts;
|
using HotelContracts.StoragesContracts;
|
||||||
using HotelContracts.ViewModels;
|
using HotelContracts.ViewModels;
|
||||||
|
using HotelDataModels.Models;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
using System.IO.Packaging;
|
||||||
|
|
||||||
namespace HotelBusinessLogic.BusinessLogics
|
namespace HotelBusinessLogic.BusinessLogics
|
||||||
{
|
{
|
||||||
@ -20,6 +22,7 @@ namespace HotelBusinessLogic.BusinessLogics
|
|||||||
public bool Create(ConferenceBindingModel model)
|
public bool Create(ConferenceBindingModel model)
|
||||||
{
|
{
|
||||||
CheckModel(model);
|
CheckModel(model);
|
||||||
|
model.ConferenceMembers = new();
|
||||||
|
|
||||||
if (_conferenceStorage.Insert(model) == null)
|
if (_conferenceStorage.Insert(model) == null)
|
||||||
{
|
{
|
||||||
@ -84,6 +87,39 @@ namespace HotelBusinessLogic.BusinessLogics
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool AddMemberToConference(ConferenceSearchModel model, IMemberModel member)
|
||||||
|
{
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException(nameof(model));
|
||||||
|
}
|
||||||
|
|
||||||
|
_logger.LogInformation("AddMemberToConference. ConferenceName:{ConferenceName}.Id:{ Id}", model.ConferenceName, model.Id);
|
||||||
|
var element = _conferenceStorage.GetElement(model);
|
||||||
|
|
||||||
|
if (element == null)
|
||||||
|
{
|
||||||
|
_logger.LogWarning("AddMemberToConference element not found");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
_logger.LogInformation("AddMemberToConference find. Id:{Id}", element.Id);
|
||||||
|
|
||||||
|
element.ConferenceMembers[member.Id] = member;
|
||||||
|
|
||||||
|
_conferenceStorage.Update(new()
|
||||||
|
{
|
||||||
|
Id = element.Id,
|
||||||
|
ConferenceName = element.ConferenceName,
|
||||||
|
StartDate = element.StartDate,
|
||||||
|
OrganiserId = element.OrganiserId,
|
||||||
|
ConferenceMembers = element.ConferenceMembers,
|
||||||
|
});
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public bool Update(ConferenceBindingModel model)
|
public bool Update(ConferenceBindingModel model)
|
||||||
{
|
{
|
||||||
CheckModel(model);
|
CheckModel(model);
|
||||||
|
@ -11,6 +11,6 @@ namespace HotelContracts.BindingModels
|
|||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
public int OrganiserId { get; set; }
|
public int OrganiserId { get; set; }
|
||||||
public Dictionary<int, IMemberModel> ConferenceMembers { get; set; }
|
public Dictionary<int, IMemberModel> ConferenceMembers { get; set; } = new();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using HotelContracts.BindingModels;
|
using HotelContracts.BindingModels;
|
||||||
using HotelContracts.SearchModels;
|
using HotelContracts.SearchModels;
|
||||||
using HotelContracts.ViewModels;
|
using HotelContracts.ViewModels;
|
||||||
|
using HotelDataModels.Models;
|
||||||
|
|
||||||
namespace HotelContracts.BusinessLogicsContracts
|
namespace HotelContracts.BusinessLogicsContracts
|
||||||
{
|
{
|
||||||
@ -8,6 +9,7 @@ namespace HotelContracts.BusinessLogicsContracts
|
|||||||
{
|
{
|
||||||
List<ConferenceViewModel>? ReadList(ConferenceSearchModel? model);
|
List<ConferenceViewModel>? ReadList(ConferenceSearchModel? model);
|
||||||
ConferenceViewModel? ReadElement(ConferenceSearchModel model);
|
ConferenceViewModel? ReadElement(ConferenceSearchModel model);
|
||||||
|
bool AddMemberToConference(ConferenceSearchModel model, IMemberModel member);
|
||||||
bool Create(ConferenceBindingModel model);
|
bool Create(ConferenceBindingModel model);
|
||||||
bool Update(ConferenceBindingModel model);
|
bool Update(ConferenceBindingModel model);
|
||||||
bool Delete(ConferenceBindingModel model);
|
bool Delete(ConferenceBindingModel model);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
@ -6,6 +6,34 @@
|
|||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.5" />
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.5" />
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.5">
|
||||||
|
<PrivateAssets>all</PrivateAssets>
|
||||||
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Configuration" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="7.0.4" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.FileProviders.Abstractions" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.FileProviders.Physical" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.FileSystemGlobbing" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Options" Version="7.0.1" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Primitives" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||||
|
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.0.0" />
|
||||||
|
<PackageReference Include="System.Text.Encodings.Web" Version="7.0.0" />
|
||||||
|
<PackageReference Include="System.Text.Json" Version="7.0.2" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\HotelDataModels\HotelDataModels.csproj" />
|
<ProjectReference Include="..\HotelDataModels\HotelDataModels.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
using HotelDataModels.Models;
|
using HotelDataModels.Models;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace HotelContracts.ViewModels
|
namespace HotelContracts.ViewModels
|
||||||
{
|
{
|
||||||
@ -14,7 +15,15 @@ namespace HotelContracts.ViewModels
|
|||||||
public int OrganiserId { get; set; }
|
public int OrganiserId { get; set; }
|
||||||
|
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
public Dictionary<int, IMemberModel> ConferenceMembers { get; set; }
|
public Dictionary<int, IMemberModel> ConferenceMembers { get; set; } = new();
|
||||||
public Dictionary<int, IConferenceBookingModel> ConferenceConferenceBooking { get; set; }
|
public Dictionary<int, IConferenceBookingModel> ConferenceConferenceBooking { get; set; }
|
||||||
|
|
||||||
|
public ConferenceViewModel() { }
|
||||||
|
|
||||||
|
[JsonConstructor]
|
||||||
|
public ConferenceViewModel(Dictionary<int, MemberViewModel> ConferenceMembers)
|
||||||
|
{
|
||||||
|
this.ConferenceMembers = ConferenceMembers.ToDictionary(x => x.Key, x => x.Value as IMemberModel);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,8 @@ namespace HotelContracts.ViewModels
|
|||||||
{
|
{
|
||||||
public class MemberViewModel : IMemberModel
|
public class MemberViewModel : IMemberModel
|
||||||
{
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
[DisplayName("ФИО участника")]
|
[DisplayName("ФИО участника")]
|
||||||
public string MemberFIO { get; set; } = string.Empty;
|
public string MemberFIO { get; set; } = string.Empty;
|
||||||
|
|
||||||
@ -13,6 +15,6 @@ namespace HotelContracts.ViewModels
|
|||||||
|
|
||||||
public int OrganiserId { get; set; }
|
public int OrganiserId { get; set; }
|
||||||
|
|
||||||
public int Id { get; set; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,9 +7,9 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.4" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.5" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.4" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.5" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.4">
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.5">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
|
@ -14,6 +14,7 @@ namespace HotelDataBaseImplement.Implemets
|
|||||||
using var context = new HotelDataBase();
|
using var context = new HotelDataBase();
|
||||||
|
|
||||||
var element = context.Conferences
|
var element = context.Conferences
|
||||||
|
.Include(x => x.Members)
|
||||||
.FirstOrDefault(rec => rec.Id == model.Id);
|
.FirstOrDefault(rec => rec.Id == model.Id);
|
||||||
|
|
||||||
if (element != null)
|
if (element != null)
|
||||||
@ -29,7 +30,7 @@ namespace HotelDataBaseImplement.Implemets
|
|||||||
|
|
||||||
public ConferenceViewModel? GetElement(ConferenceSearchModel model)
|
public ConferenceViewModel? GetElement(ConferenceSearchModel model)
|
||||||
{
|
{
|
||||||
if (!model.Id.HasValue)
|
if (string.IsNullOrEmpty(model.ConferenceName) && !model.Id.HasValue)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -43,7 +44,7 @@ namespace HotelDataBaseImplement.Implemets
|
|||||||
.ThenInclude(x => x.MealPlan)
|
.ThenInclude(x => x.MealPlan)
|
||||||
.Include(x => x.ConferenceBookings)
|
.Include(x => x.ConferenceBookings)
|
||||||
.Include(x => x.Organiser)
|
.Include(x => x.Organiser)
|
||||||
.FirstOrDefault(x => (model.Id.HasValue && x.Id == model.Id))?
|
.FirstOrDefault(x => (!string.IsNullOrEmpty(model.ConferenceName) && x.ConferenceName == model.ConferenceName) || (model.Id.HasValue && x.Id == model.Id))?
|
||||||
.GetViewModel;
|
.GetViewModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -77,6 +78,7 @@ namespace HotelDataBaseImplement.Implemets
|
|||||||
.Include(x => x.ConferenceBookings)
|
.Include(x => x.ConferenceBookings)
|
||||||
.Include(x => x.Organiser)
|
.Include(x => x.Organiser)
|
||||||
.Where(x => x.OrganiserId == model.OrganiserId)
|
.Where(x => x.OrganiserId == model.OrganiserId)
|
||||||
|
.ToList()
|
||||||
.Select(x => x.GetViewModel)
|
.Select(x => x.GetViewModel)
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
@ -87,7 +89,8 @@ namespace HotelDataBaseImplement.Implemets
|
|||||||
.ThenInclude(x => x.MealPlan)
|
.ThenInclude(x => x.MealPlan)
|
||||||
.Include(x => x.ConferenceBookings)
|
.Include(x => x.ConferenceBookings)
|
||||||
.Include(x => x.Organiser)
|
.Include(x => x.Organiser)
|
||||||
.Where(x => x.Id == model.Id)
|
.Where(x => x.ConferenceName.Contains(model.ConferenceName))
|
||||||
|
.ToList()
|
||||||
.Select(x => x.GetViewModel)
|
.Select(x => x.GetViewModel)
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
@ -103,6 +106,7 @@ namespace HotelDataBaseImplement.Implemets
|
|||||||
.ThenInclude(x => x.MealPlan)
|
.ThenInclude(x => x.MealPlan)
|
||||||
.Include(x => x.ConferenceBookings)
|
.Include(x => x.ConferenceBookings)
|
||||||
.Include(x => x.Organiser)
|
.Include(x => x.Organiser)
|
||||||
|
.ToList()
|
||||||
.Select(x => x.GetViewModel)
|
.Select(x => x.GetViewModel)
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
@ -135,25 +139,27 @@ namespace HotelDataBaseImplement.Implemets
|
|||||||
public ConferenceViewModel? Update(ConferenceBindingModel model)
|
public ConferenceViewModel? Update(ConferenceBindingModel model)
|
||||||
{
|
{
|
||||||
using var context = new HotelDataBase();
|
using var context = new HotelDataBase();
|
||||||
|
using var transaction = context.Database.BeginTransaction();
|
||||||
var conference = context.Conferences
|
try
|
||||||
.Include(x => x.Members)
|
|
||||||
.ThenInclude(x => x.Member)
|
|
||||||
.ThenInclude(x => x.MealPlanMember)
|
|
||||||
.ThenInclude(x => x.MealPlan)
|
|
||||||
.Include(x => x.ConferenceBookings)
|
|
||||||
.Include(x => x.Organiser)
|
|
||||||
.FirstOrDefault(x => x.Id == model.Id);
|
|
||||||
|
|
||||||
if (conference == null)
|
|
||||||
{
|
{
|
||||||
return null;
|
var elem = context.Conferences.FirstOrDefault(rec => rec.Id == model.Id);
|
||||||
|
if (elem == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
elem.Update(model);
|
||||||
|
context.SaveChanges();
|
||||||
|
if (model.ConferenceMembers != null)
|
||||||
|
elem.UpdateMembers(context, model);
|
||||||
|
transaction.Commit();
|
||||||
|
return elem.GetViewModel;
|
||||||
}
|
}
|
||||||
|
catch
|
||||||
conference.Update(model);
|
{
|
||||||
context.SaveChanges();
|
transaction.Rollback();
|
||||||
|
throw;
|
||||||
return conference.GetViewModel;
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,7 @@ namespace HotelDataBaseImplement.Implemets
|
|||||||
return context.MealPlans
|
return context.MealPlans
|
||||||
.Include(x => x.Members)
|
.Include(x => x.Members)
|
||||||
.ThenInclude(x => x.Member)
|
.ThenInclude(x => x.Member)
|
||||||
.ThenInclude(x => x.ConferenceMember)
|
.ThenInclude(x => x.ConferenceMembers)
|
||||||
.ThenInclude(x => x.Conference)
|
.ThenInclude(x => x.Conference)
|
||||||
.Include(x => x.Rooms)
|
.Include(x => x.Rooms)
|
||||||
.Include(x => x.Organiser)
|
.Include(x => x.Organiser)
|
||||||
@ -61,7 +61,7 @@ namespace HotelDataBaseImplement.Implemets
|
|||||||
return context.MealPlans
|
return context.MealPlans
|
||||||
.Include(x => x.Members)
|
.Include(x => x.Members)
|
||||||
.ThenInclude(x => x.Member)
|
.ThenInclude(x => x.Member)
|
||||||
.ThenInclude(x => x.ConferenceMember)
|
.ThenInclude(x => x.ConferenceMembers)
|
||||||
.ThenInclude(x => x.Conference)
|
.ThenInclude(x => x.Conference)
|
||||||
.Include(x => x.Rooms)
|
.Include(x => x.Rooms)
|
||||||
.Include(x => x.Organiser)
|
.Include(x => x.Organiser)
|
||||||
@ -74,7 +74,7 @@ namespace HotelDataBaseImplement.Implemets
|
|||||||
return context.MealPlans
|
return context.MealPlans
|
||||||
.Include(x => x.Members)
|
.Include(x => x.Members)
|
||||||
.ThenInclude(x => x.Member)
|
.ThenInclude(x => x.Member)
|
||||||
.ThenInclude(x => x.ConferenceMember)
|
.ThenInclude(x => x.ConferenceMembers)
|
||||||
.ThenInclude(x => x.Conference)
|
.ThenInclude(x => x.Conference)
|
||||||
.Include(x => x.Rooms)
|
.Include(x => x.Rooms)
|
||||||
.Include(x => x.Organiser)
|
.Include(x => x.Organiser)
|
||||||
@ -89,7 +89,7 @@ namespace HotelDataBaseImplement.Implemets
|
|||||||
return context.MealPlans
|
return context.MealPlans
|
||||||
.Include(x => x.Members)
|
.Include(x => x.Members)
|
||||||
.ThenInclude(x => x.Member)
|
.ThenInclude(x => x.Member)
|
||||||
.ThenInclude(x => x.ConferenceMember)
|
.ThenInclude(x => x.ConferenceMembers)
|
||||||
.ThenInclude(x => x.Conference)
|
.ThenInclude(x => x.Conference)
|
||||||
.Include(x => x.Rooms)
|
.Include(x => x.Rooms)
|
||||||
.Include(x => x.Organiser)
|
.Include(x => x.Organiser)
|
||||||
|
@ -36,7 +36,7 @@ namespace HotelDataBaseImplement.Implemets
|
|||||||
using var context = new HotelDataBase();
|
using var context = new HotelDataBase();
|
||||||
|
|
||||||
return context.Members
|
return context.Members
|
||||||
.Include(x => x.ConferenceMember)
|
.Include(x => x.ConferenceMembers)
|
||||||
.ThenInclude(x => x.Conference)
|
.ThenInclude(x => x.Conference)
|
||||||
.Include(x => x.MealPlanMember)
|
.Include(x => x.MealPlanMember)
|
||||||
.ThenInclude(x => x.MealPlan)
|
.ThenInclude(x => x.MealPlan)
|
||||||
@ -57,25 +57,23 @@ namespace HotelDataBaseImplement.Implemets
|
|||||||
if (model.OrganiserId.HasValue)
|
if (model.OrganiserId.HasValue)
|
||||||
{
|
{
|
||||||
return context.Members
|
return context.Members
|
||||||
.Include(x => x.ConferenceMember)
|
.Include(x => x.ConferenceMembers)
|
||||||
.ThenInclude(x => x.Conference)
|
.ThenInclude(x => x.Conference)
|
||||||
.Include(x => x.MealPlanMember)
|
.Include(x => x.MealPlanMember)
|
||||||
.ThenInclude(x => x.MealPlan)
|
.ThenInclude(x => x.MealPlan)
|
||||||
.Include(x => x.Organiser)
|
.Include(x => x.Organiser)
|
||||||
.Where(x => x.OrganiserId == model.OrganiserId)
|
.Where(x => x.OrganiserId == model.OrganiserId)
|
||||||
.ToList()
|
|
||||||
.Select(x => x.GetViewModel)
|
.Select(x => x.GetViewModel)
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return context.Members
|
return context.Members
|
||||||
.Include(x => x.ConferenceMember)
|
.Include(x => x.ConferenceMembers)
|
||||||
.ThenInclude(x => x.Conference)
|
.ThenInclude(x => x.Conference)
|
||||||
.Include(x => x.MealPlanMember)
|
.Include(x => x.MealPlanMember)
|
||||||
.ThenInclude(x => x.MealPlan)
|
.ThenInclude(x => x.MealPlan)
|
||||||
.Include(x => x.Organiser)
|
.Include(x => x.Organiser)
|
||||||
.Where(x => x.MemberFIO.Contains(model.MemberFIO))
|
.Where(x => x.MemberFIO.Contains(model.MemberFIO))
|
||||||
.ToList()
|
|
||||||
.Select(x => x.GetViewModel)
|
.Select(x => x.GetViewModel)
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
@ -85,12 +83,11 @@ namespace HotelDataBaseImplement.Implemets
|
|||||||
using var context = new HotelDataBase();
|
using var context = new HotelDataBase();
|
||||||
|
|
||||||
return context.Members
|
return context.Members
|
||||||
.Include(x => x.ConferenceMember)
|
.Include(x => x.ConferenceMembers)
|
||||||
.ThenInclude(x => x.Conference)
|
.ThenInclude(x => x.Conference)
|
||||||
.Include(x => x.MealPlanMember)
|
.Include(x => x.MealPlanMember)
|
||||||
.ThenInclude(x => x.MealPlan)
|
.ThenInclude(x => x.MealPlan)
|
||||||
.Include(x => x.Organiser)
|
.Include(x => x.Organiser)
|
||||||
.ToList()
|
|
||||||
.Select(x => x.GetViewModel)
|
.Select(x => x.GetViewModel)
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
|
569
Hotel/HotelDataBaseImplement/Migrations/20230516050151_TempMigr.Designer.cs
generated
Normal file
569
Hotel/HotelDataBaseImplement/Migrations/20230516050151_TempMigr.Designer.cs
generated
Normal file
@ -0,0 +1,569 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using HotelDataBaseImplement;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace HotelDataBaseImplement.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(HotelDataBase))]
|
||||||
|
[Migration("20230516050151_TempMigr")]
|
||||||
|
partial class TempMigr
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder
|
||||||
|
.HasAnnotation("ProductVersion", "7.0.4")
|
||||||
|
.HasAnnotation("Relational:MaxIdentifierLength", 128);
|
||||||
|
|
||||||
|
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("ConferenceName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<int>("OrganiserId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<DateTime>("StartDate")
|
||||||
|
.HasColumnType("datetime2");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("OrganiserId");
|
||||||
|
|
||||||
|
b.ToTable("Conferences");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("ConferenceId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("HeadwaiterId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ConferenceId");
|
||||||
|
|
||||||
|
b.HasIndex("HeadwaiterId");
|
||||||
|
|
||||||
|
b.ToTable("ConferenceBookings");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBookingDinner", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("ConferenceBookingId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("DinnerId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("DinnercId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ConferenceBookingId");
|
||||||
|
|
||||||
|
b.HasIndex("DinnercId");
|
||||||
|
|
||||||
|
b.ToTable("ConferenceBookingDinners");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceMember", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("ConferenceId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("MemberId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ConferenceId");
|
||||||
|
|
||||||
|
b.HasIndex("MemberId");
|
||||||
|
|
||||||
|
b.ToTable("ConferenceMembers");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Dinner", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("DinnerName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<double>("DinnerPrice")
|
||||||
|
.HasColumnType("float");
|
||||||
|
|
||||||
|
b.Property<int>("HeadwaiterId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("HeadwaiterId");
|
||||||
|
|
||||||
|
b.ToTable("Dinners");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Headwaiter", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("HeadwaiterEmail")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("HeadwaiterFIO")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("HeadwaiterLogin")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("HeadwaiterNumber")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("HeadwaiterPassword")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Headwaiters");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("MealPlanName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<double>("MealPlanPrice")
|
||||||
|
.HasColumnType("float");
|
||||||
|
|
||||||
|
b.Property<int>("OrganiserId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("OrganiserId");
|
||||||
|
|
||||||
|
b.ToTable("MealPlans");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlanMember", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("MealPlanId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("MemberId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("MealPlanId");
|
||||||
|
|
||||||
|
b.HasIndex("MemberId");
|
||||||
|
|
||||||
|
b.ToTable("MealPlanMembers");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Citizenship")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("MemberFIO")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<int>("OrganiserId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("OrganiserId");
|
||||||
|
|
||||||
|
b.ToTable("Members");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Organiser", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("OrganiserEmail")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("OrganiserFIO")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("OrganiserLogin")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("OrganiserNumber")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("OrganiserPassword")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Organisers");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("HeadwaiterId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("MealPlanId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<string>("RoomFrame")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("RoomName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<double>("RoomPrice")
|
||||||
|
.HasColumnType("float");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("HeadwaiterId");
|
||||||
|
|
||||||
|
b.HasIndex("MealPlanId");
|
||||||
|
|
||||||
|
b.ToTable("Rooms");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.RoomDinner", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("DinnerId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("RoomId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("DinnerId");
|
||||||
|
|
||||||
|
b.HasIndex("RoomId");
|
||||||
|
|
||||||
|
b.ToTable("RoomDinners");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser")
|
||||||
|
.WithMany("Conferences")
|
||||||
|
.HasForeignKey("OrganiserId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Organiser");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Conference", "Conference")
|
||||||
|
.WithMany("ConferenceBookings")
|
||||||
|
.HasForeignKey("ConferenceId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiter")
|
||||||
|
.WithMany("ConferenceBookings")
|
||||||
|
.HasForeignKey("HeadwaiterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Conference");
|
||||||
|
|
||||||
|
b.Navigation("Headwaiter");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBookingDinner", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.ConferenceBooking", "ConferenceBooking")
|
||||||
|
.WithMany("Dinners")
|
||||||
|
.HasForeignKey("ConferenceBookingId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Dinner", "Dinner")
|
||||||
|
.WithMany("ConferenceBookingDinners")
|
||||||
|
.HasForeignKey("DinnercId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("ConferenceBooking");
|
||||||
|
|
||||||
|
b.Navigation("Dinner");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceMember", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Conference", "Conference")
|
||||||
|
.WithMany("Members")
|
||||||
|
.HasForeignKey("ConferenceId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Member", "Member")
|
||||||
|
.WithMany("ConferenceMember")
|
||||||
|
.HasForeignKey("MemberId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Conference");
|
||||||
|
|
||||||
|
b.Navigation("Member");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Dinner", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiters")
|
||||||
|
.WithMany("Dinners")
|
||||||
|
.HasForeignKey("HeadwaiterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Headwaiters");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser")
|
||||||
|
.WithMany("MealPlans")
|
||||||
|
.HasForeignKey("OrganiserId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Organiser");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlanMember", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan")
|
||||||
|
.WithMany("Members")
|
||||||
|
.HasForeignKey("MealPlanId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Member", "Member")
|
||||||
|
.WithMany("MealPlanMember")
|
||||||
|
.HasForeignKey("MemberId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("MealPlan");
|
||||||
|
|
||||||
|
b.Navigation("Member");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser")
|
||||||
|
.WithMany("Members")
|
||||||
|
.HasForeignKey("OrganiserId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Organiser");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiter")
|
||||||
|
.WithMany("Rooms")
|
||||||
|
.HasForeignKey("HeadwaiterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan")
|
||||||
|
.WithMany("Rooms")
|
||||||
|
.HasForeignKey("MealPlanId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Headwaiter");
|
||||||
|
|
||||||
|
b.Navigation("MealPlan");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.RoomDinner", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Dinner", "Dinner")
|
||||||
|
.WithMany("RoomDinners")
|
||||||
|
.HasForeignKey("DinnerId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Room", "Room")
|
||||||
|
.WithMany("Dinners")
|
||||||
|
.HasForeignKey("RoomId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Dinner");
|
||||||
|
|
||||||
|
b.Navigation("Room");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("ConferenceBookings");
|
||||||
|
|
||||||
|
b.Navigation("Members");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Dinners");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Dinner", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("ConferenceBookingDinners");
|
||||||
|
|
||||||
|
b.Navigation("RoomDinners");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Headwaiter", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("ConferenceBookings");
|
||||||
|
|
||||||
|
b.Navigation("Dinners");
|
||||||
|
|
||||||
|
b.Navigation("Rooms");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Members");
|
||||||
|
|
||||||
|
b.Navigation("Rooms");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("ConferenceMember");
|
||||||
|
|
||||||
|
b.Navigation("MealPlanMember");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Organiser", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Conferences");
|
||||||
|
|
||||||
|
b.Navigation("MealPlans");
|
||||||
|
|
||||||
|
b.Navigation("Members");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Dinners");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,28 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace HotelDataBaseImplement.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class TempMigr : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.RenameColumn(
|
||||||
|
name: "DinnetPrice",
|
||||||
|
table: "Dinners",
|
||||||
|
newName: "DinnerPrice");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.RenameColumn(
|
||||||
|
name: "DinnerPrice",
|
||||||
|
table: "Dinners",
|
||||||
|
newName: "DinnetPrice");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
569
Hotel/HotelDataBaseImplement/Migrations/20230516085444_TempMigra.Designer.cs
generated
Normal file
569
Hotel/HotelDataBaseImplement/Migrations/20230516085444_TempMigra.Designer.cs
generated
Normal file
@ -0,0 +1,569 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using HotelDataBaseImplement;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace HotelDataBaseImplement.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(HotelDataBase))]
|
||||||
|
[Migration("20230516085444_TempMigra")]
|
||||||
|
partial class TempMigra
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder
|
||||||
|
.HasAnnotation("ProductVersion", "7.0.4")
|
||||||
|
.HasAnnotation("Relational:MaxIdentifierLength", 128);
|
||||||
|
|
||||||
|
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("ConferenceName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<int>("OrganiserId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<DateTime>("StartDate")
|
||||||
|
.HasColumnType("datetime2");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("OrganiserId");
|
||||||
|
|
||||||
|
b.ToTable("Conferences");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("ConferenceId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("HeadwaiterId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ConferenceId");
|
||||||
|
|
||||||
|
b.HasIndex("HeadwaiterId");
|
||||||
|
|
||||||
|
b.ToTable("ConferenceBookings");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBookingDinner", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("ConferenceBookingId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("DinnerId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("DinnercId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ConferenceBookingId");
|
||||||
|
|
||||||
|
b.HasIndex("DinnercId");
|
||||||
|
|
||||||
|
b.ToTable("ConferenceBookingDinners");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceMember", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("ConferenceId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("MemberId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ConferenceId");
|
||||||
|
|
||||||
|
b.HasIndex("MemberId");
|
||||||
|
|
||||||
|
b.ToTable("ConferenceMembers");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Dinner", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("DinnerName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<double>("DinnerPrice")
|
||||||
|
.HasColumnType("float");
|
||||||
|
|
||||||
|
b.Property<int>("HeadwaiterId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("HeadwaiterId");
|
||||||
|
|
||||||
|
b.ToTable("Dinners");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Headwaiter", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("HeadwaiterEmail")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("HeadwaiterFIO")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("HeadwaiterLogin")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("HeadwaiterNumber")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("HeadwaiterPassword")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Headwaiters");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("MealPlanName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<double>("MealPlanPrice")
|
||||||
|
.HasColumnType("float");
|
||||||
|
|
||||||
|
b.Property<int>("OrganiserId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("OrganiserId");
|
||||||
|
|
||||||
|
b.ToTable("MealPlans");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlanMember", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("MealPlanId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("MemberId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("MealPlanId");
|
||||||
|
|
||||||
|
b.HasIndex("MemberId");
|
||||||
|
|
||||||
|
b.ToTable("MealPlanMembers");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Citizenship")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("MemberFIO")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<int>("OrganiserId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("OrganiserId");
|
||||||
|
|
||||||
|
b.ToTable("Members");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Organiser", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("OrganiserEmail")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("OrganiserFIO")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("OrganiserLogin")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("OrganiserNumber")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("OrganiserPassword")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Organisers");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("HeadwaiterId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("MealPlanId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<string>("RoomFrame")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("RoomName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<double>("RoomPrice")
|
||||||
|
.HasColumnType("float");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("HeadwaiterId");
|
||||||
|
|
||||||
|
b.HasIndex("MealPlanId");
|
||||||
|
|
||||||
|
b.ToTable("Rooms");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.RoomDinner", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("DinnerId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("RoomId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("DinnerId");
|
||||||
|
|
||||||
|
b.HasIndex("RoomId");
|
||||||
|
|
||||||
|
b.ToTable("RoomDinners");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser")
|
||||||
|
.WithMany("Conferences")
|
||||||
|
.HasForeignKey("OrganiserId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Organiser");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Conference", "Conference")
|
||||||
|
.WithMany("ConferenceBookings")
|
||||||
|
.HasForeignKey("ConferenceId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiter")
|
||||||
|
.WithMany("ConferenceBookings")
|
||||||
|
.HasForeignKey("HeadwaiterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Conference");
|
||||||
|
|
||||||
|
b.Navigation("Headwaiter");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBookingDinner", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.ConferenceBooking", "ConferenceBooking")
|
||||||
|
.WithMany("Dinners")
|
||||||
|
.HasForeignKey("ConferenceBookingId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Dinner", "Dinner")
|
||||||
|
.WithMany("ConferenceBookingDinners")
|
||||||
|
.HasForeignKey("DinnercId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("ConferenceBooking");
|
||||||
|
|
||||||
|
b.Navigation("Dinner");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceMember", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Conference", "Conference")
|
||||||
|
.WithMany("Members")
|
||||||
|
.HasForeignKey("ConferenceId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Member", "Member")
|
||||||
|
.WithMany("ConferenceMembers")
|
||||||
|
.HasForeignKey("MemberId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Conference");
|
||||||
|
|
||||||
|
b.Navigation("Member");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Dinner", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiters")
|
||||||
|
.WithMany("Dinners")
|
||||||
|
.HasForeignKey("HeadwaiterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Headwaiters");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser")
|
||||||
|
.WithMany("MealPlans")
|
||||||
|
.HasForeignKey("OrganiserId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Organiser");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlanMember", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan")
|
||||||
|
.WithMany("Members")
|
||||||
|
.HasForeignKey("MealPlanId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Member", "Member")
|
||||||
|
.WithMany("MealPlanMember")
|
||||||
|
.HasForeignKey("MemberId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("MealPlan");
|
||||||
|
|
||||||
|
b.Navigation("Member");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser")
|
||||||
|
.WithMany("Members")
|
||||||
|
.HasForeignKey("OrganiserId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Organiser");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiter")
|
||||||
|
.WithMany("Rooms")
|
||||||
|
.HasForeignKey("HeadwaiterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan")
|
||||||
|
.WithMany("Rooms")
|
||||||
|
.HasForeignKey("MealPlanId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Headwaiter");
|
||||||
|
|
||||||
|
b.Navigation("MealPlan");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.RoomDinner", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Dinner", "Dinner")
|
||||||
|
.WithMany("RoomDinners")
|
||||||
|
.HasForeignKey("DinnerId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Room", "Room")
|
||||||
|
.WithMany("Dinners")
|
||||||
|
.HasForeignKey("RoomId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Dinner");
|
||||||
|
|
||||||
|
b.Navigation("Room");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("ConferenceBookings");
|
||||||
|
|
||||||
|
b.Navigation("Members");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Dinners");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Dinner", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("ConferenceBookingDinners");
|
||||||
|
|
||||||
|
b.Navigation("RoomDinners");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Headwaiter", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("ConferenceBookings");
|
||||||
|
|
||||||
|
b.Navigation("Dinners");
|
||||||
|
|
||||||
|
b.Navigation("Rooms");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Members");
|
||||||
|
|
||||||
|
b.Navigation("Rooms");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("ConferenceMembers");
|
||||||
|
|
||||||
|
b.Navigation("MealPlanMember");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Organiser", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Conferences");
|
||||||
|
|
||||||
|
b.Navigation("MealPlans");
|
||||||
|
|
||||||
|
b.Navigation("Members");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Dinners");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace HotelDataBaseImplement.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class TempMigra : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
569
Hotel/HotelDataBaseImplement/Migrations/20230516090936_TempMigrat.Designer.cs
generated
Normal file
569
Hotel/HotelDataBaseImplement/Migrations/20230516090936_TempMigrat.Designer.cs
generated
Normal file
@ -0,0 +1,569 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using HotelDataBaseImplement;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace HotelDataBaseImplement.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(HotelDataBase))]
|
||||||
|
[Migration("20230516090936_TempMigrat")]
|
||||||
|
partial class TempMigrat
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder
|
||||||
|
.HasAnnotation("ProductVersion", "7.0.4")
|
||||||
|
.HasAnnotation("Relational:MaxIdentifierLength", 128);
|
||||||
|
|
||||||
|
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("ConferenceName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<int>("OrganiserId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<DateTime>("StartDate")
|
||||||
|
.HasColumnType("datetime2");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("OrganiserId");
|
||||||
|
|
||||||
|
b.ToTable("Conferences");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("ConferenceId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("HeadwaiterId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ConferenceId");
|
||||||
|
|
||||||
|
b.HasIndex("HeadwaiterId");
|
||||||
|
|
||||||
|
b.ToTable("ConferenceBookings");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBookingDinner", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("ConferenceBookingId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("DinnerId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("DinnercId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ConferenceBookingId");
|
||||||
|
|
||||||
|
b.HasIndex("DinnercId");
|
||||||
|
|
||||||
|
b.ToTable("ConferenceBookingDinners");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceMember", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("ConferenceId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("MemberId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ConferenceId");
|
||||||
|
|
||||||
|
b.HasIndex("MemberId");
|
||||||
|
|
||||||
|
b.ToTable("ConferenceMembers");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Dinner", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("DinnerName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<double>("DinnerPrice")
|
||||||
|
.HasColumnType("float");
|
||||||
|
|
||||||
|
b.Property<int>("HeadwaiterId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("HeadwaiterId");
|
||||||
|
|
||||||
|
b.ToTable("Dinners");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Headwaiter", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("HeadwaiterEmail")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("HeadwaiterFIO")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("HeadwaiterLogin")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("HeadwaiterNumber")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("HeadwaiterPassword")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Headwaiters");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("MealPlanName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<double>("MealPlanPrice")
|
||||||
|
.HasColumnType("float");
|
||||||
|
|
||||||
|
b.Property<int>("OrganiserId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("OrganiserId");
|
||||||
|
|
||||||
|
b.ToTable("MealPlans");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlanMember", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("MealPlanId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("MemberId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("MealPlanId");
|
||||||
|
|
||||||
|
b.HasIndex("MemberId");
|
||||||
|
|
||||||
|
b.ToTable("MealPlanMembers");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Citizenship")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("MemberFIO")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<int>("OrganiserId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("OrganiserId");
|
||||||
|
|
||||||
|
b.ToTable("Members");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Organiser", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("OrganiserEmail")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("OrganiserFIO")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("OrganiserLogin")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("OrganiserNumber")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("OrganiserPassword")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Organisers");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("HeadwaiterId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("MealPlanId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<string>("RoomFrame")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("RoomName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<double>("RoomPrice")
|
||||||
|
.HasColumnType("float");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("HeadwaiterId");
|
||||||
|
|
||||||
|
b.HasIndex("MealPlanId");
|
||||||
|
|
||||||
|
b.ToTable("Rooms");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.RoomDinner", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("DinnerId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("RoomId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("DinnerId");
|
||||||
|
|
||||||
|
b.HasIndex("RoomId");
|
||||||
|
|
||||||
|
b.ToTable("RoomDinners");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser")
|
||||||
|
.WithMany("Conferences")
|
||||||
|
.HasForeignKey("OrganiserId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Organiser");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Conference", "Conference")
|
||||||
|
.WithMany("ConferenceBookings")
|
||||||
|
.HasForeignKey("ConferenceId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiter")
|
||||||
|
.WithMany("ConferenceBookings")
|
||||||
|
.HasForeignKey("HeadwaiterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Conference");
|
||||||
|
|
||||||
|
b.Navigation("Headwaiter");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBookingDinner", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.ConferenceBooking", "ConferenceBooking")
|
||||||
|
.WithMany("Dinners")
|
||||||
|
.HasForeignKey("ConferenceBookingId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Dinner", "Dinner")
|
||||||
|
.WithMany("ConferenceBookingDinners")
|
||||||
|
.HasForeignKey("DinnercId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("ConferenceBooking");
|
||||||
|
|
||||||
|
b.Navigation("Dinner");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceMember", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Conference", "Conference")
|
||||||
|
.WithMany("Members")
|
||||||
|
.HasForeignKey("ConferenceId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Member", "Member")
|
||||||
|
.WithMany("ConferenceMembers")
|
||||||
|
.HasForeignKey("MemberId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Conference");
|
||||||
|
|
||||||
|
b.Navigation("Member");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Dinner", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiters")
|
||||||
|
.WithMany("Dinners")
|
||||||
|
.HasForeignKey("HeadwaiterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Headwaiters");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser")
|
||||||
|
.WithMany("MealPlans")
|
||||||
|
.HasForeignKey("OrganiserId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Organiser");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlanMember", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan")
|
||||||
|
.WithMany("Members")
|
||||||
|
.HasForeignKey("MealPlanId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Member", "Member")
|
||||||
|
.WithMany("MealPlanMember")
|
||||||
|
.HasForeignKey("MemberId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("MealPlan");
|
||||||
|
|
||||||
|
b.Navigation("Member");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser")
|
||||||
|
.WithMany("Members")
|
||||||
|
.HasForeignKey("OrganiserId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Organiser");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Headwaiter", "Headwaiter")
|
||||||
|
.WithMany("Rooms")
|
||||||
|
.HasForeignKey("HeadwaiterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan")
|
||||||
|
.WithMany("Rooms")
|
||||||
|
.HasForeignKey("MealPlanId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Headwaiter");
|
||||||
|
|
||||||
|
b.Navigation("MealPlan");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.RoomDinner", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Dinner", "Dinner")
|
||||||
|
.WithMany("RoomDinners")
|
||||||
|
.HasForeignKey("DinnerId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("HotelDataBaseImplement.Models.Room", "Room")
|
||||||
|
.WithMany("Dinners")
|
||||||
|
.HasForeignKey("RoomId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Dinner");
|
||||||
|
|
||||||
|
b.Navigation("Room");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Conference", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("ConferenceBookings");
|
||||||
|
|
||||||
|
b.Navigation("Members");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.ConferenceBooking", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Dinners");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Dinner", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("ConferenceBookingDinners");
|
||||||
|
|
||||||
|
b.Navigation("RoomDinners");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Headwaiter", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("ConferenceBookings");
|
||||||
|
|
||||||
|
b.Navigation("Dinners");
|
||||||
|
|
||||||
|
b.Navigation("Rooms");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlan", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Members");
|
||||||
|
|
||||||
|
b.Navigation("Rooms");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("ConferenceMembers");
|
||||||
|
|
||||||
|
b.Navigation("MealPlanMember");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Organiser", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Conferences");
|
||||||
|
|
||||||
|
b.Navigation("MealPlans");
|
||||||
|
|
||||||
|
b.Navigation("Members");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Dinners");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace HotelDataBaseImplement.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class TempMigrat : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -134,7 +134,7 @@ namespace HotelDataBaseImplement.Migrations
|
|||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("nvarchar(max)");
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
b.Property<double>("DinnetPrice")
|
b.Property<double>("DinnerPrice")
|
||||||
.HasColumnType("float");
|
.HasColumnType("float");
|
||||||
|
|
||||||
b.Property<int>("HeadwaiterId")
|
b.Property<int>("HeadwaiterId")
|
||||||
@ -405,7 +405,7 @@ namespace HotelDataBaseImplement.Migrations
|
|||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.HasOne("HotelDataBaseImplement.Models.Member", "Member")
|
b.HasOne("HotelDataBaseImplement.Models.Member", "Member")
|
||||||
.WithMany("ConferenceMember")
|
.WithMany("ConferenceMembers")
|
||||||
.HasForeignKey("MemberId")
|
.HasForeignKey("MemberId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
@ -542,7 +542,7 @@ namespace HotelDataBaseImplement.Migrations
|
|||||||
|
|
||||||
modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b =>
|
modelBuilder.Entity("HotelDataBaseImplement.Models.Member", b =>
|
||||||
{
|
{
|
||||||
b.Navigation("ConferenceMember");
|
b.Navigation("ConferenceMembers");
|
||||||
|
|
||||||
b.Navigation("MealPlanMember");
|
b.Navigation("MealPlanMember");
|
||||||
});
|
});
|
||||||
|
@ -3,6 +3,7 @@ using HotelContracts.ViewModels;
|
|||||||
using HotelDataModels.Models;
|
using HotelDataModels.Models;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Text.Json.Serialization;
|
||||||
|
|
||||||
namespace HotelDataBaseImplement.Models
|
namespace HotelDataBaseImplement.Models
|
||||||
{
|
{
|
||||||
@ -19,25 +20,30 @@ namespace HotelDataBaseImplement.Models
|
|||||||
|
|
||||||
public virtual Organiser Organiser { get; set; }
|
public virtual Organiser Organiser { get; set; }
|
||||||
|
|
||||||
[ForeignKey("ConferenceId")]
|
|
||||||
public virtual List<ConferenceBooking> ConferenceBookings { get; set; }
|
|
||||||
|
|
||||||
[ForeignKey("ConferenceId")]
|
|
||||||
public virtual List<ConferenceMember> Members { get; set; }
|
|
||||||
|
|
||||||
private Dictionary<int, IMemberModel> _conferenceMembers = null;
|
private Dictionary<int, IMemberModel> _conferenceMembers = null;
|
||||||
|
|
||||||
|
[NotMapped]
|
||||||
public Dictionary<int, IMemberModel> ConferenceMembers
|
public Dictionary<int, IMemberModel> ConferenceMembers
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (_conferenceMembers == null)
|
if (_conferenceMembers == null)
|
||||||
{
|
{
|
||||||
_conferenceMembers = Members.ToDictionary(recPC => recPC.MemberId, recPC => (recPC.Member as IMemberModel));
|
using var context = new HotelDataBase();
|
||||||
|
_conferenceMembers = Members
|
||||||
|
.ToDictionary(x => x.MemberId, x => (context.Members
|
||||||
|
.FirstOrDefault(y => y.Id == x.MemberId)! as IMemberModel));
|
||||||
}
|
}
|
||||||
return _conferenceMembers;
|
return _conferenceMembers;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[ForeignKey("ConferenceId")]
|
||||||
|
public virtual List<ConferenceBooking> ConferenceBookings { get; set; }
|
||||||
|
|
||||||
|
[ForeignKey("ConferenceId")]
|
||||||
|
public virtual List<ConferenceMember> Members { get; set; } = new();
|
||||||
|
|
||||||
public static Conference Create(HotelDataBase context, ConferenceBindingModel model)
|
public static Conference Create(HotelDataBase context, ConferenceBindingModel model)
|
||||||
{
|
{
|
||||||
return new Conference()
|
return new Conference()
|
||||||
@ -72,21 +78,26 @@ namespace HotelDataBaseImplement.Models
|
|||||||
public void UpdateMembers(HotelDataBase context, ConferenceBindingModel model)
|
public void UpdateMembers(HotelDataBase context, ConferenceBindingModel model)
|
||||||
{
|
{
|
||||||
var conferenceMembers = context.ConferenceMembers.Where(rec => rec.ConferenceId == model.Id).ToList();
|
var conferenceMembers = context.ConferenceMembers.Where(rec => rec.ConferenceId == model.Id).ToList();
|
||||||
|
|
||||||
if (conferenceMembers != null)
|
if (conferenceMembers != null && conferenceMembers.Count > 0)
|
||||||
{
|
{
|
||||||
context.ConferenceMembers.RemoveRange(conferenceMembers.Where(rec => !model.ConferenceMembers.ContainsKey(rec.MemberId)));
|
context.ConferenceMembers.RemoveRange(conferenceMembers.Where(rec => !model.ConferenceMembers.ContainsKey(rec.MemberId)));
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
|
|
||||||
|
foreach (var updateMember in conferenceMembers)
|
||||||
|
{
|
||||||
|
model.ConferenceMembers.Remove(updateMember.MemberId);
|
||||||
|
}
|
||||||
|
context.SaveChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
var conference = context.Conferences.First(x => x.Id == Id);
|
var conference = context.Conferences.First(x => x.Id == Id);
|
||||||
|
|
||||||
foreach (var cm in model.ConferenceMembers)
|
foreach (var cm in model.ConferenceMembers)
|
||||||
{
|
{
|
||||||
context.ConferenceMembers.Add(new ConferenceMember
|
context.ConferenceMembers.Add(new ConferenceMember
|
||||||
{
|
{
|
||||||
Conference = conference,
|
Conference = conference,
|
||||||
Member = context.Members.First(x => x.Id == cm.Key)
|
Member = context.Members.First(x => x.Id == cm.Key),
|
||||||
});
|
});
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ namespace HotelDataBaseImplement.Models
|
|||||||
[Required]
|
[Required]
|
||||||
public int ConferenceId { get; set; }
|
public int ConferenceId { get; set; }
|
||||||
|
|
||||||
public virtual Conference Conference { get; set; }
|
public virtual Conference Conference { get; set; } = new();
|
||||||
public virtual Member Member { get; set; }
|
public virtual Member Member { get; set; } = new();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ namespace HotelDataBaseImplement.Models
|
|||||||
public virtual List<MealPlanMember> Members { get; set; }
|
public virtual List<MealPlanMember> Members { get; set; }
|
||||||
|
|
||||||
private Dictionary<int, IMemberModel> _mealPlanMembers = null;
|
private Dictionary<int, IMemberModel> _mealPlanMembers = null;
|
||||||
|
[NotMapped]
|
||||||
public Dictionary<int, IMemberModel> MealPlanMembers
|
public Dictionary<int, IMemberModel> MealPlanMembers
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
@ -10,7 +10,6 @@ namespace HotelDataBaseImplement.Models
|
|||||||
{
|
{
|
||||||
[Required]
|
[Required]
|
||||||
public string MemberFIO { get; set; } = string.Empty;
|
public string MemberFIO { get; set; } = string.Empty;
|
||||||
|
|
||||||
[Required]
|
[Required]
|
||||||
public string Citizenship { get; set; } = string.Empty;
|
public string Citizenship { get; set; } = string.Empty;
|
||||||
|
|
||||||
@ -23,8 +22,10 @@ namespace HotelDataBaseImplement.Models
|
|||||||
[ForeignKey("MemberId")]
|
[ForeignKey("MemberId")]
|
||||||
public virtual List<MealPlanMember> MealPlanMember { get; set; }
|
public virtual List<MealPlanMember> MealPlanMember { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[ForeignKey("MemberId")]
|
[ForeignKey("MemberId")]
|
||||||
public virtual List<ConferenceMember> ConferenceMember { get; set; }
|
public virtual List<ConferenceMember> ConferenceMembers { get; set; } = new();
|
||||||
|
|
||||||
public static Member? Create(MemberBindingModel model)
|
public static Member? Create(MemberBindingModel model)
|
||||||
{
|
{
|
||||||
if (model == null)
|
if (model == null)
|
||||||
|
@ -6,4 +6,33 @@
|
|||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.5" />
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.5" />
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.5">
|
||||||
|
<PrivateAssets>all</PrivateAssets>
|
||||||
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Configuration" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="7.0.4" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.FileProviders.Abstractions" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.FileProviders.Physical" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.FileSystemGlobbing" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.0" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Options" Version="7.0.1" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Primitives" Version="7.0.0" />
|
||||||
|
<PackageReference Include="NLog" Version="5.1.4" />
|
||||||
|
<PackageReference Include="NLog.Extensions.Logging" Version="5.2.3" />
|
||||||
|
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.0.0" />
|
||||||
|
<PackageReference Include="System.Text.Encodings.Web" Version="7.0.0" />
|
||||||
|
<PackageReference Include="System.Text.Json" Version="7.0.2" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using HotelContracts.BindingModels;
|
using HotelContracts.BindingModels;
|
||||||
|
using HotelContracts.SearchModels;
|
||||||
using HotelContracts.ViewModels;
|
using HotelContracts.ViewModels;
|
||||||
using HotelOrganiserApp.Models;
|
using HotelOrganiserApp.Models;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
@ -146,6 +147,157 @@ namespace HotelOrganiserApp.Controllers
|
|||||||
return View(APIClient.GetRequest<List<MemberViewModel>>($"api/main/getmemberlist?organiserId={APIClient.Organiser.Id}"));
|
return View(APIClient.GetRequest<List<MemberViewModel>>($"api/main/getmemberlist?organiserId={APIClient.Organiser.Id}"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public IActionResult CreateConference()
|
||||||
|
{
|
||||||
|
if (APIClient.Organiser == null)
|
||||||
|
{
|
||||||
|
return Redirect("~/Home/Enter");
|
||||||
|
}
|
||||||
|
return View();
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public void CreateConference(string conferenceName, DateTime startDate)
|
||||||
|
{
|
||||||
|
if (APIClient.Organiser == null)
|
||||||
|
{
|
||||||
|
throw new Exception("Необходима авторизация");
|
||||||
|
}
|
||||||
|
if (string.IsNullOrEmpty(conferenceName) || string.IsNullOrEmpty(startDate.ToString()))
|
||||||
|
{
|
||||||
|
throw new Exception("Введите название");
|
||||||
|
}
|
||||||
|
if (string.IsNullOrEmpty(startDate.ToString()))
|
||||||
|
{
|
||||||
|
throw new Exception("Введите дату");
|
||||||
|
}
|
||||||
|
APIClient.PostRequest("api/main/createconference", new ConferenceBindingModel
|
||||||
|
{
|
||||||
|
ConferenceName = conferenceName,
|
||||||
|
StartDate = startDate,
|
||||||
|
OrganiserId = APIClient.Organiser.Id,
|
||||||
|
});
|
||||||
|
Response.Redirect("ListConferences");
|
||||||
|
}
|
||||||
|
|
||||||
|
public IActionResult DeleteConference()
|
||||||
|
{
|
||||||
|
if (APIClient.Organiser == null)
|
||||||
|
{
|
||||||
|
return Redirect("~/Home/Enter");
|
||||||
|
}
|
||||||
|
ViewBag.Conferences = APIClient.GetRequest<List<ConferenceViewModel>>($"api/main/getconferencelist?organiserId={APIClient.Organiser.Id}");
|
||||||
|
return View();
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public void DeleteConference(int conference)
|
||||||
|
{
|
||||||
|
if (APIClient.Organiser == null)
|
||||||
|
{
|
||||||
|
throw new Exception("Необходима авторизация");
|
||||||
|
}
|
||||||
|
APIClient.PostRequest("api/main/deleteconference", new ConferenceBindingModel
|
||||||
|
{
|
||||||
|
Id = conference
|
||||||
|
});
|
||||||
|
Response.Redirect("ListConferences");
|
||||||
|
}
|
||||||
|
|
||||||
|
public IActionResult UpdateConference()
|
||||||
|
{
|
||||||
|
if (APIClient.Organiser == null)
|
||||||
|
{
|
||||||
|
return Redirect("~/Home/Enter");
|
||||||
|
}
|
||||||
|
ViewBag.Conferences = APIClient.GetRequest<List<ConferenceViewModel>>($"api/main/getconferencelist?organiserId={APIClient.Organiser.Id}");
|
||||||
|
return View();
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public void UpdateConference(int conference, string conferenceName, DateTime startDate)
|
||||||
|
{
|
||||||
|
if (APIClient.Organiser == null)
|
||||||
|
{
|
||||||
|
throw new Exception("Необходима авторизация");
|
||||||
|
}
|
||||||
|
if (string.IsNullOrEmpty(conferenceName))
|
||||||
|
{
|
||||||
|
throw new Exception("Название не может быть пустым");
|
||||||
|
}
|
||||||
|
if (string.IsNullOrEmpty(startDate.ToString()))
|
||||||
|
{
|
||||||
|
throw new Exception("Дата не может быть пустым");
|
||||||
|
}
|
||||||
|
APIClient.PostRequest("api/main/updateconference", new ConferenceBindingModel
|
||||||
|
{
|
||||||
|
Id = conference,
|
||||||
|
ConferenceName = conferenceName,
|
||||||
|
StartDate = startDate,
|
||||||
|
OrganiserId = APIClient.Organiser.Id
|
||||||
|
});
|
||||||
|
Response.Redirect("ListConferences");
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpGet]
|
||||||
|
public Tuple<ConferenceViewModel, string>? GetConference(int conferenceId)
|
||||||
|
{
|
||||||
|
if (APIClient.Organiser == null)
|
||||||
|
{
|
||||||
|
throw new Exception("Необходима авторизация");
|
||||||
|
}
|
||||||
|
var result = APIClient.GetRequest<Tuple<ConferenceViewModel, List<Tuple<string, string>>>>($"api/main/getconference?conferenceId={conferenceId}");
|
||||||
|
if (result == null)
|
||||||
|
{
|
||||||
|
return default;
|
||||||
|
}
|
||||||
|
string table = "";
|
||||||
|
for (int i = 0; i < result.Item2.Count; i++)
|
||||||
|
{
|
||||||
|
var memberFIO = result.Item2[i].Item1;
|
||||||
|
var citizenship = result.Item2[i].Item2;
|
||||||
|
table += "<tr style=\"height: 44px\">";
|
||||||
|
table += $"<td class=\"u-border-1 u-border-grey-30 u-table-cell\">{memberFIO}</td>";
|
||||||
|
table += $"<td class=\"u-border-1 u-border-grey-30 u-table-cell\">{citizenship}</td>";
|
||||||
|
table += "</tr>";
|
||||||
|
}
|
||||||
|
return Tuple.Create(result.Item1, table);
|
||||||
|
}
|
||||||
|
|
||||||
|
public IActionResult AddMemberToConference()
|
||||||
|
{
|
||||||
|
if (APIClient.Organiser == null)
|
||||||
|
{
|
||||||
|
return Redirect("~/Home/Enter");
|
||||||
|
}
|
||||||
|
ViewBag.Conferences = APIClient.GetRequest<List<ConferenceViewModel>>($"api/main/getconferencelist?organiserId={APIClient.Organiser.Id}");
|
||||||
|
ViewBag.Members = APIClient.GetRequest<List<MemberViewModel>>($"api/main/getmemberlist?organiserId={APIClient.Organiser.Id}");
|
||||||
|
return View();
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public void AddMemberToConference(int conference, int member)
|
||||||
|
{
|
||||||
|
if (APIClient.Organiser == null)
|
||||||
|
{
|
||||||
|
throw new Exception("Необходима авторизация");
|
||||||
|
}
|
||||||
|
APIClient.PostRequest("api/main/AddMemberToConference", Tuple.Create(
|
||||||
|
new ConferenceSearchModel() { Id = conference },
|
||||||
|
new MemberViewModel() { Id = member }
|
||||||
|
));
|
||||||
|
Response.Redirect("ListConferences");
|
||||||
|
}
|
||||||
|
|
||||||
|
public IActionResult ListConferences()
|
||||||
|
{
|
||||||
|
if (APIClient.Organiser == null)
|
||||||
|
{
|
||||||
|
return Redirect("~/Home/Enter");
|
||||||
|
}
|
||||||
|
return View(APIClient.GetRequest<List<ConferenceViewModel>>($"api/main/getconferencelist?organiserId={APIClient.Organiser.Id}"));
|
||||||
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
public IActionResult Privacy()
|
public IActionResult Privacy()
|
||||||
{
|
{
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||||
<PackageReference Include="TagHelperPack" Version="0.10.1" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -0,0 +1,27 @@
|
|||||||
|
@using HotelContracts.ViewModels;
|
||||||
|
@using HotelDataModels.Models;
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewData["Title"] = "AddMemberToConference";
|
||||||
|
}
|
||||||
|
|
||||||
|
@model Dictionary<int, IMemberModel>
|
||||||
|
|
||||||
|
<form method="post">
|
||||||
|
<div class="u-form-group u-form-name u-label-top">
|
||||||
|
<label class="u-label u-text-custom-color-1 u-label-1">Конференция: </label>
|
||||||
|
<div class="u-input u-input-rectangle">
|
||||||
|
<select id="conference" name="conference" class="form-control" asp-items="@(new SelectList(@ViewBag.Conferences, "Id", "ConferenceName"))"></select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="u-form-group u-form-name u-label-top">
|
||||||
|
<label class="u-label u-text-custom-color-1 u-label-1">Участник: </label>
|
||||||
|
<div class="u-input u-input-rectangle">
|
||||||
|
<select id="member" name="member" class="form-control" asp-items="@(new SelectList(@ViewBag.Members, "Id", "MemberFIO"))"></select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="u-align-right u-form-group u-form-submit u-label-top">
|
||||||
|
<div class="col-8"></div>
|
||||||
|
<div class="col-4"><input type="submit" value="Добавить участника" class="u-active-custom-color-6 u-border-none u-btn u-btn-submit u-button-style u-custom-color-1 u-hover-custom-color-2 u-btn-1" /></div>
|
||||||
|
</div>
|
||||||
|
</form>
|
30
Hotel/HotelOrganiserApp/Views/Home/CreateConference.cshtml
Normal file
30
Hotel/HotelOrganiserApp/Views/Home/CreateConference.cshtml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
@{
|
||||||
|
ViewData["Title"] = "CreateConference";
|
||||||
|
}
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<link rel="stylesheet" href="~/css/createmember.css" asp-append-version="true" />
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<form method="post">
|
||||||
|
<div class="u-form-group u-form-name u-label-top">
|
||||||
|
<label class="u-label u-text-custom-color-1 u-label-1">Название конференции</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
placeholder="Введите название конференции"
|
||||||
|
name="conferenceName"
|
||||||
|
class="u-input u-input-rectangle"/>
|
||||||
|
</div>
|
||||||
|
<div class="u-form-email u-form-group u-label-top">
|
||||||
|
<label class="u-label u-text-custom-color-1 u-label-2">Начало</label>
|
||||||
|
<input
|
||||||
|
type="date"
|
||||||
|
placeholder="Выберите дату начала"
|
||||||
|
name="startDate"
|
||||||
|
class="u-input u-input-rectangle"/>
|
||||||
|
</div>
|
||||||
|
<div class="u-align-right u-form-group u-form-submit u-label-top">
|
||||||
|
<div class="col-8"></div>
|
||||||
|
<div class="col-4"><input type="submit" value="Сохранить" class="u-active-custom-color-6 u-border-none u-btn u-btn-submit u-button-style u-custom-color-1 u-hover-custom-color-2 u-btn-1" /></div>
|
||||||
|
</div>
|
||||||
|
</form>
|
18
Hotel/HotelOrganiserApp/Views/Home/DeleteConference.cshtml
Normal file
18
Hotel/HotelOrganiserApp/Views/Home/DeleteConference.cshtml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
@{
|
||||||
|
ViewData["Title"] = "DeleteConference";
|
||||||
|
}
|
||||||
|
<head>
|
||||||
|
<link rel="stylesheet" href="~/css/createmember.css" asp-append-version="true" />
|
||||||
|
</head>
|
||||||
|
<form method="post">
|
||||||
|
<div class="u-form-group u-form-name u-label-top">
|
||||||
|
<label class="u-label u-text-custom-color-1 u-label-1">Конференция: </label>
|
||||||
|
<div class="u-input u-input-rectangle">
|
||||||
|
<select id="conference" name="conference" class="form-control" asp-items="@(new SelectList(@ViewBag.Conferences, "Id", "ConferenceName"))"></select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="u-align-right u-form-group u-form-submit u-label-top">
|
||||||
|
<div class="col-8"></div>
|
||||||
|
<div class="col-4"><input type="submit" value="Удалить" class="u-active-custom-color-6 u-border-none u-btn u-btn-submit u-button-style u-custom-color-1 u-hover-custom-color-2 u-btn-1" /></div>
|
||||||
|
</div>
|
||||||
|
</form>
|
94
Hotel/HotelOrganiserApp/Views/Home/ListConferences.cshtml
Normal file
94
Hotel/HotelOrganiserApp/Views/Home/ListConferences.cshtml
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
@using HotelContracts.ViewModels
|
||||||
|
|
||||||
|
@model List<ConferenceViewModel>
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewData["Title"] = "ListConferences";
|
||||||
|
}
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<link rel="stylesheet" href="~/css/listconferences.css" asp-append-version="true" />
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<section class="u-clearfix u-section-1" id="sec-096c">
|
||||||
|
<div class="u-clearfix u-sheet u-valign-middle u-sheet-1">
|
||||||
|
<div class="u-clearfix u-layout-wrap u-layout-wrap-1">
|
||||||
|
<div class="u-layout">
|
||||||
|
<div class="u-layout-row">
|
||||||
|
<div
|
||||||
|
class="u-container-style u-layout-cell u-size-48 u-layout-cell-1"
|
||||||
|
>
|
||||||
|
<div class="u-container-layout u-container-layout-1">
|
||||||
|
<div class="u-table u-table-responsive u-table-1">
|
||||||
|
<table class="u-table-entity">
|
||||||
|
<colgroup>
|
||||||
|
<col width="9.8%" />
|
||||||
|
<col width="62.9%" />
|
||||||
|
<col width="27.3%" />
|
||||||
|
</colgroup>
|
||||||
|
<thead class="u-custom-color-1 u-table-header u-table-header-1">
|
||||||
|
<tr style="height: 31px">
|
||||||
|
<th class="u-border-1 u-border-grey-50 u-table-cell">
|
||||||
|
Номер
|
||||||
|
</th>
|
||||||
|
<th class="u-border-1 u-border-grey-50 u-table-cell">
|
||||||
|
Название конференции
|
||||||
|
</th>
|
||||||
|
<th class="u-border-1 u-border-grey-50 u-table-cell">
|
||||||
|
Дата начала конференции
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="u-table-body">
|
||||||
|
@foreach (var item in Model)
|
||||||
|
{
|
||||||
|
<tr style="height: 75px">
|
||||||
|
<td
|
||||||
|
class="u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell">
|
||||||
|
@Html.DisplayFor(modelItem => item.Id)
|
||||||
|
</td>
|
||||||
|
<td
|
||||||
|
class="u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell"
|
||||||
|
>
|
||||||
|
@Html.DisplayFor(modelItem => item.ConferenceName)
|
||||||
|
</td>
|
||||||
|
<td
|
||||||
|
class="u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell"
|
||||||
|
>
|
||||||
|
@Html.DisplayFor(modelItem => item.StartDate)
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="u-container-style u-layout-cell u-size-12 u-layout-cell-2"
|
||||||
|
>
|
||||||
|
<div class="u-container-layout u-container-layout-2">
|
||||||
|
<a
|
||||||
|
asp-area="" asp-controller="Home" asp-action="CreateConference"
|
||||||
|
class="u-active-custom-color-6 u-border-none u-btn u-button-style u-custom-color-1 u-hover-custom-color-2 u-btn-1"
|
||||||
|
>Добавить</a>
|
||||||
|
<a
|
||||||
|
asp-area="" asp-controller="Home" asp-action="UpdateConference"
|
||||||
|
class="u-active-custom-color-6 u-border-none u-btn u-button-style u-custom-color-1 u-hover-custom-color-2 u-btn-1"
|
||||||
|
>иЗМЕНИТЬ</a>
|
||||||
|
<a
|
||||||
|
asp-area="" asp-controller="Home" asp-action="DeleteConference"
|
||||||
|
class="u-active-custom-color-6 u-border-none u-btn u-button-style u-custom-color-1 u-hover-custom-color-2 u-btn-1"
|
||||||
|
>Удалить</a>
|
||||||
|
<a
|
||||||
|
asp-area="" asp-controller="Home" asp-action="AddMemberToConference"
|
||||||
|
style="padding: 10 px"
|
||||||
|
class="u-active-custom-color-6 u-border-none u-btn u-button-style u-custom-color-1 u-hover-custom-color-2 u-btn-1"
|
||||||
|
>Добавить участника</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
89
Hotel/HotelOrganiserApp/Views/Home/UpdateConference.cshtml
Normal file
89
Hotel/HotelOrganiserApp/Views/Home/UpdateConference.cshtml
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
@using HotelContracts.ViewModels;
|
||||||
|
@using HotelDataModels.Models;
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewData["Title"] = "UpdateConference";
|
||||||
|
}
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<link rel="stylesheet" href="~/css/createmember.css" asp-append-version="true" />
|
||||||
|
<link rel="stylesheet" href="~/css/updateconference.css" asp-append-version="true" />
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<form method="post">
|
||||||
|
<div class="u-form-group u-form-name u-label-top">
|
||||||
|
<label class="u-label u-text-custom-color-1 u-label-1">Конференция: </label>
|
||||||
|
<div class="u-input u-input-rectangle">
|
||||||
|
<select id="conference" name="conference" class="form-control" asp-items="@(new SelectList(@ViewBag.Conferences, "Id", "ConferenceName"))"></select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="u-form-group u-form-name u-label-top">
|
||||||
|
<label class="u-label u-text-custom-color-1 u-label-1">Название конференции</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
id="conferenceName"
|
||||||
|
placeholder="Введите название конференции"
|
||||||
|
name="conferenceName"
|
||||||
|
class="u-input u-input-rectangle"/>
|
||||||
|
</div>
|
||||||
|
<div class="u-form-email u-form-group u-label-top">
|
||||||
|
<label class="u-label u-text-custom-color-1 u-label-2">Начало</label>
|
||||||
|
<input
|
||||||
|
type="datetime"
|
||||||
|
id="startDate"
|
||||||
|
placeholder="Выберите начало конференции"
|
||||||
|
name="startDate"
|
||||||
|
class="u-input u-input-rectangle"/>
|
||||||
|
</div>
|
||||||
|
<div class="u-table u-table-responsive u-table-1">
|
||||||
|
<label class="u-label u-text-custom-color-1 u-label-1">Участники конференции</label>
|
||||||
|
<table class="u-table-entity">
|
||||||
|
<colgroup>
|
||||||
|
<col width="63%" />
|
||||||
|
<col width="37%" />
|
||||||
|
</colgroup>
|
||||||
|
<thead class="u-custom-color-1 u-table-header u-table-header-1">
|
||||||
|
<tr style="height: 44px">
|
||||||
|
<th class="u-border-1 u-border-black u-table-cell">
|
||||||
|
Участники
|
||||||
|
</th>
|
||||||
|
<th class="u-border-1 u-border-black u-table-cell">
|
||||||
|
Гражданство
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="u-table-body" id="table-elements">
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="u-align-right u-form-group u-form-submit u-label-top">
|
||||||
|
<div class="col-8"></div>
|
||||||
|
<div class="col-4"><input type="submit" value="Сохранить" class="u-active-custom-color-6 u-border-none u-btn u-btn-submit u-button-style u-custom-color-1 u-hover-custom-color-2 u-btn-1" /></div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
@section Scripts
|
||||||
|
{
|
||||||
|
<script>
|
||||||
|
function check() {
|
||||||
|
var conference = $('#conference').val();
|
||||||
|
if (conference) {
|
||||||
|
$.ajax({
|
||||||
|
method: "GET",
|
||||||
|
url: "/Home/GetConference",
|
||||||
|
data: { conferenceId: conference },
|
||||||
|
success: function (result) {
|
||||||
|
$('#conferenceName').val(result.item1.conferenceName);
|
||||||
|
$('#startDate').val(result.item1.startDate);
|
||||||
|
$('#table-elements').html(result.item2);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
|
check();
|
||||||
|
$('#conference').on('change', function () {
|
||||||
|
check();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
}
|
138
Hotel/HotelOrganiserApp/wwwroot/css/listconferences.css
Normal file
138
Hotel/HotelOrganiserApp/wwwroot/css/listconferences.css
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
.u-section-1 .u-sheet-1 {
|
||||||
|
min-height: 559px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-wrap-1 {
|
||||||
|
width: 965px;
|
||||||
|
margin: 60px auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-cell-1 {
|
||||||
|
min-height: 400px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-container-layout-1 {
|
||||||
|
padding: 9px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-table-1 {
|
||||||
|
width: 694px;
|
||||||
|
margin: 16px auto 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-table-header-1 {
|
||||||
|
font-weight: 700;
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-cell-2 {
|
||||||
|
min-height: 400px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-container-layout-2 {
|
||||||
|
padding: 30px 11px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-btn-1 {
|
||||||
|
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 1px;
|
||||||
|
background-image: none;
|
||||||
|
margin: 1 auto;
|
||||||
|
padding: 10px 34px 10px 33px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-btn-2 {
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 1px;
|
||||||
|
background-image: none;
|
||||||
|
margin: 20px auto 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-btn-3 {
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 1px;
|
||||||
|
background-image: none;
|
||||||
|
margin: 20px auto 0;
|
||||||
|
padding: 10px 37px 10px 36px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-btn-4 {
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 1px;
|
||||||
|
background-image: none;
|
||||||
|
margin: 20px auto 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 1199px) {
|
||||||
|
.u-section-1 .u-sheet-1 {
|
||||||
|
min-height: 549px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-wrap-1 {
|
||||||
|
width: 940px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-cell-1 {
|
||||||
|
min-height: 390px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-table-1 {
|
||||||
|
width: 470px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-cell-2 {
|
||||||
|
min-height: 390px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 991px) {
|
||||||
|
.u-section-1 .u-sheet-1 {
|
||||||
|
min-height: 259px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-wrap-1 {
|
||||||
|
width: 720px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-cell-1 {
|
||||||
|
min-height: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-table-1 {
|
||||||
|
width: 360px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-cell-2 {
|
||||||
|
min-height: 100px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
.u-section-1 .u-sheet-1 {
|
||||||
|
min-height: 359px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-wrap-1 {
|
||||||
|
width: 540px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-container-layout-2 {
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 575px) {
|
||||||
|
.u-section-1 .u-layout-wrap-1 {
|
||||||
|
width: 340px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-table-1 {
|
||||||
|
width: 340px;
|
||||||
|
}
|
||||||
|
}
|
195
Hotel/HotelOrganiserApp/wwwroot/css/updateconference.css
Normal file
195
Hotel/HotelOrganiserApp/wwwroot/css/updateconference.css
Normal file
@ -0,0 +1,195 @@
|
|||||||
|
.u-section-1 .u-sheet-1 {
|
||||||
|
min-height: 764px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-wrap-1 {
|
||||||
|
margin-top: 57px;
|
||||||
|
margin-bottom: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-cell-1 {
|
||||||
|
min-height: 283px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-container-layout-1 {
|
||||||
|
padding: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-form-1 {
|
||||||
|
left: 285px;
|
||||||
|
right: auto;
|
||||||
|
height: 290px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-label-1 {
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-label-2 {
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-btn-1 {
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-cell-2 {
|
||||||
|
min-height: 283px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-container-layout-2 {
|
||||||
|
padding: 9px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-table-1 {
|
||||||
|
width: 779px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-table-header-1 {
|
||||||
|
font-weight: 700;
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-cell-3 {
|
||||||
|
min-height: 283px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-container-layout-3 {
|
||||||
|
padding: 30px 19px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-btn-2 {
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 1px;
|
||||||
|
background-image: none;
|
||||||
|
margin: 0 11px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-btn-3 {
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 1px;
|
||||||
|
background-image: none;
|
||||||
|
margin: 20px 2px 0 auto;
|
||||||
|
padding: 10px 29px 10px 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-btn-4 {
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 1px;
|
||||||
|
background-image: none;
|
||||||
|
margin: 20px 0 0 auto;
|
||||||
|
padding: 10px 37px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-btn-5 {
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 1px;
|
||||||
|
background-image: none;
|
||||||
|
margin: 20px 1px 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 1199px) {
|
||||||
|
.u-section-1 .u-sheet-1 {
|
||||||
|
min-height: 665px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-cell-1 {
|
||||||
|
min-height: 233px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-form-1 {
|
||||||
|
left: 85px;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-cell-2 {
|
||||||
|
min-height: 233px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-table-1 {
|
||||||
|
width: 470px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-cell-3 {
|
||||||
|
min-height: 233px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-btn-2 {
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-btn-3 {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-btn-5 {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 991px) {
|
||||||
|
.u-section-1 .u-sheet-1 {
|
||||||
|
min-height: 467px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-cell-1 {
|
||||||
|
min-height: 178px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-form-1 {
|
||||||
|
left: 0;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-cell-2 {
|
||||||
|
min-height: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-table-1 {
|
||||||
|
width: 360px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-cell-3 {
|
||||||
|
min-height: 100px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
.u-section-1 .u-sheet-1 {
|
||||||
|
min-height: 525px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-cell-1 {
|
||||||
|
min-height: 134px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-container-layout-1 {
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-container-layout-3 {
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 575px) {
|
||||||
|
.u-section-1 .u-sheet-1 {
|
||||||
|
min-height: 478px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-layout-cell-1 {
|
||||||
|
min-height: 84px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.u-section-1 .u-table-1 {
|
||||||
|
width: 340px;
|
||||||
|
}
|
||||||
|
}
|
@ -2,6 +2,7 @@
|
|||||||
using HotelContracts.BusinessLogicsContracts;
|
using HotelContracts.BusinessLogicsContracts;
|
||||||
using HotelContracts.SearchModels;
|
using HotelContracts.SearchModels;
|
||||||
using HotelContracts.ViewModels;
|
using HotelContracts.ViewModels;
|
||||||
|
using HotelDataBaseImplement.Models;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using System.IO.Packaging;
|
using System.IO.Packaging;
|
||||||
@ -149,6 +150,66 @@ namespace HotelRestApi.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public void UpdateConference(ConferenceBindingModel model)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
model.ConferenceMembers = null!;
|
||||||
|
_conference.Update(model);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError(ex, "Ошибка обновления данных");
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpGet]
|
||||||
|
public Tuple<ConferenceViewModel, List<Tuple<string, string>>>? GetConference(int conferenceId)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var elem = _conference.ReadElement(new ConferenceSearchModel { Id = conferenceId });
|
||||||
|
if (elem == null)
|
||||||
|
return null;
|
||||||
|
return Tuple.Create(elem, elem.ConferenceMembers.Select(x => Tuple.Create(x.Value.MemberFIO, x.Value.Citizenship)).ToList());
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError(ex, "Ошибка получения конференции по id={Id}", conferenceId);
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public void DeleteConference(ConferenceBindingModel model)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_conference.Delete(model);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError(ex, "Ошибка удаления конференции");
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public void AddMemberToConference(Tuple<ConferenceSearchModel, MemberViewModel> model)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_conference.AddMemberToConference(model.Item1, model.Item2);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError(ex, "Ошибка добавления участника в конференцию.");
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public void CreateMealPlan(MealPlanBindingModel model)
|
public void CreateMealPlan(MealPlanBindingModel model)
|
||||||
{
|
{
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\HotelBusinessLogic\HotelBusinessLogic.csproj" />
|
<ProjectReference Include="..\HotelBusinessLogic\HotelBusinessLogic.csproj" />
|
||||||
<ProjectReference Include="..\HotelContracts\HotelContracts.csproj" />
|
|
||||||
<ProjectReference Include="..\HotelDataBaseImplement\HotelDataBaseImplement.csproj" />
|
<ProjectReference Include="..\HotelDataBaseImplement\HotelDataBaseImplement.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<log4net>
|
<log4net>
|
||||||
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
|
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
|
||||||
<file value="c:/temp/AbstractShopRestApi.log" />
|
<file value="c:/temp/HotelRestApi.log" />
|
||||||
<appendToFile value="true" />
|
<appendToFile value="true" />
|
||||||
<maximumFileSize value="100KB" />
|
<maximumFileSize value="100KB" />
|
||||||
<maxSizeRollBackups value="2" />
|
<maxSizeRollBackups value="2" />
|
||||||
|
Loading…
x
Reference in New Issue
Block a user