コード例 #1
0
        public CruisePriceModalsScreen CruisePriceModalsScreen(GetCruisePriceModalsScreen getCruisePriceModalsScreen)
        {
            _unitOfWorkManager.Current.DisableFilter(AbpDataFilters.MayHaveTenant);
            int workingYear = DateTime.Now.Year;

            try
            {
                IEnumerable <ISettingValue> listSettings = SettingManager.GetAllSettingValuesForUserAsync(AbpSession.ToUserIdentifier()).Result;
                if (listSettings != null)
                {
                    if (listSettings.Where(o => o.Name == AppSettings.UserManagement.WorkingYear).SingleOrDefault() != null)
                    {
                        workingYear = Convert.ToInt32(listSettings.Where(o => o.Name == AppSettings.UserManagement.WorkingYear).SingleOrDefault().Value);
                    }
                }
            }
            catch
            {
            }
            CruisePriceModalsScreen cruisePriceModalsScreen = new CruisePriceModalsScreen();
            var    cruises         = _cruisesRepository.GetAll().Where(x => x.Id == getCruisePriceModalsScreen.cruiseId).FirstOrDefault();
            string defaultCurrency = SettingManager.GetSettingValueForApplicationAsync(AppSettings.DefaultCurrency).Result;
            var    seasonGroups    = _lookup_cruiseDeparturesRepository.GetAll().Where(x => x.CruisesId == getCruisePriceModalsScreen.cruiseId && x.DepartureYear == workingYear).
                                     Select(m => new { m.SeasonGroup }).Distinct();
            var _lookupCruiseServices = _cruiseServicesRepository.FirstOrDefault((int)cruises.CruiseServicesId);
            var serviceUnit           = _cruiseServiceUnitsRepository.FirstOrDefault((int)_lookupCruiseServices.CruiseServiceUnitsId);
            var masterAmenities       = _cruiseMasterAmenitiesRepository.GetAll().Where(x => x.Id == serviceUnit.ServiceUnit.Value).FirstOrDefault();

            cruisePriceModalsScreen.CruiseId       = getCruisePriceModalsScreen.cruiseId;
            cruisePriceModalsScreen.CruiseShipsId  = cruises.CruiseShipsId.Value;
            cruisePriceModalsScreen.DefaultCurency = defaultCurrency;
            if (getCruisePriceModalsScreen.serviceGroupId == 5 || getCruisePriceModalsScreen.serviceGroupId == 7)
            {
                cruisePriceModalsScreen.DefaultCurency = "%";
            }
            cruisePriceModalsScreen.ServiceUnit = masterAmenities.DisplayName.ToString();
            // bind SeasonGroups
            cruisePriceModalsScreen.SeasonGroup = new List <SeasonGroups>();
            foreach (var item in seasonGroups)
            {
                SeasonGroups objSeasonGroup = new SeasonGroups();
                objSeasonGroup.SeasonGroupName = item.SeasonGroup;
                cruisePriceModalsScreen.SeasonGroup.Add(objSeasonGroup);
            }
            var _serviceList = _cruiseServicesRepository.GetAll().Where(x => x.CruiseServiceGroupsId == getCruisePriceModalsScreen.serviceGroupId);

            cruisePriceModalsScreen.ServiceList = new List <ServiceList>();
            foreach (var item in _serviceList)
            {
                ServiceList serviceList = new ServiceList();
                var         masterAmenities_ServiecName = _cruiseMasterAmenitiesRepository.GetAll().Where(x => x.Id == item.ServiceName).FirstOrDefault();
                serviceList.ServiceName           = masterAmenities_ServiecName.DisplayName;
                serviceList.ServiceId             = item.Id;
                serviceList.CruiseServiceGroupsId = getCruisePriceModalsScreen.serviceGroupId;

                cruisePriceModalsScreen.ServiceList.Add(serviceList);
            }

            return(cruisePriceModalsScreen);
        }
コード例 #2
0
        public PriceScreenRecordDto GetCreateCharterPriceScreenRecord(int fareId)
        {
            int workingYear = DateTime.Now.Year;

            try
            {
                IEnumerable <ISettingValue> listSettings = SettingManager.GetAllSettingValuesForUserAsync(AbpSession.ToUserIdentifier()).Result;
                if (listSettings != null)
                {
                    if (listSettings.Where(o => o.Name == AppSettings.UserManagement.WorkingYear).SingleOrDefault() != null)
                    {
                        workingYear = Convert.ToInt32(listSettings.Where(o => o.Name == AppSettings.UserManagement.WorkingYear).SingleOrDefault().Value);
                    }
                }
            }
            catch (Exception)
            {
            }
            PriceScreenRecordDto priceScreenRecordDto = new PriceScreenRecordDto();

            try
            {
                string defaultCurrency = SettingManager.GetSettingValueForApplicationAsync(AppSettings.DefaultCurrency).Result;
                var    fares           = _lookup_cruiseFaresRepository.GetAll().Where(x => x.Id == fareId).FirstOrDefault();
                var    seasonGroups    = _charterDeparturesRepository.GetAll().
                                         Where(x => x.CruiseShipId == fares.ShipId && x.DepartureYear == workingYear).
                                         Select(m => new { m.SeasonGroup }).Distinct();


                priceScreenRecordDto.FareId         = fareId;
                priceScreenRecordDto.CruiseShipsId  = fares.ShipId.Value;
                priceScreenRecordDto.DefaultCurency = defaultCurrency;
                priceScreenRecordDto.SeasonGroup    = new List <SeasonGroups>();
                foreach (var item in seasonGroups)
                {
                    SeasonGroups objSeasonGroup = new SeasonGroups();
                    objSeasonGroup.SeasonGroupName = item.SeasonGroup;

                    priceScreenRecordDto.SeasonGroup.Add(objSeasonGroup);
                }
            }
            catch (Exception ex)
            {
            }
            return(priceScreenRecordDto);
        }
