Added Make and Model and Attributes to AssetDescription

This commit is contained in:
2025-10-09 09:54:40 +02:00
parent 945d848516
commit 97b97f589c
4 changed files with 42 additions and 49 deletions

View File

@@ -1,6 +1,7 @@
using Microsoft.AspNetCore.Mvc;
using Berufsschule_HAM.Models;
using Berufsschule_HAM.Services;
using Berufsschule_HAM.Helpers;
using System.Text.Json;
using Novell.Directory.Ldap;
using Microsoft.AspNetCore.Authorization;
@@ -79,36 +80,7 @@ public class AssetsController : Controller
}
if (assetModel.Description != null)
{
var assetDescription = new AssetDescription();
if (assetModel.Description.Type != null)
{
assetDescription.Type = assetModel.Description.Type;
}
if (assetModel.Description.Purchase != null)
{
var purchase = new AssetPurchase();
if (assetModel.Description.Purchase.PurchasedAt != null)
{
purchase.PurchasedAt = assetModel.Description.Purchase.PurchasedAt;
}
if (assetModel.Description.Purchase.PurchaseDate != null)
{
purchase.PurchaseDate = assetModel.Description.Purchase.PurchaseDate;
}
if (assetModel.Description.Purchase.PurchasedBy != null)
{
purchase.PurchasedBy = assetModel.Description.Purchase.PurchasedBy;
}
if (assetModel.Description.Purchase.PurchaseValue != null)
{
purchase.PurchaseValue = assetModel.Description.Purchase.PurchaseValue;
}
assetDescription.Purchase = purchase;
}
attributeSet.Add(new LdapAttribute("description", JsonSerializer.Serialize(assetDescription)));
attributeSet.Add(new LdapAttribute("description", JsonSerializer.Serialize(assetModel.Description)));
}
await _ldap.CreateAsset(attributeSet);
@@ -188,25 +160,8 @@ public class AssetsController : Controller
if (requestModel.Description is not null)
{
AssetModel? asset = null;
if (requestModel.Description.Type is null)
{
asset ??= await _ldap.GetAssetByCnAsync(cn);
requestModel.Description.Type = asset.Description?.Type;
}
if (requestModel.Description.Purchase is not null)
{
asset ??= await _ldap.GetAssetByCnAsync(cn);
requestModel.Description.Purchase.PurchasedAt ??= asset.Description?.Purchase?.PurchasedAt;
requestModel.Description.Purchase.PurchaseDate ??= asset.Description?.Purchase?.PurchaseDate;
requestModel.Description.Purchase.PurchasedBy ??= asset.Description?.Purchase?.PurchasedBy;
requestModel.Description.Purchase.PurchaseValue ??= asset.Description?.Purchase?.PurchaseValue;
}
if (requestModel.Description.Purchase is null)
{
asset ??= await _ldap.GetAssetByCnAsync(cn);
requestModel.Description.Purchase = asset.Description?.Purchase;
}
asset = await _ldap.GetAssetByCnAsync(cn);
AttributesHelper.UpdateNonNullProperties(requestModel.Description, asset.Description);
await _ldap.UpdateAsset(cn, "description", JsonSerializer.Serialize(requestModel.Description));
}