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();
        }
Example #2
0
        public async Task EditAsync(TourOperatorEditDto input)
        {
            var tourOperator = this.tourOperatorRepository
                               .All()
                               .Include(x => x.Agent)
                               .Include(x => x.Company)
                               .FirstOrDefault(x => x.Id == input.Id);

            tourOperator.Name = input.Name;
            if (tourOperator.Agent != null)
            {
                tourOperator.Agent.FirstName   = input.Agent.FirstName;
                tourOperator.Agent.LastName    = input.Agent.LastName;
                tourOperator.Agent.PhoneNumber = input.Agent.PhoneNumber;
                tourOperator.Agent.Email       = input.Agent.Email;
            }
            else
            {
                var agent = new TourOperatorAgent
                {
                    FirstName   = input.Agent.FirstName,
                    LastName    = input.Agent.LastName,
                    Email       = input.Agent.Email,
                    PhoneNumber = input.Agent.PhoneNumber,
                };

                tourOperator.Agent = agent;
            }

            if (tourOperator.Company != null)
            {
                tourOperator.Company.Name        = input.Company.Name;
                tourOperator.Company.Bulstat     = input.Company.Bulstat;
                tourOperator.Company.PhoneNumber = input.Company.PhoneNumber;
                tourOperator.Company.Email       = input.Company.Email;
            }
            else
            {
                var company = new TourOperatorCompany
                {
                    Name        = input.Company.Name,
                    Bulstat     = input.Company.Bulstat,
                    Email       = input.Company.Email,
                    PhoneNumber = input.Company.PhoneNumber,
                };

                tourOperator.Company = company;
            }

            await this.tourOperatorRepository.SaveChangesAsync();
        }