コード例 #3
0
        public PriceScreenRecordDto GetCreatePriceScreenRecord(int cruiseId)
        {
            _unitOfWorkManager.Current.DisableFilter(AbpDataFilters.MayHaveTenant);
            int workingYear = DateTime.Now.Year;

            try
            {
                IEnumerable <ISettingValue> listSettings = SettingManager.GetAllSettingValuesForUserAsync(AbpSession.ToUserIdentifier()).Result;
                if (listSettings != null)
                {
                    if (listSettings.Where(o => o.Name == AppSettings.UserManagement.WorkingYear).SingleOrDefault() != null)
                    {
                        workingYear = Convert.ToInt32(listSettings.Where(o => o.Name == AppSettings.UserManagement.WorkingYear).SingleOrDefault().Value);
                    }
                }
            }
            catch (Exception)
            {
            }

            PriceScreenRecordDto priceScreenRecordDto = new PriceScreenRecordDto();

            try
            {
                string defaultCurrency = SettingManager.GetSettingValueForApplicationAsync(AppSettings.DefaultCurrency).Result;

                //var fares = _lookup_cruiseFaresRepository.GetAll().Where(x => x.Id == fareId).FirstOrDefault();
                var seasonGroups = _lookup_cruiseDeparturesRepository.GetAll().Where(x => x.CruisesId == cruiseId && x.DepartureYear == workingYear).
                                   Select(m => new { m.SeasonGroup }).Distinct();
                var cruises = _cruisesRepository.GetAll().Where(x => x.Id == cruiseId).FirstOrDefault();
                var deckIds = _lookup_cruiseShipCabinsRepository.GetAll().Where(x => x.CruiseShipsId == cruises.CruiseShipsId)
                              .Select(m => new { m.CruiseShipDecksId, m.Id, m.CabinTypeID }).Distinct();

                var _lookupCruiseServices = _cruiseServicesRepository.FirstOrDefault((int)cruises.CruiseServicesId);
                var serviceUnit           = _cruiseServiceUnitsRepository.FirstOrDefault((int)_lookupCruiseServices.CruiseServiceUnitsId);
                var masterAmenities       = _cruiseMasterAmenitiesRepository.GetAll().Where(x => x.Id == serviceUnit.ServiceUnit.Value).FirstOrDefault();


                // var distinctgroupSubscriptions = deckIds.GroupBy(m => new { m.CruiseShipDecksId, m.Id, m.CabinTypeID })
                //                                .Select(group => group.First()).ToList();
                List <CheckDuplicate> checkDuplicatesDecks = new List <CheckDuplicate>();
                foreach (var deckId in deckIds)
                {
                    var match = checkDuplicatesDecks.FirstOrDefault(x => x.CabinTypeID == deckId.CabinTypeID && x.CruiseShipDecksId == deckId.CruiseShipDecksId);
                    if (match == null)
                    {
                        CheckDuplicate checkDuplicatevalues = new CheckDuplicate();
                        checkDuplicatevalues.CruiseShipDecksId = deckId.CruiseShipDecksId.Value;
                        checkDuplicatevalues.Id          = deckId.Id;
                        checkDuplicatevalues.CabinTypeID = deckId.CabinTypeID;
                        checkDuplicatesDecks.Add(checkDuplicatevalues);
                    }
                }
                priceScreenRecordDto.FareId         = 0;
                priceScreenRecordDto.CruiseId       = cruiseId;
                priceScreenRecordDto.CruiseShipsId  = cruises.CruiseShipsId.Value;
                priceScreenRecordDto.DefaultCurency = defaultCurrency;
                priceScreenRecordDto.ServiceUnit    = masterAmenities.DisplayName.ToString();

                priceScreenRecordDto.SeasonGroup = new List <SeasonGroups>();
                foreach (var item in seasonGroups)
                {
                    SeasonGroups objSeasonGroup = new SeasonGroups();
                    objSeasonGroup.SeasonGroupName = item.SeasonGroup;
                    priceScreenRecordDto.SeasonGroup.Add(objSeasonGroup);
                }
                priceScreenRecordDto.ShipCabinDetail = new List <ShipCabinDetails>();
                foreach (var deckId in checkDuplicatesDecks)
                {
                    ShipCabinDetails objShipCabinDetails = new ShipCabinDetails();

                    //var ShipDecks = _cruiseShipDecksRepository.GetAll().Where(x => x.Id == deckId.CruiseShipDecksId).FirstOrDefault();
                    var deckName  = _cruiseMasterAmenitiesRepository.GetAll().Where(x => x.Id == deckId.CruiseShipDecksId).Select(m => new { m.DisplayName }).FirstOrDefault();
                    var cabinType = _cruiseMasterAmenitiesRepository.GetAll().Where(x => x.Id == deckId.CabinTypeID).Select(m => new { m.DisplayName }).FirstOrDefault();

                    objShipCabinDetails.CruiseShipDecksId = deckId.CruiseShipDecksId;
                    objShipCabinDetails.Id          = deckId.Id;
                    objShipCabinDetails.CabinTypeID = deckId.CabinTypeID;
                    objShipCabinDetails.DeckName    = deckName.DisplayName;
                    objShipCabinDetails.CabinType   = cabinType.DisplayName;

                    priceScreenRecordDto.ShipCabinDetail.Add(objShipCabinDetails);
                }
            }
            catch (Exception ex)
            {
            }
            return(priceScreenRecordDto);
        }