/// <summary> /// 创建或修改活动 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task CreateOrUpdateCampaignAsync(CampaignEditDto input) { if (input.Id.HasValue) { await UpdateCampaignAsync(input); } else { input.Status = PlanState.Creat; await CreateCampaignAsync(input); } }
/// <summary> /// 创建活动 /// </summary> /// <param name="input"></param> /// <returns></returns> protected async Task CreateCampaignAsync(CampaignEditDto input) { var model = input.MapTo <Campaign>(); await _campaignAppService.InsertAsync(model); }
/// <summary> /// 修改活动信息 /// </summary> /// <param name="input"></param> /// <returns></returns> protected async Task UpdateCampaignAsync(CampaignEditDto input) { var entity = await _campaignAppService.GetAsync(input.Id.Value); await _campaignAppService.UpdateAsync(input.MapTo(entity)); }
public async Task <ActionResult <CampaignDto> > EditCampaign([FromRoute] string campaignId, [FromBody] CampaignEditDto dto) { CampaignEditDtoValidator validator = new CampaignEditDtoValidator(); ValidationResult result = await validator.ValidateAsync(dto); if (result.IsValid) { var userId = User.Claims .Single(p => p.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier").Value; var administrator = await _dbContext.Administrators .AsNoTracking() .SingleOrDefaultAsync(x => x.ApplicationUserId == userId); #region 驗證 if (!administrator.AdministratorConfirmed) { return(Problem(title: "禁止修改", detail: "管理員尚未驗證", statusCode: 403)); } #endregion var entity = await _dbContext.Campaigns .SingleOrDefaultAsync(x => x.CampaignId == campaignId); if (entity == null) { return(NotFound()); } var updateEntity = _mapper.Map(dto, entity); _dbContext.Campaigns.Update(updateEntity); await _dbContext.SaveChangesAsync(); var routeValues = new { campaignId = updateEntity.CampaignId }; var returnDto = _mapper.Map <CampaignDto>(updateEntity); return(CreatedAtAction(nameof(GetCampaign), routeValues, returnDto)); } return(BadRequest(result.Errors)); }