예제 #1
0
        public void AddAdviceSearch(User user, string searchstring, string userAgent, string imei, string model, bool resultFound, string osVersion)
        {
            var searchterm = _searchtermRepository.Find(
                match => match.Searchstring == searchstring).FirstOrDefault() ??
                             new Searchterm {
                Searchstring = searchstring
            };

            var adviceSearch = new SearchStatistic
            {
                Timestamp   = DateTime.Now,
                User        = user,
                Imei        = imei,
                Model       = model,
                UserAgent   = userAgent,
                ResultFound = resultFound,
                OsVersion   = osVersion
            };

            searchterm.SearchStatistics.Add(adviceSearch);

            if (searchterm.Id == 0)
            {
                _searchtermRepository.Add(searchterm);
            }

            _searchtermRepository.Persist();
        }
예제 #2
0
        public async void  AddMetaSearchStatistic(CheckOutData data, string BN)
        {
            try
            {
                SearchDBEntities searchDB = new SearchDBEntities();
                hotelsDBEntities db       = new hotelsDBEntities();
                SearchStatistic  metaData = new SearchStatistic();
                var SearchData            = searchDB.SearchCriterias.FirstOrDefault(x => x.sID == data.Sid);
                var hotel = db.hotels.FirstOrDefault(h => h.hotelID == data.HotelID);
                //   var PosData= db.
                if (hotel != null && SearchData != null)
                {
                    metaData.BookingNo     = BN;
                    metaData.BookingStatus = "New Booking";
                    metaData.CheckOut      = SearchData.dateTo.Value;
                    metaData.ChekIn        = SearchData.dateFrom.Value;
                    metaData.CityName      = hotel.cityName;
                    metaData.Date          = SearchData.sessionCreatedAt.Value;
                    metaData.HotelID       = data.HotelID;
                    metaData.HotelName     = hotel.hotelName;
                    metaData.POS           = SearchData.pos;
                    metaData.ProvideID     = data.Pid;
                    metaData.sID           = data.Sid;
                    metaData.Source        = SearchData.source;
                }
                string path = ConfigurationSettings.AppSettings["metaData"];

                var client   = new HttpClient();
                var url      = path + "/api/MetaSearchStatistics/POST";
                var response = client.PostAsJsonAsync(url, metaData).Result;

                LoggingHelper.WriteToFile("AddMetaSearchStatistic/", "InSearchstatisticDA ", "ResponseData", response.StatusCode.ToString());

                //if (response.IsSuccessStatusCode)
                //{



                //}
                //else
                //{


                //}
            }catch (Exception ex)
            {
                LoggingHelper.WriteToFile("AddMetaSearchStatistic/Errors/", "InSearchstatisticDA" + data.Sid, ex.Message, ex.Message + ex.StackTrace);
            }
        }
