Exemple #1
0
        public List <FindedWorkplace> PerformSearching(SearchingViewModel searchingViewModel)
        {
            List <int> buildingInRadius = SearchInRadius(searchingViewModel.Radius, searchingViewModel.X,
                                                         searchingViewModel.Y);

            List <Workplace> workplaceInRadius = workplaceDB.GetEntityList()
                                                 .Where(e => buildingInRadius.Contains(e.BuildingId)).ToList();

            return(GetAllEstimatedWorkspacecInRadius(searchingViewModel.SearchingModel, workplaceInRadius,
                                                     searchingViewModel.WantedCost));
        }
Exemple #2
0
        public void Execute(object parameter)
        {
            var vm = (SearchingViewModel)parameter;

            Task.Run(() =>
            {
                this.vm        = vm;
                this._pattern  = vm.SearchText;
                this.vm.Result = this.Run();
                this.vm.UpdateCollection();
            });
        }
Exemple #3
0
        protected override async void OnCreate(Bundle savedInstanceState)
        {
            ISharedPreferences       prefs1  = PreferenceManager.GetDefaultSharedPreferences(Android.App.Application.Context);
            ISharedPreferencesEditor editor1 = prefs1.Edit();

            if (prefs1.GetString("locale", "") == "")
            {
                editor1.PutString("locale", "en");
                editor1.Apply();
            }
            string loc    = prefs1.GetString("locale", "");
            var    locale = new Java.Util.Locale(loc);

            Java.Util.Locale.Default = locale;
            var config = new Android.Content.Res.Configuration {
                Locale = locale
            };

#pragma warning disable CS0618 // Type or member is obsolete
            BaseContext.Resources.UpdateConfiguration(config, metrics: BaseContext.Resources.DisplayMetrics);
#pragma warning restore CS0618 // Type or member is obsolete
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activity_map_search);

            Android.Support.V7.Widget.Toolbar toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
            SetSupportActionBar(toolbar);

            FloatingActionButton fab = FindViewById <FloatingActionButton>(Resource.Id.fab);
            fab.Click += FabOnClick;


            DrawerLayout          drawer = FindViewById <DrawerLayout>(Resource.Id.drawer_layout);
            ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, Resource.String.navigation_drawer_open, Resource.String.navigation_drawer_close);
            drawer.AddDrawerListener(toggle);
            toggle.SyncState();

            NavigationView navigationView = FindViewById <NavigationView>(Resource.Id.nav_view);
            navigationView.SetNavigationItemSelectedListener(this);

            Markers = new Dictionary <int, List <Workplace> >();

            ISharedPreferences prefs = PreferenceManager.GetDefaultSharedPreferences(Android.App.Application.Context);
            searchingViewModel = JsonConvert.DeserializeObject <SearchingViewModel>(prefs.GetString("searchingViewModel", ""));
            apiClient          = new APIClient();
            findedWorkplaces   = await apiClient.SearcForWorcplacesAsync(searchingViewModel);

            var mapFragment = (MapFragment)FragmentManager.FindFragmentById(Resource.Id.frag);
            mapFragment.GetMapAsync(this);
        }
Exemple #4
0
 public IQueryable <WarehouseViewModel> QueryableViewModel(SearchingViewModel model)
 {
     return(Queryable().Where(x => x.Delete == false &&
                              ((!model.Id.HasValue) || x.Id == model.Id)
                              ).Select(x => new WarehouseViewModel
     {
         Id = x.Id,
         Name = x.Name,
         Address = x.Address,
         Code = x.WarehouseCode,
         PhoneNumber = x.PhoneNumber,
         CreatedDate = x.CreatedDate,
         LastModifiedDate = x.LastModifiedDate,
     }));
 }
