public override bool Add(SageLocation entity) { if (entity.Id == null) { entity.Id = ObjectId.GenerateNewId().ToString(); } if (workOrders == null) { var workOrderRepository = new MongoDbUnitOfWork().GetEntities <SageWorkOrder>(); workOrders = workOrderRepository.Get().Where(x => x.Status == "0").ToList(); } if (workOrders.Any(x => x.Location == entity.Location)) { System.Threading.Thread.Sleep(1000); var parametersSearch = entity.Address + " " + entity.City + " " + entity.ZIP + " " + entity.State; var location = GoogleApi.GetLocation(parametersSearch); if (location != null && location.result != null && location.result.Any()) { var geometry = location.result.FirstOrDefault().geometry; if (geometry != null && geometry.location != null) { entity.Latitude = geometry.location.lat; entity.Longitude = geometry.location.lng; } } } return(Collection.Insert(entity).HasLastErrorMessage); }