public InventoryItemDto Parse(string data) { InventoryItemDto result = null; if (string.IsNullOrWhiteSpace(data)) { return(result); } var match = _regex.Match(data); if (match.Success) { result = new InventoryItemDto(); result.Name = match.Groups["name"].Value; result.Id = match.Groups["id"].Value; var availabilities = match.Groups["availability"].Captures; for (int i = 0; i < availabilities.Count; i++) { var availabilityMatch = _availability.Match(availabilities[i].Value); if (availabilityMatch.Success) { var availabilityDto = new AvailabilityDto { WarehouseId = availabilityMatch.Groups["warehouse"].Value, Quantity = int.Parse(availabilityMatch.Groups["quantity"].Value) }; result.Availabilities.Add(availabilityDto); } } } return(result); }
public Dictionary <DayOfWeek, List <AvailabilityDto> > Resolve(MemberProfile domain, TDto dto, Dictionary <DayOfWeek, List <AvailabilityDto> > destMember, ResolutionContext context) { var availabilities = new Dictionary <DayOfWeek, List <AvailabilityDto> >(); foreach (var day in Enum.GetValues(typeof(DayOfWeek))) { availabilities.Add((DayOfWeek)day, new List <AvailabilityDto>()); } if (domain.Availabilities != null) { foreach (var availbility in domain.Availabilities) { var availDto = new AvailabilityDto { AvailableDay = availbility.AvailableDay, StartTime = availbility.StartTime, EndTime = availbility.EndTime, IsModified = true }; availabilities[availbility.AvailableDay].Add(availDto); } } return(availabilities); }
public static HotelAvailability Map(AvailabilityDto dto, int nights) { var result = new HotelAvailability { Hotel = new HotelInfo { Name = dto?.Hotel?.Name, Rating = dto?.Hotel?.Rating ?? 0 } }; result.Rates = new List <HotelRate>(); if (dto.Rates != null) { foreach (var rateDto in dto.Rates) { var rate = new HotelRate(); switch (rateDto.BoardType) { case "No Meals": rate.BoardType = Core.Common.Enum.BoardType.NoMeals; break; case "Half Board": rate.BoardType = Core.Common.Enum.BoardType.HalfBoard; break; case "Full Board": rate.BoardType = Core.Common.Enum.BoardType.FullBoard; break; } rate.RateType = rateDto.RateType == "PerNight" ? Core.Common.Enum.HotelRateType.PerNight : Core.Common.Enum.HotelRateType.Stay; rate.FinalPrice = rate.RateType == Core.Common.Enum.HotelRateType.PerNight ? rateDto.Value * nights : rateDto.Value; result.Rates.Add(rate); } } return(result); }
public AvailabilityDtoBuilder() { _availabilityDto = WithDefaults(); }