コード例 #1
0
        public static void Fill(Models.BookChapter entity, ViewModels.LibraryChapterDto jobgroup)
        {
            entity.Id       = jobgroup.Id;
            entity.ParentId = jobgroup.ParentId;
            entity.Title    = jobgroup.Title;

            entity.Remark  = jobgroup.Remark;
            entity.BookKey = jobgroup.BookKey;
        }
コード例 #2
0
        public static void FillDto(Models.BookChapter entity, ViewModels.LibraryChapterDto jobgroup)
        {
            jobgroup.Id       = entity.Id;
            jobgroup.ParentId = entity.ParentId;
            jobgroup.Title    = entity.Title;

            jobgroup.Remark  = entity.Remark;
            jobgroup.BookKey = entity.BookKey;
        }
コード例 #3
0
        public virtual CustomActionResult Validate(ViewModels.LibraryChapterDto dto)
        {
            var title = dto.Title.ToLower();
            var name  = this.context.LibraryFolders.FirstOrDefault(q => q.Id != dto.Id && q.ParentId == dto.ParentId && q.Title.ToLower() == title);

            if (name != null)
            {
                return(Exceptions.getDuplicateException("chapter-01", "Title"));
            }
            return(new CustomActionResult(HttpStatusCode.OK, ""));
        }
コード例 #4
0
        public async Task <IHttpActionResult> PostLibraryChapter(ViewModels.LibraryChapterDto dto)
        {
            // return Ok(client);
            if (dto == null)
            {
                return(Exceptions.getNullException(ModelState));
            }
            if (!ModelState.IsValid)
            {
                // return BadRequest(ModelState);
                return(Exceptions.getModelValidationException(ModelState));
            }
            var validate = unitOfWork.BookChapterRepository.Validate(dto);

            if (validate.Code != HttpStatusCode.OK)
            {
                return(validate);
            }

            BookChapter entity = null;

            if (dto.Id == -1)
            {
                entity = new BookChapter();
                unitOfWork.BookChapterRepository.Insert(entity);
            }

            else
            {
                entity = await unitOfWork.BookChapterRepository.GetByID(dto.Id);
            }

            if (entity == null)
            {
                return(Exceptions.getNotFoundException());
            }

            //ViewModels.Location.Fill(entity, dto);
            ViewModels.LibraryChapterDto.Fill(entity, dto);

            BookChapter parent = null;

            if (entity.ParentId != null)
            {
                parent = await unitOfWork.BookChapterRepository.GetByID(entity.ParentId);
            }


            var saveResult = await unitOfWork.SaveAsync();

            if (saveResult.Code != HttpStatusCode.OK)
            {
                return(saveResult);
            }

            dto.Id = entity.Id;

            if (parent == null)
            {
                entity.FullCode = entity.Id.ToString();
            }
            else
            {
                entity.FullCode = parent.FullCode + "-" + entity.Id.ToString();
            }
            saveResult = await unitOfWork.SaveAsync();

            if (saveResult.Code != HttpStatusCode.OK)
            {
                return(saveResult);
            }
            var view = unitOfWork.BookChapterRepository.GetViewBookChapters().FirstOrDefault(q => q.Id == entity.Id);

            return(Ok(view));
        }