예제 #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);
        }