Beispiel #1
0
        public void UpdateTourCustomer(TourCustomerDTO tourCustomerDTO)
        {
            var typeOfStatusPaid = _dataBase.TypeOfStatuses.Get("Paid");

            if (tourCustomerDTO.TypeOfStatusId == typeOfStatusPaid.Id)
            {
                var customerDto = tourCustomerDTO.Customer;
                var customer    = MappingDTO.MapCustomer(customerDto);
                customer.Discount = Discount.AddDiscount(customer.Discount, customer.StepDiscount, customer.MaxDiscount);
                _dataBase.Customers.UpdateInfo(customer);
                _dataBase.Save();
            }
            _dataBase.TourCustomers.SetStatus(tourCustomerDTO.Id, tourCustomerDTO.TypeOfStatusId);
            _dataBase.Save();
        }
Beispiel #2
0
        /// <summary>
        ///    cancellation of the tour with a reduction in discounts for customer
        /// </summary>
        public void CancelTour(TourCustomerDTO tourCustomer)
        {
            _dataBase.TourCustomers.Delete(tourCustomer.Id);
            _dataBase.Save();
            var tourDto = tourCustomer.Tour;

            tourDto.NumberOfOrders++;
            var tour = MappingDTO.MapTour(tourDto);

            _dataBase.Tours.UpdateInfo(tour);
            var customerDto = tourCustomer.Customer;

            customerDto.Discount = Discount.ReduceDiscount(customerDto.Discount);
            var customer = MappingDTO.MapCustomer(customerDto);

            _dataBase.Customers.UpdateInfo(customer);
            _dataBase.Save();
        }
Beispiel #3
0
        public static TourCustomer MapTourCustomer(TourCustomerDTO tourCustomerDto)
        {
            var configuration = new MapperConfiguration(cfg =>
            {
                cfg.AllowNullCollections = true;
                cfg.CreateMap <TourDTO, Tour>()
                .ForMember(dest => dest.Customers, opt => opt.MapFrom(src => src.Customers));
                cfg.CreateMap <CityDTO, City>();
                cfg.CreateMap <TypeOfHotelDTO, TypeOfHotel>();
                cfg.CreateMap <TypeOfStatusDTO, TypeOfStatus>();
                cfg.CreateMap <TypeOfTourDTO, TypeOfTour>();
                cfg.CreateMap <TourCustomerDTO, TourCustomer>();
                cfg.CreateMap <CustomerDTO, Customer>();
            });
            var mapper       = configuration.CreateMapper();
            var tourCustomer = mapper.Map <TourCustomerDTO, TourCustomer>(tourCustomerDto);

            return(tourCustomer);
        }