mirror of
https://github.com/LD-Reborn/Berufsschule_HAM.git
synced 2025-12-20 06:51:55 +00:00
Use new assets response model for update call
This commit is contained in:
@@ -148,61 +148,75 @@ public class AssetsController : Controller
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost("Update")]
|
[HttpPatch("Update")]
|
||||||
public async Task<bool> Update(AssetsModifyRequestModel requestModel)
|
public async Task<AssetsResponseModel> Update(AssetsModifyRequestModel requestModel)
|
||||||
{
|
{
|
||||||
|
AssetsResponseModel result;
|
||||||
if (requestModel is null)
|
if (requestModel is null)
|
||||||
{
|
{
|
||||||
_logger.LogError("Unable to update an asset because the AssetsModifyRequestModel is null");
|
result = new AssetsResponseModel(
|
||||||
return false;
|
successful: false,
|
||||||
}
|
exception: "Unable to update an asset because the AssetsModifyRequestModel is null");
|
||||||
string cn = requestModel.Cn;
|
|
||||||
|
|
||||||
if (requestModel.NewCn is not null)
|
return result;
|
||||||
{
|
|
||||||
await _ldap.UpdateAsset(cn, "cn", requestModel.NewCn);
|
|
||||||
cn = requestModel.NewCn;
|
|
||||||
}
|
}
|
||||||
if (requestModel.Location is not null)
|
|
||||||
|
try
|
||||||
{
|
{
|
||||||
await _ldap.UpdateAsset(cn, "l", requestModel.Location);
|
var cn = requestModel.Cn;
|
||||||
}
|
if (requestModel.NewCn is not null)
|
||||||
if (requestModel.Name is not null)
|
|
||||||
{
|
|
||||||
await _ldap.UpdateAsset(cn, "name", requestModel.Name);
|
|
||||||
}
|
|
||||||
if (requestModel.Owner is not null)
|
|
||||||
{
|
|
||||||
await _ldap.UpdateAsset(cn, "owner", requestModel.Owner);
|
|
||||||
}
|
|
||||||
if (requestModel.SerialNumber is not null)
|
|
||||||
{
|
|
||||||
await _ldap.UpdateAsset(cn, "serialNumber", requestModel.SerialNumber);
|
|
||||||
}
|
|
||||||
if (requestModel.Description is not null)
|
|
||||||
{
|
|
||||||
AssetModel? asset = null;
|
|
||||||
if (requestModel.Description.Type is null)
|
|
||||||
{
|
{
|
||||||
asset ??= await _ldap.GetAssetByCnAsync(cn);
|
await _ldap.UpdateAsset(cn, "cn", requestModel.NewCn);
|
||||||
requestModel.Description.Type = asset.Description?.Type;
|
cn = requestModel.NewCn;
|
||||||
}
|
}
|
||||||
if (requestModel.Description.Purchase is not null)
|
if (requestModel.Location is not null)
|
||||||
{
|
{
|
||||||
asset ??= await _ldap.GetAssetByCnAsync(cn);
|
await _ldap.UpdateAsset(cn, "l", requestModel.Location);
|
||||||
requestModel.Description.Purchase.PurchasedAt ??= asset.Description?.Purchase?.PurchasedAt;
|
}
|
||||||
requestModel.Description.Purchase.PurchaseDate ??= asset.Description?.Purchase?.PurchaseDate;
|
if (requestModel.Name is not null)
|
||||||
requestModel.Description.Purchase.PurchasedBy ??= asset.Description?.Purchase?.PurchasedBy;
|
{
|
||||||
requestModel.Description.Purchase.PurchaseValue ??= asset.Description?.Purchase?.PurchaseValue;
|
await _ldap.UpdateAsset(cn, "name", requestModel.Name);
|
||||||
|
}
|
||||||
|
if (requestModel.Owner is not null)
|
||||||
|
{
|
||||||
|
await _ldap.UpdateAsset(cn, "owner", requestModel.Owner);
|
||||||
|
}
|
||||||
|
if (requestModel.SerialNumber is not null)
|
||||||
|
{
|
||||||
|
await _ldap.UpdateAsset(cn, "serialNumber", requestModel.SerialNumber);
|
||||||
|
}
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
await _ldap.UpdateAsset(cn, "description", JsonSerializer.Serialize(requestModel.Description));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (requestModel.Description.Purchase is null)
|
result = new AssetsResponseModel(successful: true);
|
||||||
{
|
|
||||||
asset ??= await _ldap.GetAssetByCnAsync(cn);
|
|
||||||
requestModel.Description.Purchase = asset.Description?.Purchase;
|
|
||||||
}
|
|
||||||
await _ldap.UpdateAsset(cn, "description", JsonSerializer.Serialize(requestModel.Description));
|
|
||||||
}
|
}
|
||||||
return true;
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
result = new AssetsResponseModel(successful: false, exception: e.Message);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user