MailWorker Singleton fix
This commit is contained in:
parent
ae8a20a5bb
commit
7ff81c6bbd
@ -102,10 +102,10 @@ namespace AutoWorkshopBusinessLogic.BusinessLogics
|
||||
throw new ArgumentNullException("Нет ФИО клиента", nameof(Model.ClientFIO));
|
||||
|
||||
if (string.IsNullOrEmpty(Model.Email) || !Regex.IsMatch(Model.Email, @"^[a-z0-9._%+-]+\@([a-z0-9-]+\.)+[a-z]{2,4}$"))
|
||||
throw new ArgumentNullException("Почта не соответствует требованиям", nameof(Model.Email));
|
||||
throw new ArgumentException("Почта не соответствует требованиям", nameof(Model.Email));
|
||||
|
||||
if (string.IsNullOrEmpty(Model.Password) || !Regex.IsMatch(Model.Password, @"^(?=.*[A-Za-z])(?=.*\d)(?=.*[^A-Za-z0-9\n]).{10,50}$"))
|
||||
throw new ArgumentNullException("Пароль не соответствует требованиям", nameof(Model.Password));
|
||||
throw new ArgumentException("Пароль не соответствует требованиям", nameof(Model.Password));
|
||||
|
||||
_logger.LogInformation("Client. ClientFIO: {ClientFIO}." +
|
||||
"Email: {Email}. Password: {Password}. Id: {Id} ", Model.ClientFIO, Model.Email, Model.Password, Model.Id);
|
||||
|
@ -61,12 +61,12 @@ namespace AutoWorkshopBusinessLogic.BusinessLogics
|
||||
return false;
|
||||
}
|
||||
|
||||
Task.Run(() => _mailLogic.SendMailAsync(new MailSendInfoBindingModel
|
||||
{
|
||||
MailAddress = CreatedOrder.ClientEmail,
|
||||
Subject = $"Изменение статуса заказа номер {CreatedOrder.Id}",
|
||||
Text = $"Ваш заказ номер {CreatedOrder.Id} на ремонт {CreatedOrder.RepairName} от {CreatedOrder.DateCreate} на сумму {CreatedOrder.Sum} принят."
|
||||
}));
|
||||
Task.Run(() => _mailLogic.SendMailAsync(new MailSendInfoBindingModel
|
||||
{
|
||||
MailAddress = CreatedOrder.ClientEmail,
|
||||
Subject = $"Изменение статуса заказа номер {CreatedOrder.Id}",
|
||||
Text = $"Ваш заказ номер {CreatedOrder.Id} на ремонт {CreatedOrder.RepairName} от {CreatedOrder.DateCreate} на сумму {CreatedOrder.Sum} принят."
|
||||
}));
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -107,13 +107,12 @@ namespace AutoWorkshopBusinessLogic.BusinessLogics
|
||||
return false;
|
||||
}
|
||||
|
||||
// TODO: check order ClientEmail
|
||||
string DateInfo = Model.DateImplement.HasValue ? $"Дата выполнения {Model.DateImplement}" : "";
|
||||
string DateInfo = Model.DateImplement.HasValue ? $"Дата выполнения: {Model.DateImplement}" : "";
|
||||
Task.Run(() => _mailLogic.SendMailAsync(new MailSendInfoBindingModel
|
||||
{
|
||||
MailAddress = Order.ClientEmail,
|
||||
Subject = $"Изменение статуса заказа номер {Order.Id}",
|
||||
Text = $"Ваш заказ номер {Order.Id} на ремонт {Order.RepairName} от {Order.DateCreate} на сумму {Order.Sum} {Order.Status}. {DateInfo}"
|
||||
Text = $"Ваш заказ номер {Order.Id} на ремонт {Order.RepairName} от {Order.DateCreate} на сумму {Order.Sum}. Статус изменен на {NewStatus}. {DateInfo}"
|
||||
}));
|
||||
|
||||
return true;
|
||||
|
@ -37,7 +37,7 @@ namespace AutoWorkshopBusinessLogic.MailWorker
|
||||
_popHost = Config.PopHost;
|
||||
_popPort = Config.PopPort;
|
||||
|
||||
_logger.LogDebug("MailConfig: {Login}, {Password}, {ClientHost},\r\n{ClientPort}, {PopHost}, {PopPort}",
|
||||
_logger.LogDebug("MailConfig: {Login}, {Password}, {ClientHost}, {ClientPort}, {PopHost}, {PopPort}",
|
||||
_mailLogin, _mailPassword, _smtpClientHost, _smtpClientPort, _popHost, _popPort);
|
||||
}
|
||||
|
||||
|
@ -1,21 +1,15 @@
|
||||
using AutoWorkshopContracts.BindingModels;
|
||||
using AutoWorkshopContracts.BusinessLogicContracts;
|
||||
using DocumentFormat.OpenXml.EMMA;
|
||||
using DocumentFormat.OpenXml.Spreadsheet;
|
||||
using MailKit.Net.Pop3;
|
||||
using MailKit.Security;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Mail;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AutoWorkshopBusinessLogic.MailWorker
|
||||
{
|
||||
public class MailKitWorker : AbstractMailWorker
|
||||
public class MailKitWorker : AbstractMailWorker
|
||||
{
|
||||
public MailKitWorker(ILogger<MailKitWorker> Logger, IMessageInfoLogic MessageInfoLogic)
|
||||
: base(Logger, MessageInfoLogic) { }
|
||||
|
@ -35,13 +35,13 @@
|
||||
{
|
||||
<tr>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => Item.DateDelivery)
|
||||
@Html.DisplayFor(ModelItem => Item.DateDelivery)
|
||||
</td>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => Item.Subject)
|
||||
@Html.DisplayFor(ModelItem => Item.Subject)
|
||||
</td>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => Item.Body)
|
||||
@Html.DisplayFor(ModelItem => Item.Body)
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ Builder.Services.AddTransient<IRepairLogic, RepairLogic>();
|
||||
Builder.Services.AddTransient<IImplementerLogic, ImplementerLogic>();
|
||||
Builder.Services.AddTransient<IMessageInfoLogic, MessageInfoLogic>();
|
||||
|
||||
Builder.Services.AddTransient<AbstractMailWorker, MailKitWorker>();
|
||||
Builder.Services.AddSingleton<AbstractMailWorker, MailKitWorker>();
|
||||
|
||||
Builder.Services.AddControllers();
|
||||
|
||||
|
@ -6,11 +6,11 @@
|
||||
}
|
||||
},
|
||||
"AllowedHosts": "*",
|
||||
|
||||
|
||||
"SmtpClientHost": "smtp.gmail.com",
|
||||
"SmtpClientPort": "587",
|
||||
"PopHost": "pop.gmail.com",
|
||||
"PopPort": "995",
|
||||
"MailLogin": "pasxalko1488ventilyator@gmail.com",
|
||||
"MailPassword": "MsCutiePatootie"
|
||||
"MailLogin": "testingpurposeslab7@gmail.com",
|
||||
"MailPassword": "gvdg ovtu lmis djwq"
|
||||
}
|
||||
|
@ -5,7 +5,7 @@
|
||||
<add key="SmtpClientPort" value="587" />
|
||||
<add key="PopHost" value="pop.gmail.com" />
|
||||
<add key="PopPort" value="995" />
|
||||
<add key="MailLogin" value="pasxalko1488ventilyator@gmail.com" />
|
||||
<add key="MailPassword" value="MsCutiePatootie" />
|
||||
<add key="MailLogin" value="testingpurposeslab7@gmail.com" />
|
||||
<add key="MailPassword" value="gvdg ovtu lmis djwq" />
|
||||
</appSettings>
|
||||
</configuration>
|
4
AutoWorkshopView/Forms/FormMail.Designer.cs
generated
4
AutoWorkshopView/Forms/FormMail.Designer.cs
generated
@ -44,14 +44,14 @@
|
||||
DataGridView.ReadOnly = true;
|
||||
DataGridView.RowHeadersWidth = 51;
|
||||
DataGridView.RowTemplate.Height = 29;
|
||||
DataGridView.Size = new Size(688, 202);
|
||||
DataGridView.Size = new Size(1084, 456);
|
||||
DataGridView.TabIndex = 0;
|
||||
//
|
||||
// FormMail
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(7F, 15F);
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
ClientSize = new Size(688, 202);
|
||||
ClientSize = new Size(1084, 456);
|
||||
Controls.Add(DataGridView);
|
||||
Margin = new Padding(3, 2, 3, 2);
|
||||
Name = "FormMail";
|
||||
|
@ -37,7 +37,7 @@ namespace AutoWorkshopView
|
||||
MailLogin = System.Configuration.ConfigurationManager.AppSettings["MailLogin"] ?? string.Empty,
|
||||
MailPassword = System.Configuration.ConfigurationManager.AppSettings["MailPassword"] ?? string.Empty,
|
||||
SmtpClientHost = System.Configuration.ConfigurationManager.AppSettings["SmtpClientHost"] ?? string.Empty,
|
||||
SmtpClientPort = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["SmtpClient Port"]),
|
||||
SmtpClientPort = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["SmtpClientPort"]),
|
||||
PopHost = System.Configuration.ConfigurationManager.AppSettings["PopHost"] ?? string.Empty,
|
||||
PopPort = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["PopPort"])
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user