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); }
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); }
public async Task <ActionResult <ScreenForReturnDto> > Create(ScreenForCreationDto createDto) { return(await screenService.Create(createDto)); }
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)); }