Example #1
0
        public async Task <ScreenForReturnDto> Create(ScreenForCreationDto createDto)
        {
            var checkByNameFromRepo = await screenDal.GetAsync(x => x.Name.ToLower() == createDto.Name.ToLower());

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

            var screenForCreate = mapper.Map <Screen>(createDto);
            var screenToSave    = await screenDal.Add(screenForCreate);

            List <SubScreenForCreationDto> subScreen = new List <SubScreenForCreationDto>()
            {
                new SubScreenForCreationDto()
                {
                    Name     = screenToSave.Position == "Vertical"?screenToSave.Name + " Üst":screenToSave.Name + " Sol",
                    Position = screenToSave.Position == "Vertical"?"Top":"Left",
                    Height   = screenToSave.Position == "Vertical"?30:0,
                    Width    = screenToSave.Position == "Vertical"?0:100,
                    ScreenId = screenToSave.Id,
                    Status   = true,
                },
                new SubScreenForCreationDto()
                {
                    Name     = screenToSave.Name + " Orta",
                    Position = screenToSave.Position == "Vertical"?"VMiddle":"HMiddle",
                    Height   = screenToSave.Position == "Vertical"?30:0,
                    Width    = screenToSave.Position == "Vertical"?0:30,
                    ScreenId = screenToSave.Id,
                    Status   = false
                },
                new SubScreenForCreationDto()
                {
                    Name     = screenToSave.Position == "Vertical"?screenToSave.Name + " Alt":screenToSave.Name + " Sağ",
                    Position = screenToSave.Position == "Vertical"?"Bottom":"Right",
                    Height   = screenToSave.Position == "Vertical"?30:0,
                    Width    = screenToSave.Position == "Vertical"?0:30,
                    ScreenId = screenToSave.Id,
                    Status   = false,
                }
            };

            var subScreenForCreate = mapper.Map <List <SubScreen> >(subScreen);
            var subScreenToSave    = await subSCreenDal.AddRange(subScreenForCreate);

            var screenForReturn = mapper.Map <Screen, ScreenForReturnDto>(screenToSave);

            return(screenForReturn);
        }
Example #2
0
        public async Task <ActionResult <ScreenForReturnDto> > Update(ScreenForCreationDto updateDto)
        {
            var screen = await screenService.Update(updateDto);

            var onlineScreens = await onlineScreenService.GetOnlineScreenConnectionIdByScreenId(screen.Id);

            if (onlineScreens != null && onlineScreens.Length != 0)
            {
                var screenForKiosks = await kiosksService.GetScreenByIdAsync(screen.Id);

                if (screenForKiosks != null)
                {
                    await kiosksHub.Clients.Clients(onlineScreens).SendAsync("ReceiveScreen", screenForKiosks);
                }
            }
            return(screen);
        }
Example #3
0
 public async Task <ActionResult <ScreenForReturnDto> > Create(ScreenForCreationDto createDto)
 {
     return(await screenService.Create(createDto));
 }
Example #4
0
        public async Task <ScreenForReturnDto> Update(ScreenForCreationDto updateDto)
        {
            var checkByIdFromRepo = await screenDal.GetAsync(x => x.Id == updateDto.Id);

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

            if (updateDto.Position.ToLower() != checkByIdFromRepo.Position.ToLower())
            {
                var subs = await subSCreenDal.GetListAsync(x => x.ScreenId == checkByIdFromRepo.Id);

                if (updateDto.Position.ToLower() == "vertical" && checkByIdFromRepo.Position.ToLower() == "horizontal")
                {
                    foreach (var item in subs)
                    {
                        if (item.Position == "Left")
                        {
                            item.Name     = checkByIdFromRepo.Name + " Üst";
                            item.Position = "Top";
                        }

                        if (item.Position == "Middle")
                        {
                            item.Name     = checkByIdFromRepo.Name + " Orta";
                            item.Position = "Middle";
                        }

                        if (item.Position == "Right")
                        {
                            item.Name     = checkByIdFromRepo.Name + " Alt";
                            item.Position = "Bottom";
                        }
                    }

                    await subSCreenDal.UpdateRange(subs);
                }

                if (updateDto.Position.ToLower() == "horizontal" && checkByIdFromRepo.Position.ToLower() == "vertical")
                {
                    foreach (var item in subs)
                    {
                        if (item.Position == "Top")
                        {
                            item.Name     = checkByIdFromRepo.Name + " Sol";
                            item.Position = "Left";
                        }
                        if (item.Position == "Middle")
                        {
                            item.Name     = checkByIdFromRepo.Name + " Orta";
                            item.Position = "Middle";
                        }
                        if (item.Position == "Bottom")
                        {
                            item.Name     = checkByIdFromRepo.Name + " Sağ";
                            item.Position = "Right";
                        }
                    }
                    await subSCreenDal.UpdateRange(subs);
                }
            }

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

            return(mapper.Map <Screen, ScreenForReturnDto>(mapForUpdate));
        }