поправочки
This commit is contained in:
parent
b15327efd0
commit
105f89548f
@ -1,4 +1,5 @@
|
|||||||
using HotelContracts.BindingModels;
|
using HotelBusinessLogic.MailWorker;
|
||||||
|
using HotelContracts.BindingModels;
|
||||||
using HotelContracts.BusinessLogicsContracts;
|
using HotelContracts.BusinessLogicsContracts;
|
||||||
using HotelContracts.SearchModels;
|
using HotelContracts.SearchModels;
|
||||||
using HotelContracts.StoragesContracts;
|
using HotelContracts.StoragesContracts;
|
||||||
@ -13,23 +14,31 @@ namespace HotelBusinessLogic.BusinessLogics
|
|||||||
{
|
{
|
||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
private readonly IConferenceStorage _conferenceStorage;
|
private readonly IConferenceStorage _conferenceStorage;
|
||||||
|
private readonly AbstractMailWorker _mailWorker;
|
||||||
|
private readonly IOrganiserLogic _organiserLogic;
|
||||||
|
|
||||||
public ConferenceLogic(ILogger<ConferenceLogic> logger, IConferenceStorage conferenceStorage)
|
public ConferenceLogic(ILogger<ConferenceLogic> logger, IConferenceStorage conferenceStorage, IOrganiserLogic organiserLogic, AbstractMailWorker mailWorker)
|
||||||
{
|
{
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_conferenceStorage = conferenceStorage;
|
_conferenceStorage = conferenceStorage;
|
||||||
|
_organiserLogic = organiserLogic;
|
||||||
|
_mailWorker = mailWorker;
|
||||||
}
|
}
|
||||||
public bool Create(ConferenceBindingModel model)
|
public bool Create(ConferenceBindingModel model)
|
||||||
{
|
{
|
||||||
CheckModel(model);
|
CheckModel(model);
|
||||||
model.ConferenceMembers = new();
|
model.ConferenceMembers = new();
|
||||||
|
|
||||||
if (_conferenceStorage.Insert(model) == null)
|
var result = _conferenceStorage.Insert(model);
|
||||||
|
|
||||||
|
if (result == null)
|
||||||
{
|
{
|
||||||
_logger.LogWarning("Insert operation failed");
|
_logger.LogWarning("Insert operation failed");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SendConferenceMessage(result.OrganiserId, $"Гостиница \"Развитие\", Конференция №{result.Id}", $"Конференция №{result.Id} под названием {result.ConferenceName} и датой начала {result.StartDate} добавлена");
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,12 +48,16 @@ namespace HotelBusinessLogic.BusinessLogics
|
|||||||
|
|
||||||
_logger.LogInformation("Delete. Id:{Id}", model.Id);
|
_logger.LogInformation("Delete. Id:{Id}", model.Id);
|
||||||
|
|
||||||
if (_conferenceStorage.Delete(model) == null)
|
var result = _conferenceStorage.Delete(model);
|
||||||
|
|
||||||
|
if (result == null)
|
||||||
{
|
{
|
||||||
_logger.LogWarning("Delete operation failed");
|
_logger.LogWarning("Delete operation failed");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SendConferenceMessage(result.OrganiserId, $"Гостиница \"Развитие\", Конференция №{result.Id}", $"Конференция №{result.Id} под названием {result.ConferenceName} и датой начала {result.StartDate} удалена");
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -152,5 +165,24 @@ namespace HotelBusinessLogic.BusinessLogics
|
|||||||
|
|
||||||
_logger.LogInformation("Conference. ConferenceName:{ConferenceName}.StartDate:{ StartDate}. Id: { Id}", model.ConferenceName, model.StartDate, model.Id);
|
_logger.LogInformation("Conference. ConferenceName:{ConferenceName}.StartDate:{ StartDate}. Id: { Id}", model.ConferenceName, model.StartDate, model.Id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool SendConferenceMessage(int organiserId, string subject, string text)
|
||||||
|
{
|
||||||
|
var organiser = _organiserLogic.ReadElement(new() { Id = organiserId });
|
||||||
|
|
||||||
|
if (organiser == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
_mailWorker.MailSendAsync(new()
|
||||||
|
{
|
||||||
|
MailAddress = organiser.OrganiserEmail,
|
||||||
|
Subject = subject,
|
||||||
|
Text = text
|
||||||
|
});
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using HotelContracts.BindingModels;
|
using HotelBusinessLogic.MailWorker;
|
||||||
|
using HotelContracts.BindingModels;
|
||||||
using HotelContracts.BusinessLogicsContracts;
|
using HotelContracts.BusinessLogicsContracts;
|
||||||
using HotelContracts.SearchModels;
|
using HotelContracts.SearchModels;
|
||||||
using HotelContracts.StoragesContracts;
|
using HotelContracts.StoragesContracts;
|
||||||
@ -12,11 +13,15 @@ namespace HotelBusinessLogic.BusinessLogics
|
|||||||
{
|
{
|
||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
private readonly IMealPlanStorage _mealPlanStorage;
|
private readonly IMealPlanStorage _mealPlanStorage;
|
||||||
|
private readonly AbstractMailWorker _mailWorker;
|
||||||
|
private readonly IOrganiserLogic _organiserLogic;
|
||||||
|
|
||||||
public MealPlanLogic(ILogger<MealPlanLogic> logger, IMealPlanStorage mealPlanStorage)
|
public MealPlanLogic(ILogger<MealPlanLogic> logger, IMealPlanStorage mealPlanStorage, IOrganiserLogic organiserLogic, AbstractMailWorker mailWorker)
|
||||||
{
|
{
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_mealPlanStorage = mealPlanStorage;
|
_mealPlanStorage = mealPlanStorage;
|
||||||
|
_organiserLogic = organiserLogic;
|
||||||
|
_mailWorker= mailWorker;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool AddMemberToMealPlan(MealPlanSearchModel model, IMemberModel member)
|
public bool AddMemberToMealPlan(MealPlanSearchModel model, IMemberModel member)
|
||||||
@ -56,12 +61,16 @@ namespace HotelBusinessLogic.BusinessLogics
|
|||||||
CheckModel(model);
|
CheckModel(model);
|
||||||
model.MealPlanMembers = new();
|
model.MealPlanMembers = new();
|
||||||
|
|
||||||
if (_mealPlanStorage.Insert(model) == null)
|
var result = _mealPlanStorage.Insert(model);
|
||||||
|
|
||||||
|
if (result == null)
|
||||||
{
|
{
|
||||||
_logger.LogWarning("Insert operation failed");
|
_logger.LogWarning("Insert operation failed");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SendMealPlanMessage(result.OrganiserId, $"Гостиница \"Развитие\", План питания №{result.Id}", $"План питания №{result.Id} под названием {result.MealPlanName} и стоимостью {result.MealPlanPrice} добавлен");
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,12 +80,16 @@ namespace HotelBusinessLogic.BusinessLogics
|
|||||||
|
|
||||||
_logger.LogInformation("Delete. Id:{Id}", model.Id);
|
_logger.LogInformation("Delete. Id:{Id}", model.Id);
|
||||||
|
|
||||||
if (_mealPlanStorage.Delete(model) == null)
|
var result = _mealPlanStorage.Delete(model);
|
||||||
|
|
||||||
|
if (result== null)
|
||||||
{
|
{
|
||||||
_logger.LogWarning("Delete operation failed");
|
_logger.LogWarning("Delete operation failed");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SendMealPlanMessage(result.OrganiserId, $"Гостиница \"Развитие\", План питания №{result.Id}", $"План питания №{result.Id} под названием {result.MealPlanName} и стоимостью {result.MealPlanPrice} удален");
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -166,5 +179,24 @@ namespace HotelBusinessLogic.BusinessLogics
|
|||||||
throw new InvalidOperationException("План питания с таким названием уже есть");
|
throw new InvalidOperationException("План питания с таким названием уже есть");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool SendMealPlanMessage(int organiserId, string subject, string text)
|
||||||
|
{
|
||||||
|
var organiser = _organiserLogic.ReadElement(new() { Id = organiserId });
|
||||||
|
|
||||||
|
if (organiser == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
_mailWorker.MailSendAsync(new()
|
||||||
|
{
|
||||||
|
MailAddress = organiser.OrganiserEmail,
|
||||||
|
Subject = subject,
|
||||||
|
Text = text
|
||||||
|
});
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -65,7 +65,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)
|
||||||
.Where(x => x.StartDate >= model.DateFrom && x.StartDate <= model.DateTo)
|
.Where(x => x.StartDate >= model.DateFrom && x.StartDate <= model.DateTo && x.OrganiserId == model.OrganiserId)
|
||||||
.Select(x => x.GetViewModel)
|
.Select(x => x.GetViewModel)
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user