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