Exemple #1
0
 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);
 }