Service update, import changes from web_portal
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
using library_spo_utils.Enums;
|
||||
using library_spo_utils.Interfaces.Services;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace library_spo_utils.Services;
|
||||
|
||||
internal class PurchasingPackingSlipBuildService : IPurchasingPackingSlipBuildService
|
||||
{
|
||||
private readonly ISiteOptions _siteOptions;
|
||||
private readonly ISharePointAuthenticationManager _sharePointAuthenticationManager;
|
||||
private readonly ISharePointCustomOperation _spc;
|
||||
private readonly IPurchasingPackingSlipDocLibraryService _purchasingPackingSlipDocLibraryService;
|
||||
private readonly IPurchasingPackingSlipDocSetService _purchasingPackingSlipDocSetService;
|
||||
private readonly IFieldEntryDataUpdate _fieldEntryDataUpdate;
|
||||
private readonly ILogger<PurchasingOrderBuildService> _logger;
|
||||
|
||||
public PurchasingPackingSlipBuildService(
|
||||
ISiteOptions siteOptions,
|
||||
ISharePointAuthenticationManager sharePointAuthenticationManager,
|
||||
ISharePointCustomOperation spc,
|
||||
IPurchasingPackingSlipDocLibraryService purchasingPackingSlipDocLibraryService,
|
||||
IPurchasingPackingSlipDocSetService purchasingPackingSlipDocSetService,
|
||||
IFieldEntryDataUpdate fieldEntryDataUpdate,
|
||||
ILogger<PurchasingOrderBuildService> logger)
|
||||
{
|
||||
_siteOptions = siteOptions;
|
||||
_sharePointAuthenticationManager = sharePointAuthenticationManager;
|
||||
_spc = spc;
|
||||
_purchasingPackingSlipDocLibraryService = purchasingPackingSlipDocLibraryService;
|
||||
_purchasingPackingSlipDocSetService = purchasingPackingSlipDocSetService;
|
||||
_fieldEntryDataUpdate = fieldEntryDataUpdate;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public void CreateIfNotExists(string purchasingPackingSlipName)
|
||||
{
|
||||
var site = _siteOptions.GetPurchasingPackingSlipSite();
|
||||
var ctx = _sharePointAuthenticationManager.GetContext(site);
|
||||
var list = _siteOptions.GetPurchasingPackingSlipLibrary(purchasingPackingSlipName);
|
||||
var tenant = _siteOptions.GetPurchasingPackingSlipTenat();
|
||||
|
||||
if (!_spc.SiteExist(ctx))
|
||||
{
|
||||
throw new Exception($"Impossibile to build site it don't exist");
|
||||
}
|
||||
|
||||
if (!_spc.ListExist(ctx, list))
|
||||
{
|
||||
_purchasingPackingSlipDocLibraryService.Create(list, ctx);
|
||||
}
|
||||
|
||||
if (!_spc.FolderExistsInsideList(ctx, list, purchasingPackingSlipName))
|
||||
{
|
||||
_purchasingPackingSlipDocSetService.Create(purchasingPackingSlipName, list, tenant, ctx);
|
||||
}
|
||||
else
|
||||
{
|
||||
_logger.LogInformation($"Quotation with {purchasingPackingSlipName} already exist");
|
||||
_fieldEntryDataUpdate.FieldUpdate(ctx, list, purchasingPackingSlipName, FieldUpdateType.PurchasingPackingSlip);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user