public CustomerIpDetailQueryResult Handle(CustomerIpDetailQuery query) { IPDetail ipDetail = new IPDetail(); IResponse <IpApiResponse> ipDetails = _ipApi.GetUserLocationByIp(query.Ip).Result; if (ipDetails.Result != null) { ipDetail = new IPDetail { IPAddress = query.Ip, CountryCode = ipDetails.Result.CountryCode, CountryName = ipDetails.Result.Country, RegionCode = ipDetails.Result.Region, RegionName = ipDetails.Result.RegionName, City = ipDetails.Result.City, Zipcode = ipDetails.Result.ZipCode, TimeZone = ipDetails.Result.Timezone, Latitude = Convert.ToDecimal(ipDetails.Result.Latitude), Longitude = Convert.ToDecimal(ipDetails.Result.Longitude) }; } return(new CustomerIpDetailQueryResult { IpDetail = ipDetail }); }
public IPDetail SaveIp(string ipAddress) { try { IPDetail ipDetail = new IPDetail(); if (!string.IsNullOrWhiteSpace(ipAddress)) { ipDetail = _iPDetailRepository.GetByIpAddress(ipAddress); if (ipDetail == null) { IResponse <IpApiResponse> ipApiResponse = _ipApi.GetUserLocationByIp(ipAddress).Result; if (ipApiResponse.Result != null) { ipDetail = _iPDetailRepository.Save(new IPDetail { IPAddress = ipAddress, CountryCode = ipApiResponse.Result.CountryCode, CountryName = ipApiResponse.Result.Country, RegionCode = ipApiResponse.Result.Region, RegionName = ipApiResponse.Result.RegionName, City = ipApiResponse.Result.City, Zipcode = ipApiResponse.Result.ZipCode, TimeZone = ipApiResponse.Result.Timezone, Latitude = Convert.ToDecimal(ipApiResponse.Result.Latitude), Longitude = Convert.ToDecimal(ipApiResponse.Result.Longitude) }); } } } return(ipDetail); } catch (Exception e) { _logger.Log(Logging.Enums.LogCategory.Error, e); return(null); } }
protected override async Task Handle(TicketAlertUserMappingCommand command) { IPDetail ipDetail = new IPDetail(); if (!string.IsNullOrWhiteSpace(command.Ip)) { ipDetail = _iPDetailRepository.GetByIpAddress(command.Ip); if (ipDetail == null) { IResponse <Contracts.Models.Integrations.IpApiResponse> ipApiResponse = _ipApi.GetUserLocationByIp(command.Ip).Result; if (ipApiResponse.Result != null) { ipDetail = _iPDetailRepository.Save(new IPDetail { IPAddress = command.Ip, CountryCode = ipApiResponse.Result.CountryCode, CountryName = ipApiResponse.Result.Country, RegionCode = ipApiResponse.Result.Region, RegionName = ipApiResponse.Result.RegionName, City = ipApiResponse.Result.City, Zipcode = ipApiResponse.Result.ZipCode, TimeZone = ipApiResponse.Result.Timezone, Latitude = Convert.ToDecimal(ipApiResponse.Result.Latitude), Longitude = Convert.ToDecimal(ipApiResponse.Result.Longitude) }); } } } if ((bool)command.IsStreamingEvent) { var Data = new TicketAlertUserMapping { AltId = Guid.NewGuid(), TicketAlertEventMappingId = 1, FirstName = command.FirstName, LastName = command.LastName, PhoneCode = command.PhoneCode, PhoneNumber = command.PhoneNumber, Email = command.Email, EventName = command.EventName, TourTravelPackage = command.TourTravelPackages, NumberOfTickets = command.NumberOfTickets, ModifiedBy = command.ModifiedBy, CreatedUtc = DateTime.UtcNow, IsEnabled = true, IPDetailId = ipDetail.Id }; _ticketAlertUserMappingRepository.Save(Data); } else { var i = -1; foreach (var ticketAlertId in command.TicketAlertEvents) { i = i + 1; var Data = new TicketAlertUserMapping { AltId = Guid.NewGuid(), TicketAlertEventMappingId = ticketAlertId, FirstName = command.FirstName, LastName = command.LastName, PhoneCode = command.PhoneCode, PhoneNumber = command.PhoneNumber, Email = command.Email, TourTravelPackage = command.TourTravelPackages, NumberOfTickets = command.NumberOfTickets, ModifiedBy = command.ModifiedBy, CreatedUtc = DateTime.UtcNow, IsEnabled = true, IPDetailId = ipDetail.Id }; _ticketAlertUserMappingRepository.Save(Data); } } }