/// <summary> /// 编辑Document /// </summary> protected virtual async Task Update(DocumentEditDto input) { //TODO:更新前的逻辑判断,是否允许更新 var entity = await _entityRepository.GetAsync(input.Id.Value); input.MapTo(entity); // ObjectMapper.Map(input, entity); await _entityRepository.UpdateAsync(entity); }
/// <summary> /// 新增Document /// </summary> protected virtual async Task <DocumentEditDto> Create(DocumentEditDto input) { //TODO:新增前的逻辑判断,是否允许新增 // var entity = ObjectMapper.Map <Document>(input); var entity = input.MapTo <Document>(); var categoryList = await _docCategoryManager.GetHierarchyCategories(input.CategoryId); entity.CategoryCode = string.Join(',', categoryList.Select(c => c.Id).ToArray()); entity.CategoryDesc = string.Join(',', categoryList.Select(c => c.Name).ToArray()); entity = await _entityRepository.InsertAsync(entity); return(entity.MapTo <DocumentEditDto>()); }
public async Task <IActionResult> EditDocument([FromBody] DocumentEditDto model) { var currentUser = await _identityService.GetCurrentPersonIdentityAsync(); if (currentUser == null) { return(BadRequest(new MessageDto() { Success = true, Message = "Invalid user" })); } if (ModelState.IsValid) { var document = await _documentService.GetDocumentById(model.Id); if (document == null) { return(BadRequest(new MessageDto() { Success = false, Message = "Bad request!" })); } MessageDto check = await _documentService.CheckIfClientCanEdit(currentUser.Id, document.Id); if (!check.Success) { return(BadRequest(new MessageDto() { Success = false, Message = "You can't edit this document." })); } document.Subject = model.Subject; document.Title = model.Title; var result = await _documentService.EditDocument(document); if (result.Success) { return(new OkObjectResult(result)); } return(BadRequest(result)); } return(BadRequest(new MessageDto() { Success = false, Message = "Bad request!" })); }
/// <summary> /// 获取编辑 Document /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <GetDocumentForEditOutput> GetForEdit(NullableIdDto <Guid> input) { var output = new GetDocumentForEditOutput(); DocumentEditDto editDto; if (input.Id.HasValue) { var entity = await _entityRepository.GetAsync(input.Id.Value); editDto = entity.MapTo <DocumentEditDto>(); //documentEditDto = ObjectMapper.Map<List<documentEditDto>>(entity); } else { editDto = new DocumentEditDto(); } output.Document = editDto; return(output); }