예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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>());
        }
예제 #3
0
        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!"
            }));
        }
예제 #4
0
        /// <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);
        }