Exemple #5
0
        public IQueryable <NoteViewModel> QueryableViewModel(SearchingViewModel model)
        {
            if (model.to != null)
            {
                model.to = model.to.Value.AddDays(1);
            }
            var result = Queryable().Where(x => ((x.Delete == false) &&
                                                 (!model.DestinationId.HasValue || model.DestinationId == x.Destination.Id) &&
                                                 ((!model.SourceId.HasValue) || (model.SourceId == x.Source.Id)) &&
                                                 ((!model.from.HasValue) || (DbFunctions.TruncateTime(x.CreatedDate) >= DbFunctions.TruncateTime(model.from))) &&
                                                 ((!model.to.HasValue) || (DbFunctions.TruncateTime(x.CreatedDate) <= DbFunctions.TruncateTime(model.to))) &&
                                                 ((!model.Id.HasValue) || x.Id == model.Id)) &&
                                           ((!(model.Code == "")) || (model.Code == x.Code))
                                           )
                         .Select(x => new NoteViewModel
            {
                Id                   = x.Id,
                Code                 = x.Code,
                DestinationId        = x.Destination.Id,
                SourceId             = x.Source.Id,
                DestinationWarehouse = x.Destination.Name,
                SourceWarehouse      = x.Source.Name,
                Noted                = x.Noted,
                Total                = x.Total,
                CreatedDate          = x.CreatedDate,
                LastModifiedDate     = x.LastModifiedDate,
                ProductType          = x.ProductType,
                UserName             = x.User.UserName,
                Details              = x.Details.Where(t => t.Delete == false).Select(t => new NoteDetailViewModel()
                {
                    Id          = t.Id,
                    ProductId   = t.Product.Id,
                    Price       = t.Price,
                    Unit        = t.Unit,
                    ProductName = t.Product.ProductName,
                    Quantity    = t.Quantity,
                    Noted       = t.Noted
                }).ToList()
            });

            return(result);
        }
Exemple #6
0
        public void Querying_a_sub_collection_in_an_index()
        {
            DateTime startDate1 = DateTime.Now;
            DateTime endDate1   = DateTime.Now.AddDays(10);
            DateTime startDate2 = DateTime.Now.AddDays(15);
            DateTime endDate2   = DateTime.Now.AddDays(20);

            using (GetNewServer())
                using (var store = new DocumentStore()
                {
                    Url = "http://localhost:8079"
                }.Initialize())
                {
                    using (var session = store.OpenSession())
                    {
                        var model = new SearchingViewModel()
                        {
                            Id = Guid.NewGuid(), UserFriendlyId = "p001", Feature = "Pool"
                        };
                        model.BookingRequests.Add(new BookingRequest()
                        {
                            StartDay = startDate1, EndDay = endDate1
                        });
                        model.BookingRequests.Add(new BookingRequest()
                        {
                            StartDay = startDate2, EndDay = endDate2
                        });

                        session.Store(model);
                        session.SaveChanges();
                    }

                    new PropertiesSearchIndex().Execute(store);

                    using (var session = store.OpenSession())
                    {
                        var facets = new List <Facet>
                        {
                            new Facet()
                            {
                                Name = "Feature"
                            }
                        };

                        session.Store(new FacetSetup {
                            Id = "facets/PropertySearchingFacets", Facets = facets
                        });
                        session.SaveChanges();

                        RavenQueryStatistics stats;
                        var query = session.Query <SearchingViewModel, PropertiesSearchIndex>()
                                    .Statistics(out stats)
                                    .Customize(x => x.WaitForNonStaleResults())
                                    .Where(x => x.BookingRequests.Any(y => y.StartDay >= startDate1 && y.EndDay <= endDate2));

                        var result = query.ToList();

                        var facetResults = store.DatabaseCommands.GetFacets("PropertiesSearchIndex", new IndexQuery {
                            Query = query.ToString()
                        }, "facets/PropertySearchingFacets");
                        var facetedCount = facetResults.Results["Feature"];


                        Assert.Equal(1, result.Count());
                        Assert.Equal(1, facetResults.Results["Feature"].Values.First(x => x.Range == "pool").Hits);
                        Assert.Equal("PropertiesSearchIndex", stats.IndexName);
                    }
                }
        }
