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