public async Task <HomeAnnouncePhotoForReturnDto> CreateForPublicAsync(FileUploadDto uploadDto)
        {
            var checkAnnounceById = await homeAnnounceDal.GetAsync(x => x.Id == uploadDto.AnnounceId);

            var claimId = int.Parse(httpContextAccessor.HttpContext.User?.Claims?.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value);

            if (claimId != checkAnnounceById.UserId)
            {
                throw new RestException(HttpStatusCode.BadRequest, new { AlreadyExist = Messages.OperationDenied });
            }

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

            var uploadFile = await upload.Upload(uploadDto.File, "homeannounce");

            var mapForCreate = new HomeAnnouncePhotoForCreationDto();

            mapForCreate.Name           = uploadFile.Name;
            mapForCreate.FullPath       = uploadFile.FullPath;
            mapForCreate.HomeAnnounceId = uploadDto.AnnounceId;
            mapForCreate.IsConfirm      = false;
            var mapForDb    = mapper.Map <HomeAnnouncePhoto>(mapForCreate);
            var createPhoto = await homeAnnouncePhotoDal.Add(mapForDb);

            return(mapper.Map <HomeAnnouncePhoto, HomeAnnouncePhotoForReturnDto>(createPhoto));
        }
        public async Task <HomeAnnouncePhotoForReturnDto> Update(HomeAnnouncePhotoForCreationDto updateDto)
        {
            var checkByIdFromRepo = await homeAnnouncePhotoDal.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 homeAnnouncePhotoDal.Update(mapForUpdate);

            return(mapper.Map <HomeAnnouncePhoto, HomeAnnouncePhotoForReturnDto>(updatePhoto));
        }
Ejemplo n.º 3
0
        public async Task <HomeAnnouncePhotoForReturnDto> Update(HomeAnnouncePhotoForCreationDto creationDto)
        {
            var photo = await photoService.Update(creationDto);

            var connIds = await userTracker.GetOnlineUser();

            if (connIds != null && connIds.Length != 0)
            {
                await hubContext.Clients.GroupExcept("Home", connIds).SendAsync("ReceiveNewHomeAnnouncePhoto", photo, "update");
            }
            var onlineScreens = await onlineScreenService.GetAllOnlineScreenConnectionId();

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

            return(photo);
        }
        public async Task <HomeAnnouncePhotoForReturnDto> Create(FileUploadDto uploadDto)
        {
            var checkAnnounceById = await homeAnnounceDal.GetAsync(x => x.Id == uploadDto.AnnounceId);

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

            var uploadFile = await upload.Upload(uploadDto.File, "homeannounce");

            var mapForCreate = new HomeAnnouncePhotoForCreationDto();

            mapForCreate.Name           = uploadFile.Name;
            mapForCreate.FullPath       = uploadFile.FullPath;
            mapForCreate.HomeAnnounceId = uploadDto.AnnounceId;
            mapForCreate.IsConfirm      = false;
            mapForCreate.UnConfirm      = false;
            var mapForDb    = mapper.Map <HomeAnnouncePhoto>(mapForCreate);
            var createPhoto = await homeAnnouncePhotoDal.Add(mapForDb);

            return(mapper.Map <HomeAnnouncePhoto, HomeAnnouncePhotoForReturnDto>(createPhoto));
        }