case 4173

This commit is contained in:
2023-05-09 22:23:54 +00:00
parent 079a6a6999
commit 82fa744de5
8 changed files with 93 additions and 18 deletions

View File

@@ -647,9 +647,6 @@ namespace AyaNova.Biz
SaveIt = false;
ClearErrors();
Customer o = null;
//save a fetch if it's a delete
if (job.SubType != JobSubType.Delete)
o = await GetAsync(id, false);
switch (job.SubType)
{
case JobSubType.TagAddAny:
@@ -658,6 +655,7 @@ namespace AyaNova.Biz
case JobSubType.TagRemove:
case JobSubType.TagReplaceAny:
case JobSubType.TagReplace:
o = await GetAsync(id, false);
SaveIt = TagBiz.ProcessBatchTagOperation(o.Tags, (string)jobData["tag"], jobData.ContainsKey("toTag") ? (string)jobData["toTag"] : null, job.SubType);
break;
case JobSubType.Delete:
@@ -667,6 +665,23 @@ namespace AyaNova.Biz
FailedObjectCount++;
}
break;
case JobSubType.DirectSMTP:
o = await GetAsync(id, false);
if (o != null && o.Active && !string.IsNullOrWhiteSpace(o.EmailAddress))
{
IMailer m = AyaNova.Util.ServiceProviderProvider.Mailer;
try
{
await m.SendEmailAsync(o.EmailAddress, (string)jobData["subject"], (string)jobData["message"], ServerGlobalOpsSettingsCache.Notify, null, null, null);
await Task.Delay(AyaNova.Util.ServerBootConfig.JOB_OBJECT_EMAIL_LOOP_DELAY);//a small delay to not overwhelm the mail server
}
catch (Exception ex)
{
FailedObjectCount++;
await NotifyEventHelper.AddOpsProblemEvent("SMTP direct message failed", ex);
}
}
break;
default:
throw new System.ArgumentOutOfRangeException($"ProcessBatchJobAsync -> Invalid job Subtype{job.SubType}");
}

View File

@@ -218,7 +218,7 @@ namespace AyaNova.Biz
.AddText(obj.Address)
.AddText(obj.City)
.AddText(obj.Region)
.AddText(obj.Country)
.AddText(obj.Country)
.AddText(obj.AddressPostal)
.AddCustomFields(obj.CustomFields);
}
@@ -525,9 +525,6 @@ namespace AyaNova.Biz
SaveIt = false;
ClearErrors();
HeadOffice o = null;
//save a fetch if it's a delete
if (job.SubType != JobSubType.Delete)
o = await GetAsync(id, false);
switch (job.SubType)
{
case JobSubType.TagAddAny:
@@ -536,6 +533,7 @@ namespace AyaNova.Biz
case JobSubType.TagRemove:
case JobSubType.TagReplaceAny:
case JobSubType.TagReplace:
o = await GetAsync(id, false);
SaveIt = TagBiz.ProcessBatchTagOperation(o.Tags, (string)jobData["tag"], jobData.ContainsKey("toTag") ? (string)jobData["toTag"] : null, job.SubType);
break;
case JobSubType.Delete:
@@ -545,6 +543,23 @@ namespace AyaNova.Biz
FailedObjectCount++;
}
break;
case JobSubType.DirectSMTP:
o = await GetAsync(id, false);
if (o != null && o.Active && !string.IsNullOrWhiteSpace(o.EmailAddress))
{
IMailer m = AyaNova.Util.ServiceProviderProvider.Mailer;
try
{
await m.SendEmailAsync(o.EmailAddress, (string)jobData["subject"], (string)jobData["message"], ServerGlobalOpsSettingsCache.Notify, null, null, null);
await Task.Delay(AyaNova.Util.ServerBootConfig.JOB_OBJECT_EMAIL_LOOP_DELAY);//a small delay to not overwhelm the mail server
}
catch (Exception ex)
{
FailedObjectCount++;
await NotifyEventHelper.AddOpsProblemEvent("SMTP direct message failed", ex);
}
}
break;
default:
throw new System.ArgumentOutOfRangeException($"ProcessBatchJobAsync -> Invalid job Subtype{job.SubType}");
}

