Ganjoor Museum: update an artifact item

#463
This commit is contained in:
Hamid Reza Mohammadi 2025-01-17 16:45:23 +03:30
parent fd74aa7135
commit 57aba2f395
4 changed files with 67 additions and 0 deletions

View File

@ -1101,6 +1101,25 @@ namespace RMuseum.Controllers
return Ok(itemInfo.Result);
}
/// <summary>
/// update an artifact item info
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
[HttpPut("item")]
[AllowAnonymous]
[ProducesResponseType((int)HttpStatusCode.OK)]
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
[ProducesResponseType((int)HttpStatusCode.NotFound)]
public async Task<IActionResult> UpdateArtifactItemRecordAsync([FromBody]RArtifactItemRecord item)
{
var res = await _artifactService.UpdateArtifactItemRecordAsync(item);
if(!string.IsNullOrEmpty(res.ExceptionString))
return BadRequest(res.ExceptionString);
return Ok();
}
/// <summary>
/// gets specified publish artifact item info (including images + attributes)
/// </summary>

View File

@ -312,6 +312,13 @@
<param name="itemUrl"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Controllers.ArtifactController.UpdateArtifactItemRecordAsync(RMuseum.Models.Artifact.RArtifactItemRecord)">
<summary>
update an artifact item info
</summary>
<param name="item"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Controllers.ArtifactController.GetArtifactItemByFrienlyUrlUserVisible(System.String,System.String)">
<summary>
gets specified publish artifact item info (including images + attributes)
@ -14994,6 +15001,13 @@
<param name="statusArray"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IArtifactService.UpdateArtifactItemRecordAsync(RMuseum.Models.Artifact.RArtifactItemRecord)">
<summary>
update artifact item
</summary>
<param name="item"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.IArtifactService.Add(System.String,System.String,System.String,System.String,System.String,Microsoft.AspNetCore.Http.IFormFile,System.String,System.IO.Stream)">
<summary>
add new artifact
@ -17726,6 +17740,13 @@
<param name="statusArray"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.ArtifactService.UpdateArtifactItemRecordAsync(RMuseum.Models.Artifact.RArtifactItemRecord)">
<summary>
update artifact item
</summary>
<param name="item"></param>
<returns></returns>
</member>
<member name="M:RMuseum.Services.Implementation.ArtifactService.Add(System.String,System.String,System.String,System.String,System.String,Microsoft.AspNetCore.Http.IFormFile,System.String,System.IO.Stream)">
<summary>
add new artifact

View File

@ -248,6 +248,12 @@ namespace RMuseum.Services
/// <returns></returns>
Task<RServiceResult<RArtifactItemRecordViewModel>> GetArtifactItemByFrienlyUrl(string artifactUrl, string itemUrl, PublishStatus[] statusArray);
/// <summary>
/// update artifact item
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
Task<RServiceResult<bool>> UpdateArtifactItemRecordAsync(RArtifactItemRecord item);
/// <summary>

View File

@ -1166,6 +1166,27 @@ namespace RMuseum.Services.Implementation
return new RServiceResult<RArtifactItemRecordViewModel>(res);
}
/// <summary>
/// update artifact item
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
public async Task<RServiceResult<bool>> UpdateArtifactItemRecordAsync(RArtifactItemRecord item)
{
try
{
var dbItem = await _context.Items.Where(i => i.Id == item.Id).SingleAsync();
_context.Entry(dbItem).CurrentValues.SetValues(item);
_context.Update(dbItem);
await _context.SaveChangesAsync();
return new RServiceResult<bool>(true);
}
catch (Exception exp)
{
return new RServiceResult<bool>(false, exp.ToString());
}
}
/// <summary>