Add null check

This commit is contained in:
anomny
2025-10-04 16:37:53 +02:00
parent 285a0968ec
commit 157e75f0ba

View File

@@ -34,38 +34,73 @@ public class AssetsController : Controller
try try
{ {
var ownerDn = $"uid={assetModel.Owner},ou=people,dc=example,dc=com";
LdapAttributeSet attributeSet = LdapAttributeSet attributeSet =
[ [
new LdapAttribute("objectClass", new[] {"top", "device", "extensibleObject"}), new LdapAttribute("objectClass", new[] {"top", "device", "extensibleObject"}),
new LdapAttribute("cn", assetModel.Cn),
new LdapAttribute("serialNumber", assetModel.SerialNumber),
new LdapAttribute("l", assetModel.Location),
new LdapAttribute("owner", ownerDn),
new LdapAttribute("name", assetModel.Name),
new LdapAttribute(
"description",
JsonSerializer.Serialize(new AssetDescription()
{
Type = assetModel.Description!.Type,
Purchase = new AssetPurchase
{
PurchasedAt = assetModel.Description.Purchase!.PurchasedAt,
PurchaseDate = assetModel.Description.Purchase.PurchaseDate,
PurchaseValue = assetModel.Description.Purchase.PurchaseValue
}
})
)
]; ];
if (assetModel.Cn != null)
{
attributeSet.Add(new LdapAttribute("cn", assetModel.Cn));
}
if (assetModel.SerialNumber != null)
{
attributeSet.Add(new LdapAttribute("serialNumber", assetModel.SerialNumber));
}
if (assetModel.Location != null)
{
attributeSet.Add(new LdapAttribute("l", assetModel.Location));
}
if (assetModel.Owner != null)
{
var ownerDn = $"uid={assetModel.Owner},ou=people,dc=example,dc=com";
attributeSet.Add(new LdapAttribute("owner", ownerDn));
}
if (assetModel.Name != null)
{
attributeSet.Add(new LdapAttribute("name", assetModel.Name));
}
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)));
}
await _ldap.CreateAsset(attributeSet); await _ldap.CreateAsset(attributeSet);
return true; return true;
} }
catch (Exception e) catch (Exception e)
{ {
_logger.LogError("Unable to create an asset because the Exception: " + e.Message); _logger.LogError($"Unable to create an asset because of the exception: {e.Message}", e);
return false; return false;
} }
} }