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