Exemple #7
0
        public void Querying_a_sub_collection_in_an_index()
        {
            DateTime startDate1 = DateTime.Now;
            DateTime endDate1   = DateTime.Now.AddDays(10);
            DateTime startDate2 = DateTime.Now.AddDays(15);
            DateTime endDate2   = DateTime.Now.AddDays(20);

            using (var store = GetDocumentStore())
            {
                using (var session = store.OpenSession())
                {
                    var model = new SearchingViewModel()
                    {
                        Id = Guid.NewGuid().ToString(), UserFriendlyId = "p001", Feature = "Pool"
                    };
                    model.BookingRequests.Add(new BookingRequest()
                    {
                        StartDay = startDate1, EndDay = endDate1
                    });
                    model.BookingRequests.Add(new BookingRequest()
                    {
                        StartDay = startDate2, EndDay = endDate2
                    });

                    session.Store(model);
                    session.SaveChanges();
                }

                new PropertiesSearchIndex().Execute(store);

                using (var session = store.OpenSession())
                {
                    var facets = new List <Facet>
                    {
                        new Facet()
                        {
                            Name = "Feature"
                        }
                    };

                    session.Store(new FacetSetup {
                        Id = "facets/PropertySearchingFacets", Facets = facets
                    });
                    session.SaveChanges();

                    QueryStatistics stats;
                    var             query = session.Query <SearchingViewModel, PropertiesSearchIndex>()
                                            .Statistics(out stats)
                                            .Customize(x => x.WaitForNonStaleResults())
                                            .Where(x => x.BookingRequests.Any(y => y.StartDay >= startDate1 && y.EndDay <= endDate2));

                    var result = query.ToList();

                    var indexQuery = RavenTestHelper.GetIndexQuery(query);

                    var facetResults = session.Advanced.DocumentStore.Operations.Send(new GetMultiFacetsOperation(new FacetQuery()
                    {
                        Query           = indexQuery.Query,
                        QueryParameters = indexQuery.QueryParameters,
                        FacetSetupDoc   = "facets/PropertySearchingFacets"
                    }))[0];

                    var facetedCount = facetResults.Results["Feature"];

                    Assert.Equal(1, result.Count());
                    Assert.Equal(1, facetResults.Results["Feature"].Values.First(x => x.Range == "pool").Hits);
                    Assert.Equal("PropertiesSearchIndex", stats.IndexName);
                }
            }
        }
