Example #1
0
        public async Task CreateAsync(TourOperatorCreateDto input)
        {
            var agent = new TourOperatorAgent
            {
                FirstName   = input.Agent.FirstName,
                LastName    = input.Agent.LastName,
                Email       = input.Agent.Email,
                PhoneNumber = input.Agent.PhoneNumber,
            };

            var company = new TourOperatorCompany
            {
                Name        = input.Company.Name,
                Bulstat     = input.Company.Bulstat,
                Email       = input.Company.Email,
                PhoneNumber = input.Company.PhoneNumber,
            };

            var tourOperator = new TourOperator
            {
                Name    = input.Name,
                HotelId = input.HotelId,
                Agent   = agent,
                Company = company,
            };

            await this.tourOperatorRepository.AddAsync(tourOperator);

            await this.tourOperatorRepository.SaveChangesAsync();
        }
        public async Task <IActionResult> Create(TourOperatorCreateInputModel input)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(input));
            }

            var user = await this.userManager.GetUserAsync(this.User);

            var dto = new TourOperatorCreateDto
            {
                Name  = input.Name,
                Agent = new TourOperatorAgentCreateDto
                {
                    FirstName   = input.Agent.FirstName,
                    LastName    = input.Agent.LastName,
                    Email       = input.Agent.Email,
                    PhoneNumber = input.Agent.PhoneNumber,
                },
                Company = new TourOperatorCompanyCreateDto
                {
                    Name        = input.Company.Name,
                    Bulstat     = input.Company.Bulstat,
                    Email       = input.Company.Email,
                    PhoneNumber = input.Company.PhoneNumber,
                },
                HotelId = (int)user.HotelId,
            };

            await this.tourOperatorsService.CreateAsync(dto);

            return(this.RedirectToAction("Index"));
        }