public async Task <IPDetailsDTO> GetIPDetails(string ip, CancellationToken cancellationToken) { //Check if value exists in DB IPDetailsDTO ipDetailsEntity = await _iPStackRepository.GetIPDetailsIfExist(ip, cancellationToken); if (ipDetailsEntity == null) { var ipDetails = await _iPServiceProvider.GetIPDetails(ip, cancellationToken); IPDetailsExtDTO temp = new IPDetailsExtDTO() { IP = ip, City = ipDetails.City, Contintent = ipDetails.Contintent, Country = ipDetails.Country, Latitude = ipDetails.Latitude, Longitude = ipDetails.Longitude }; //create db record ipDetailsEntity = await _iPStackRepository.CreateIPDetails(temp, cancellationToken); return(ipDetailsEntity); } else { return(ipDetailsEntity); } }
/// <summary> /// Add an IPDetail item to Queue of Buffer /// </summary> /// <param name="iPDetailsExtDTOs"></param> public void Put(IPDetailsExtDTO iPDetailsExtDTOs) { if (_ipDetailsQueue != null) { _ipDetailsQueue.Enqueue(iPDetailsExtDTOs); } else { throw new IPDetailsUpdateRequestInternalError("Buffer is not initialized"); } }
public async Task<IPDetailsExtDTO> CreateIPDetails(IPDetailsExtDTO iPDetails, CancellationToken cancellationToken) { var obj = _appContext.IPDetails.Find(iPDetails.IP); if (obj == null) { _appContext.IPDetails.Add(iPDetails); await _appContext.SaveChangesAsync(cancellationToken); return iPDetails; } else return obj; }
public async Task <bool> UpdateIPDetails(IPDetailsExtDTO iPDetails, CancellationToken cancellationToken) => await _repository.UpdateIPDetails(iPDetails, cancellationToken);
public async Task <IPDetailsExtDTO> CreateIPDetails(IPDetailsExtDTO iPDetails, CancellationToken cancellationToken) => await _repository.CreateIPDetails(iPDetails, cancellationToken);
public async Task<bool> UpdateIPDetails(IPDetailsExtDTO iPDetails, CancellationToken cancellationToken) { _appContext.Entry(iPDetails).State = EntityState.Modified; await _appContext.SaveChangesAsync(cancellationToken); return true; }