Exemple #1
0
        public async Task <ActionResult <AnnounceSubScreenForReturnDto> > Create(AnnounceSubScreenForCreationDto creationDto)
        {
            var subscreen = await announceSubScreenService.Create(creationDto);

            var onlineScreensById = await onlineScreenService.GetOnlineScreenConnectionIdByScreenId(subscreen.ScreenId);

            if (onlineScreensById != null && onlineScreensById.Length != 0)
            {
                await kiosksHub.Clients.Clients(onlineScreensById).SendAsync("ReloadScreen", true);
            }

            return(subscreen);
        }
        public async Task <AnnounceSubScreenForReturnDto> Update(AnnounceSubScreenForCreationDto updateDto)
        {
            var checkByIdFromRepo = await announceSubScreenDal.GetAsync(x => x.Id == updateDto.Id);

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

            var mapForUpdate = mapper.Map(updateDto, checkByIdFromRepo);
            var updatePhoto  = await announceSubScreenDal.Update(mapForUpdate);

            return(mapper.Map <AnnounceSubScreen, AnnounceSubScreenForReturnDto>(updatePhoto));
        }
        public async Task <AnnounceSubScreenForReturnDto> Create(AnnounceSubScreenForCreationDto creationDto)
        {
            var checkById = await announceSubScreenDal.GetAsync(x => x.SubScreenId == creationDto.SubScreenId && x.AnnounceId == creationDto.AnnounceId);

            if (checkById != null)
            {
                throw new RestException(HttpStatusCode.BadRequest, new { AlreadyExist = Messages.SubScreenAlreadyExist });
            }

            var subScreenFromRepo = await subSCreenDal.GetAsync(x => x.Id == creationDto.SubScreenId);

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

            var checkAnnounceFromRepo = await announceDal.GetAsync(x => x.Id == creationDto.AnnounceId);

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

            var screenFromRepo = await screenDal.GetAsync(x => x.Id == creationDto.ScreenId);

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

            var subScreenForReturn = new AnnounceSubScreen()
            {
                SubScreenId       = subScreenFromRepo.Id,
                ScreenId          = screenFromRepo.Id,
                AnnounceId        = checkAnnounceFromRepo.Id,
                SubScreenName     = subScreenFromRepo.Name,
                SubScreenPosition = subScreenFromRepo.Position
            };

            var createSubScreen = await announceSubScreenDal.Add(subScreenForReturn);

            var spec        = new AnnounSubScreenWithSubScreenForReturnSpecification(createSubScreen.Id);
            var getFromRepo = await announceSubScreenDal.GetEntityWithSpecAsync(spec);

            return(mapper.Map <AnnounceSubScreen, AnnounceSubScreenForReturnDto>(getFromRepo));
        }