예제 #1
0
        public DetailedPlace TransformDetailedPlaceToPlace(DetailedGooglePlace dgp, Place place)
        {
            IPhotosService photo    = new GooglePhotosService();
            DetailedPlace  detPlace = new DetailedPlace()
            {
                Id          = dgp.PlaceId,
                Name        = dgp.Name,
                Categories  = dgp.Categories,
                Rating      = dgp.Rating,
                Location    = dgp.Geometry.Location.Latitude.ToString() + " " + dgp.Geometry.Location.Longitude.ToString(),
                Address     = place.Address,
                Icon        = place.Icon,
                OpenNow     = dgp.OpenHours?.OpenNow ?? false,
                PriceLevel  = place.PriceLevel,
                PriceString = place.PriceString,
                Reviews     = dgp.Reviews,
                PhoneNumber = dgp.PhoneNumber,
                WebSite     = dgp.WebSite,
                Photo       = photo.GetImageByReference(place.PhotoReference, "184", "400")
            };

            if (detPlace.Reviews != null)
            {
                detPlace.Author  = detPlace.Reviews.FirstOrDefault().ReviewAuthor;
                detPlace.Comment = detPlace.Reviews.FirstOrDefault().ReviewText;
            }
            return(detPlace);
        }
예제 #2
0
        public void Initialize(BasicWarehouse warehouse)
        {
            _warehouse = warehouse;
            try
            {
                _devices = _warehouse.ConveyorList.ConvertAll(n => n.Name);
                _devices.AddRange(_warehouse.CraneList.ConvertAll(n => n.Name));
                _devices.Sort();

                Refresh = new RelayCommand(async() => await ExecuteRefresh(), CanExecuteRefresh);
                Delete  = new RelayCommand(() => ExecuteDelete(), CanExecuteDelete);
                Create  = new RelayCommand(() => ExecuteCreate(), CanExecuteCreate);
                Move    = new RelayCommand(() => ExecuteMove(), CanExecuteMove);
                Change  = new RelayCommand(() => ExecuteChange(), CanExecuteChange);
                Cancel  = new RelayCommand(() => ExecuteCancel(), CanExecuteCancel);
                Confirm = new RelayCommand(() => ExecuteConfirm(), CanExecuteConfirm);
                SelectionChangedCommand = new RelayCommand <IList>(
                    items =>
                {
                    if (items == null)
                    {
                        NumberOfSelectedItems = 0;
                        return;
                    }

                    NumberOfSelectedItems = items.Count;
                });

                PlaceList = new ObservableCollection <MaterialViewModel>();

/*                foreach (var p in _warehouse.DBService.GetPlaces())
 *                  PlaceList.Add(new MaterialViewModel { Location = p.Place1, ID = p.Material });
 *              foreach (var mvm in PlaceList)
 *                  mvm.Initialize(_warehouse);
 */
                DetailedPlace.Initialize(_warehouse);
                Messenger.Default.Register <MessageAccessLevel>(this, (mc) => { AccessLevel = mc.AccessLevel; });
                Messenger.Default.Register <MessageViewChanged>(this, async vm => await ExecuteViewActivated(vm.ViewModel));
            }
            catch (Exception e)
            {
                _warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception, e.Message);
                throw new Exception(string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message));
            }
        }