예제 #3
0
 public List <SearchStatistic> SearchStatisticTransaction(DateTime fromDate, DateTime toDate)
 {
     try
     {
         HotelBookingDBEntities BookingDB        = new HotelBookingDBEntities();
         SearchDBEntities       searchDB         = new SearchDBEntities();
         hotelsDBEntities       db               = new hotelsDBEntities();
         List <SearchStatistic> searchStatistics = new List <SearchStatistic>();
         var SearchesData = searchDB.SearchCriterias.Where(x => x.sessionCreatedAt >= fromDate && x.sessionCreatedAt <= toDate).ToList();
         foreach (var item in SearchesData)
         {
             SearchStatistic searchStatistic = new SearchStatistic();
             searchStatistic.ChekIn   = item.dateFrom.Value;
             searchStatistic.CheckOut = item.dateTo.Value;
             searchStatistic.Date     = item.sessionCreatedAt.Value;
             searchStatistic.POS      = item.pos;
             searchStatistic.sID      = item.sID;
             searchStatistic.Source   = item.source;
             var cityD = db.Cities.FirstOrDefault(x => x.ID.ToString() == item.cityName);
             if (cityD != null)
             {
                 searchStatistic.CityName = cityD.City1;
             }
             var BookingData = BookingDB.HotelsBookings.FirstOrDefault(a => a.SessionId == item.sID);
             if (BookingData != null)
             {
                 searchStatistic.BookingNo     = BookingData.Booking_No;
                 searchStatistic.BookingStatus = BookingData.Booking_Status;
                 searchStatistic.HotelID       = BookingData.Hotel_ID;
                 searchStatistic.ProvideID     = BookingData.Provider_ID;
                 var hotel = db.hotels.FirstOrDefault(h => h.hotelID == BookingData.Hotel_ID);
                 if (hotel != null)
                 {
                     searchStatistic.HotelName = hotel.hotelName;
                 }
             }
             searchStatistics.Add(searchStatistic);
         }
         return(searchStatistics);
     }catch (Exception ex)
     {
         LoggingHelper.WriteToFile("StatisticController/Errors/", "INDAL", "FromData" + fromDate + "to" + toDate, ex.InnerException?.Message + "//" + ex.Message + ex.StackTrace);
         return(new List <SearchStatistic>());
     }
 }
예제 #4
0
        private async void Download_Excel(object sender, EventArgs e)
        {
            var cookie  = Settings.Cookie;
            var res     = cookie.Substring(11, 32);
            var dateNow = DateTime.Now.ToString("dd-MM-yyyy");

            var _search = new SearchStatistic
            {
                criteria0      = "",
                criteria1      = "",
                criteria2      = "",
                criteria3      = "",
                criteria4      = "",
                id1            = -1,
                id2            = -1,
                id3            = -1,
                maxResult      = -1,
                order          = "desc",
                sortedBy       = "request_creation_date",
                status         = "",
                offset         = 0,
                nomenclatureId = -1,
                conventionId   = -1,
                masterControl  = false,
                positive       = false,
                date           = null,
                date1          = null
            };
            var request = JsonConvert.SerializeObject(_search);

            Debug.WriteLine("********request*************");
            Debug.WriteLine(request);
            var content = new StringContent(request, Encoding.UTF8, "application/json");

            var cookieContainer = new CookieContainer();
            var handler         = new HttpClientHandler()
            {
                CookieContainer = cookieContainer
            };
            var client = new HttpClient(handler);
            var url    = "https://portalesp.smart-path.it/Portalesp/request/exportGenericExcel";

            Debug.WriteLine("********url*************");
            Debug.WriteLine(url);
            DependencyService.Get <INotification>().CreateNotification("Download Excel", "Please wait a few seconds !");
            client.BaseAddress = new Uri(url);
            cookieContainer.Add(client.BaseAddress, new Cookie("JSESSIONID", res));
            var response = await client.PostAsync(url, content);

            Debug.WriteLine("********response*************");
            Debug.WriteLine(response);
            if (!response.IsSuccessStatusCode)
            {
                await Application.Current.MainPage.DisplayAlert("Error", response.StatusCode.ToString(), "ok");

                return;
            }
            PopuPage page1 = new PopuPage();
            await PopupNavigation.Instance.PushAsync(page1);

            await Task.Delay(2000);

            var result = await response.Content.ReadAsStreamAsync();

            Debug.WriteLine("********result*************");
            Debug.WriteLine(result);
            using (var streamReader = new MemoryStream())
            {
                result.CopyTo(streamReader);
                byte[]       bytes  = streamReader.ToArray();
                MemoryStream stream = new MemoryStream(bytes);
                Debug.WriteLine("********stream*************");
                Debug.WriteLine(stream);
                if (stream == null)
                {
                    await Application.Current.MainPage.DisplayAlert("Warning", "Data is Empty", "ok");

                    return;
                }

                await DependencyService.Get <ISave>().SaveAndView("Request-" + dateNow + ".xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", stream);
            }
        }