Exemple #8
0
        protected override async void OnCreate(Bundle savedInstanceState)
        {
            ISharedPreferences       prefs1  = PreferenceManager.GetDefaultSharedPreferences(Android.App.Application.Context);
            ISharedPreferencesEditor editor1 = prefs1.Edit();

            if (prefs1.GetString("locale", "") == "")
            {
                editor1.PutString("locale", "en");
                editor1.Apply();
            }
            string loc    = prefs1.GetString("locale", "");
            var    locale = new Java.Util.Locale(loc);

            Java.Util.Locale.Default = locale;
            var config = new Android.Content.Res.Configuration {
                Locale = locale
            };

#pragma warning disable CS0618 // Type or member is obsolete
            BaseContext.Resources.UpdateConfiguration(config, metrics: BaseContext.Resources.DisplayMetrics);
#pragma warning restore CS0618 // Type or member is obsolete
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.activity_workplace_parameters);

            Android.Support.V7.Widget.Toolbar toolbar = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
            SetSupportActionBar(toolbar);

            FloatingActionButton fab = FindViewById <FloatingActionButton>(Resource.Id.fab);
            fab.Click += FabOnClick;


            DrawerLayout          drawer = FindViewById <DrawerLayout>(Resource.Id.drawer_layout);
            ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, Resource.String.navigation_drawer_open, Resource.String.navigation_drawer_close);
            drawer.AddDrawerListener(toggle);
            toggle.SyncState();

            NavigationView navigationView = FindViewById <NavigationView>(Resource.Id.nav_view);
            navigationView.SetNavigationItemSelectedListener(this);

            APIClient apiClient = new APIClient();
            ObservableCollection <Equipment> equipmentList = await apiClient.GetEquipmentsListAsync();

            ISharedPreferences prefs = PreferenceManager.GetDefaultSharedPreferences(Android.App.Application.Context);
            if (prefs.GetString("searchingViewModel", "") == "")
            {
                searchingViewModel                = new SearchingViewModel();
                searchingViewModel.X              = 33;
                searchingViewModel.Y              = 33;
                searchingViewModel.Radius         = 500;
                searchingViewModel.WantedCost     = 500;
                searchingViewModel.SearchingModel = new ObservableCollection <SearchingModel>();
                for (int i = 0; i < equipmentList.Count; i++)
                {
                    SearchingModel searchingModel = new SearchingModel();
                    searchingModel.EquipmentId = equipmentList[i].Id;
                    searchingModel.Importancy  = 0;
                    searchingViewModel.SearchingModel.Add(searchingModel);
                }
            }
            else
            {
                searchingViewModel            = JsonConvert.DeserializeObject <SearchingViewModel>(prefs.GetString("searchingViewModel", ""));
                searchingViewModel.Radius     = (searchingViewModel.Radius == null) ? 500 : searchingViewModel.Radius;
                searchingViewModel.WantedCost = (searchingViewModel.WantedCost == null) ? 500 : searchingViewModel.WantedCost;
            }

            radiusEditText      = FindViewById <EditText>(Resource.Id.radius_edit_text);
            radiusEditText.Text = searchingViewModel.Radius.ToString();
            costEditText        = FindViewById <EditText>(Resource.Id.cost_edit_text);
            costEditText.Text   = searchingViewModel.WantedCost.ToString();

            LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent);
            LinearLayout linearLayout = FindViewById <LinearLayout>(Resource.Id.worplace_p);
            LinearLayout.LayoutParams layoutParamsLayout = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent);
            layoutParamsLayout.Gravity = GravityFlags.Left;

            for (int i = 0; i < equipmentList.Count; i++)
            {
                LinearLayout newLayout = new LinearLayout(this)
                {
                    LayoutParameters = layoutParamsLayout,
                    Orientation      = Orientation.Horizontal
                };
                TextView textView = new TextView(this)
                {
                    Text = equipmentList[i].Name
                };
                textView.SetTextAppearance(Resource.Style.TextAppearance_AppCompat_Medium);
                RatingBar ratingBar = new RatingBar(this)
                {
                    NumStars         = 5,
                    Rating           = (int)(searchingViewModel.SearchingModel[i].Importancy * 5),
                    LayoutParameters = layoutParams,
                    StepSize         = 1,
                    Id = i
                };

                TextView cross = new TextView(this)
                {
                    LayoutParameters = layoutParams,
                    Id = i + 100
                };
                cross.SetCompoundDrawablesWithIntrinsicBounds(0, 0, Resource.Mipmap.cancel, 0);

                linearLayout.AddView(textView);
                newLayout.AddView(ratingBar);
                newLayout.AddView(cross);

                linearLayout.AddView(newLayout);

                ratingBar.RatingBarChange += (o, e) => {
                    Toast.MakeText(this, "New Rating: " + ratingBar.Rating.ToString(), ToastLength.Short).Show();
                    searchingViewModel.SearchingModel[ratingBar.Id].Importancy = Math.Round(ratingBar.Rating * 0.2, 2);
                };
                cross.Click += (o, e) => {
                    searchingViewModel.SearchingModel[ratingBar.Id].Importancy = 0;
                    ratingBar.FindViewById <RatingBar>(cross.Id - 100).Rating  = 0;
                };
            }
        }
Exemple #9
0
 public IEnumerable <NoteViewModel> Get([FromUri] SearchingViewModel model)
 {
     return(_note.QueryableViewModel(model).ToList());
 }
 public IEnumerable <WarehouseViewModel> Get([FromUri] SearchingViewModel model)
 {
     return(_warehouse.QueryableViewModel(model).ToList());
 }
Exemple #11
0
        public IActionResult SearcForWorcplaces([FromBody] SearchingViewModel searchingViewModel)
        {
            List <FindedWorkplace> findedWorkplaces = searchWorkplaces.PerformSearching(searchingViewModel);

            return(new ObjectResult(findedWorkplaces));
        }