public async Task <List <AnnounceSubScreenForReturnDto> > GetListAsync()
        {
            var getListFromRepo = await announceSubScreenDal.GetListAsync();

            if (getListFromRepo == null)
            {
                throw new RestException(HttpStatusCode.BadRequest, new { NotFound = Messages.NotFound });
            }

            return(mapper.Map <List <AnnounceSubScreen>, List <AnnounceSubScreenForReturnDto> >(getListFromRepo));
        }
示例#2
0
        public async Task <AnnounceForReturnDto> Publish(AnnounceForCreationDto updateDto)
        {
            var checkFromRepo = await announceDal.GetAsync(x => x.Id == updateDto.Id);

            if (checkFromRepo == null)
            {
                throw new RestException(HttpStatusCode.BadRequest, new { NotFound = Messages.NotFound });
            }

            var checkHomeAnnounceSubScreenForPublish = await announceSubScreenDal.GetListAsync(x => x.AnnounceId == updateDto.Id);

            if (checkHomeAnnounceSubScreenForPublish.Count <= 0)
            {
                throw new RestException(HttpStatusCode.BadRequest, new { NotSelectSubScreen = Messages.NotSelectSubScreen });
            }

            if (updateDto.IsPublish)
            {
                var checkDateExpire = DateTime.Compare(DateTime.Now, checkFromRepo.PublishFinishDate);
                if (checkDateExpire > 0)
                {
                    throw new RestException(HttpStatusCode.BadRequest, new { NotFound = Messages.PublishDateExpire });
                }
            }

            var mapForUpdate = mapper.Map(updateDto, checkFromRepo);

            mapForUpdate.Updated      = DateTime.Now;
            mapForUpdate.AnnounceType = "announce";
            await announceDal.Update(mapForUpdate);

            var spec = new AnnounceWithUserSpecification(updateDto.Id);
            var getAnnounceWithUserFromRepo = await announceDal.GetEntityWithSpecAsync(spec);

            return(mapper.Map <Announce, AnnounceForReturnDto>(getAnnounceWithUserFromRepo));
        }