Exemple #1
0
        public int InsertSearchTripProvider(int ProviderId, int SearchTripId, string Proxy = null, string Url = null)
        {
            int result = -1;

            try
            {
                SearchTripProvider item = new SearchTripProvider();
                item.SearchSuccess = false;
                item.CreationDate  = DateTime.UtcNow;
                item.Proxy         = Proxy;
                item.ProviderId    = ProviderId;
                item.SearchTripId  = SearchTripId;
                item.Url           = Url;
                if (_searchTripProviderRepo == null)
                {
                    var context = new TemplateEntities1();
                    _searchTripProviderRepo = new GenericRepository <SearchTripProvider>(context);
                }
                _searchTripProviderRepo.Add(item);
                if (_searchTripProviderRepo.Save())
                {
                    result = item.Id;
                }
            }
            catch (Exception e)
            {
                result = -1;
                FlightsEngine.Utils.Logger.GenerateError(e, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "ProviderId = " + ProviderId + " and SearchTripId = " + SearchTripId + " and Proxy = " + (Proxy ?? ""));
            }
            return(result);
        }
Exemple #2
0
        public int GetSearchTripProviderId(DateTime FromDate, DateTime?ToDate, int SearchTripWishesId, int ProviderId)
        {
            int result = -1;

            try
            {
                FromDate = new DateTime(FromDate.Year, FromDate.Month, FromDate.Day);
                if (ToDate != null)
                {
                    ToDate = new DateTime(ToDate.Value.Year, ToDate.Value.Month, ToDate.Value.Day);
                }

                var SearchTrip = _searchTripRepo.FindAllBy(s => s.SearchTripWishesId == SearchTripWishesId && s.FromDate == FromDate && s.ToDate == s.ToDate).FirstOrDefault();
                if (SearchTrip == null)
                {
                    SearchTrip = new SearchTrip();
                    SearchTrip.SearchTripWishesId = SearchTripWishesId;
                    SearchTrip.ToDate             = ToDate;
                    SearchTrip.FromDate           = FromDate;
                    _searchTripRepo.Add(SearchTrip);
                    if (!_searchTripRepo.Save())
                    {
                        SearchTrip = null;
                    }
                }

                if (SearchTrip != null)
                {
                    DateTime CutOff             = DateTime.UtcNow.AddHours(-2);
                    var      SearchTripProvider = _searchTripProviderRepo.FindAllBy(s => s.ProviderId == ProviderId && s.SearchTripId == SearchTrip.Id && s.CreationDate > CutOff).FirstOrDefault();
                    if (SearchTripProvider == null)
                    {
                        SearchTripProvider = new SearchTripProvider();
                        SearchTripProvider.AttemptsNumber = 1;
                        SearchTripProvider.CreationDate   = DateTime.UtcNow;
                        SearchTripProvider.SearchTripId   = SearchTrip.Id;
                        SearchTripProvider.SearchSuccess  = true;
                        SearchTripProvider.ProviderId     = ProviderId;
                        SearchTripProvider.EndSearchDate  = DateTime.UtcNow;

                        _searchTripProviderRepo.Add(SearchTripProvider);
                        if (_searchTripProviderRepo.Save())
                        {
                            result = SearchTripProvider.Id;
                        }
                    }
                    else
                    {
                        result = SearchTripProvider.Id;
                    }
                }
            }
            catch (Exception e)
            {
                result = -1;
                FlightsEngine.Utils.Logger.GenerateError(e, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "SearchTripWishesId = " + SearchTripWishesId + " and FromDate = " + FromDate.ToString() + " and ToDate= " + (ToDate == null?"NULL":ToDate.Value.ToString()));
            }
            return(result);
        }
Exemple #3
0
        public int SetSearchTripProviderAsEnded(int SearchTripProviderId, bool Success, string LastProxy, int AttemptsNumber)
        {
            int result = -1;

            try
            {
                SearchTripProvider item = _searchTripProviderRepo.Get(SearchTripProviderId);
                if (item != null)
                {
                    item.SearchSuccess  = Success;
                    item.EndSearchDate  = DateTime.UtcNow;
                    item.Proxy          = LastProxy;
                    item.AttemptsNumber = AttemptsNumber;
                    _searchTripProviderRepo.Edit(item);
                    _searchTripProviderRepo.Save();
                }
            }
            catch (Exception e)
            {
                result = -1;
                FlightsEngine.Utils.Logger.GenerateError(e, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "SearchTripProviderId = " + SearchTripProviderId + " and Success = " + Success);
            }
            return(result);
        }