在我的 ASP.NET Core Web API 中,我有這個模型:
作業:
public class Job
{
[Key]
public long Id { get; set; }
public string JobTitle { get; set; }
public string JobStatus { get; set; }
public long UserId { get; set; }
public string JobDescription { get; set; }
}
DTO:
public class JobCreationRequestDto
{
public string JobTitle { get; set; }
public string JobDescription { get; set; }
}
public class JobResponseDto
{
public long Id { get; set; }
public string JobTitle { get; set; }
public string JobDescription { get; set; }
}
一個用戶可以放置多個作業
映射:
public class JobMapProfile : Profile
{
public JobMapProfile()
{
CreateMap<JobCreationRequestDto, Job>();
CreateMap<Job, JobResponseDto>();
}
}
服務:
public interface IJobService
{
Task<GenericResponseDto<JobResponseDto>> CreateJobAsync(JobCreationRequestDto requestDto);
}
public async Task<GenericResponseDto<JobResponseDto>> CreateJobAsync(JobCreationRequestDto requestDto)
{
var response = new GenericResponseDto<JobResponseDto>();
var userId = _userResolverService.GetUserId();
var jobStatus = "Processed";
try
{
var job = _mapper.Map<Job>(requestDto);
_context.Jobs.Add(job);
await _context.SaveChangesAsync();
response.StatusCode = 201;
response.Result = _mapper.Map<JobResponseDto>(job);
}
catch (Exception ex)
{
response.Error = new ErrorResponseDto()
{
ErrorCode = 500,
Message = ex.Message
};
}
}
return response;
}
控制器:
[HttpPost, Route("")]
public async Task<ActionResult<GenericResponseDto<JobResponseDto>>> CreateJob(JobCreationRequestDto request)
{
var response = await _service.CreateJobAsync(request);
Response.StatusCode = response.StatusCode ?? StatusCodes.Status201Created;
return new JsonResult(response);
}
在服務中,在實作 await _context.SaveChangesAsync()之前,我想包含以下內容:
作業狀態 = 作業狀態;
用戶 ID = 用戶 ID;
我如何實作這一目標?
謝謝
uj5u.com熱心網友回復:
將requestDto模型映射到Job模型后,您可以為物件設定JobStatus或,代碼如下:useridjob
var job = _mapper.Map<Job>(requestDto);
job.JobStatus = jobStatus;
//job.UserId = userId;
_context.Jobs.Add(job);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/380526.html
上一篇:InvalidOperationException:傳入ViewDataDictionary的模型項的型別為“Microsoft.AspNetCore.Mvc.RedirectToActionResu
下一篇:表格中的可選日期
