public async Task <ActionResult <HomeAnnounceSubScreenForReturnDto> > Create(HomeAnnounceSubScreenForCreationDto creationDto)
        {
            var subscreen = await homeAnnounceSubScreenService.Create(creationDto);

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

            if (onlineScreensConnectionId != null && onlineScreensConnectionId.Length != 0)
            {
                await kiosksHub.Clients.Clients(onlineScreensConnectionId).SendAsync("ReloadScreen", true);
            }
            return(subscreen);
        }
예제 #2
0
        public async Task <HomeAnnounceSubScreenForReturnDto> Update(HomeAnnounceSubScreenForCreationDto updateDto)
        {
            var checkByIdFromRepo = await homeAnnounceSubScreenDal.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 homeAnnounceSubScreenDal.Update(mapForUpdate);

            return(mapper.Map <HomeAnnounceSubScreen, HomeAnnounceSubScreenForReturnDto>(updatePhoto));
        }
예제 #3
0
        public async Task <HomeAnnounceSubScreenForReturnDto> Create(HomeAnnounceSubScreenForCreationDto creationDto)
        {
            var checkById = await homeAnnounceSubScreenDal.GetAsync(x => x.SubScreenId == creationDto.SubScreenId && x.HomeAnnounceId == creationDto.HomeAnnounceId);

            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 homeAnnounceDal.GetAsync(x => x.Id == creationDto.HomeAnnounceId);

            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 HomeAnnounceSubScreen()
            {
                SubScreenId       = subScreenFromRepo.Id,
                ScreenId          = screenFromRepo.Id,
                HomeAnnounceId    = checkAnnounceFromRepo.Id,
                SubScreenName     = subScreenFromRepo.Name,
                SubScreenPosition = subScreenFromRepo.Position
            };

            var createSubScreen = await homeAnnounceSubScreenDal.Add(subScreenForReturn);

            var spec        = new HomeAnnounSubScreenWithSubScreenForReturnSpecification(createSubScreen.Id);
            var getFromRepo = await homeAnnounceSubScreenDal.GetEntityWithSpecAsync(spec);

            return(mapper.Map <HomeAnnounceSubScreen, HomeAnnounceSubScreenForReturnDto>(getFromRepo));
        }