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)); }