View File

@@ -1262,9 +1262,6 @@ namespace AyaNova.Biz
//a little different than normal here because the built in getasync doesn't return
//a full User object normally
User o = null;
//save a fetch if it's a delete
if (job.SubType != JobSubType.Delete)
o = await GetAsync(id, false);
switch (job.SubType)
{
case JobSubType.TagAddAny:
@@ -1273,6 +1270,7 @@ namespace AyaNova.Biz
case JobSubType.TagRemove:
case JobSubType.TagReplaceAny:
case JobSubType.TagReplace:
o = await GetAsync(id, false);
SaveIt = TagBiz.ProcessBatchTagOperation(o.Tags, (string)jobData["tag"], jobData.ContainsKey("toTag") ? (string)jobData["toTag"] : null, job.SubType);
break;
case JobSubType.Delete:
@@ -1282,6 +1280,23 @@ namespace AyaNova.Biz
FailedObjectCount++;
}
break;
case JobSubType.DirectSMTP:
o = await ct.User.AsNoTracking().Include(o => o.UserOptions).FirstOrDefaultAsync(z => z.Id == id);
if (o != null && o.Active && !string.IsNullOrWhiteSpace(o.UserOptions.EmailAddress))
{
IMailer m = AyaNova.Util.ServiceProviderProvider.Mailer;
try
{
await m.SendEmailAsync(o.UserOptions.EmailAddress, (string)jobData["subject"], (string)jobData["message"], ServerGlobalOpsSettingsCache.Notify, null, null, null);
await Task.Delay(AyaNova.Util.ServerBootConfig.JOB_OBJECT_EMAIL_LOOP_DELAY);//a small delay to not overwhelm the mail server
}
catch (Exception ex)
{
FailedObjectCount++;
await NotifyEventHelper.AddOpsProblemEvent("SMTP direct message failed", ex);
}
}
break;
default:
throw new System.ArgumentOutOfRangeException($"ProcessBatchJobAsync -> Invalid job Subtype{job.SubType}");
}

View File

@@ -457,9 +457,6 @@ namespace AyaNova.Biz
SaveIt = false;
ClearErrors();
Vendor o = null;
//save a fetch if it's a delete
if (job.SubType != JobSubType.Delete)
o = await GetAsync(id, false);
switch (job.SubType)
{
case JobSubType.TagAddAny:
@@ -468,6 +465,7 @@ namespace AyaNova.Biz
case JobSubType.TagRemove:
case JobSubType.TagReplaceAny:
case JobSubType.TagReplace:
o = await GetAsync(id, false);
SaveIt = TagBiz.ProcessBatchTagOperation(o.Tags, (string)jobData["tag"], jobData.ContainsKey("toTag") ? (string)jobData["toTag"] : null, job.SubType);
break;
case JobSubType.Delete:
@@ -477,6 +475,23 @@ namespace AyaNova.Biz
FailedObjectCount++;
}
break;
case JobSubType.DirectSMTP:
o = await GetAsync(id, false);
if (o != null && o.Active && !string.IsNullOrWhiteSpace(o.EmailAddress))
{
IMailer m = AyaNova.Util.ServiceProviderProvider.Mailer;
try
{
await m.SendEmailAsync(o.EmailAddress, (string)jobData["subject"], (string)jobData["message"], ServerGlobalOpsSettingsCache.Notify, null, null, null);
await Task.Delay(AyaNova.Util.ServerBootConfig.JOB_OBJECT_EMAIL_LOOP_DELAY);//a small delay to not overwhelm the mail server
}
catch (Exception ex)
{
FailedObjectCount++;
await NotifyEventHelper.AddOpsProblemEvent("SMTP direct message failed", ex);
}
}
break;
default:
throw new System.ArgumentOutOfRangeException($"ProcessBatchJobAsync -> Invalid job Subtype{job.SubType}");
}