Example #1
0
        public override void ViewWillAppear(bool animated)
        {
            base.ViewWillAppear(animated);
            // Prepare the picker such that it starts up faster.
            SIBarcodePicker.Prepare(appKey, SICameraFacingDirection.Back);
            using (var db = new SQLite.SQLiteConnection(_pathToDatabase))
            {
                people         = new List <Person> (from p in db.Table <Person> () select p);
                states         = new List <State> (from s in db.Table <State> () select s);
                terms          = new List <Terms> (from t in db.Table <Terms> () select t);
                privacyNotices = new List <PrivacyNotice> (from pr in db.Table <PrivacyNotice> () select pr);
            }

            if (people.Count > 0)
            {
                Person user = people.ElementAt(0);
                MainView.userId = user.ID;
                Console.WriteLine("El Id de usuario es: " + user.ID);
            }

            if (states.Count > 0)
            {
                State estado = states.ElementAt(0);
                MainView.localityId = estado.localityId;
                Console.WriteLine("El Id de localidad es: " + estado.localityId);
            }


            if (terms.Count < 1)
            {
                UIAlertView alert = new UIAlertView()
                {
                    Title = "Espera!", Message = "Para poder utilizar FixBuy primero debes aceptar los terminos y condiciones"
                };
                alert.AddButton("Aceptar");
                alert.Clicked += (s, o) => {
                    TermsView termsView = new TermsView();
                    NavigationController.PushViewController(termsView, true);
                };
                alert.Show();
                return;
            }

            if (privacyNotices.Count < 1)
            {
                UIAlertView alert = new UIAlertView()
                {
                    Title = "Espera!", Message = "Para poder utilizar FixBuy primero debes aceptar el aviso de privacidad"
                };
                alert.AddButton("Aceptar");
                alert.Clicked += (s, o) => {
                    PrivacyNoticeView privacyNoticeView = new PrivacyNoticeView();
                    NavigationController.PushViewController(privacyNoticeView, true);
                };
                alert.Show();
                return;
            }
        }
Example #2
0
        partial void scanButtonClicked(Foundation.NSObject sender)
        {
            // Setup the barcode scanner
            picker = new ScanditSDKRotatingBarcodePicker(appKey);
            picker.OverlayController.Delegate = new overlayControllerDelegate(picker, this);
            picker.OverlayController.ShowToolBar(true);
            picker.OverlayController.ShowSearchBar(true);

            PresentViewController(picker, true, null);

            picker.StartScanning();
        }
partial         void scanButtonClicked(Foundation.NSObject sender)
        {
            // Setup the barcode scanner
            picker = new ScanditSDKRotatingBarcodePicker (appKey);
            picker.OverlayController.Delegate = new overlayControllerDelegate(picker, this);
            picker.OverlayController.ShowToolBar(true);
            picker.OverlayController.ShowSearchBar(true);

            PresentViewController (picker, true, null);

            picker.StartScanning ();
        }
Example #4
0
        partial void scanButtonClicked(MonoTouch.Foundation.NSObject sender)
        {
            // Setup the barcode scanner
            picker = new ScanditSDKRotatingBarcodePicker(appKey);
            // Make sure that you create a class variable for the delegate to keep a reference to it
            // otherwise the garbage collector will collect it when low on memory.
            scanDelegate = new OverlayControllerDelegate(picker, this);
            picker.OverlayController.Delegate = scanDelegate;
            picker.OverlayController.ShowToolBar(true);
            picker.OverlayController.ShowSearchBar(true);

            PresentViewController(picker, true, null);

            picker.StartScanning();
        }
        void OpenScandit(object sender, EventArgs e)
        {
            if (!UIImagePickerController.IsSourceTypeAvailable(UIImagePickerControllerSourceType.Camera))
            {
                new UIAlertView("Hey!!", "It seems that you don't have any camera available...\nThat's so sad... :(", null, "Let me cry alone...", null).Show();
                return;
            }

            var        button = sender as UIBarButtonItem;
            KindOfScan kind   = (KindOfScan)button.Tag;

            var scanditPicker = new SIBarcodePicker(KeysAndTokens.ScanditApi.ScanditKey);

            scanditPicker.OverlayController.Delegate = new ScanditDelegate(this, kind);
            NavigationController.PushViewController(scanditPicker, true);
            scanditPicker.StartScanning();
        }
Example #6
0
 public ScanditSDKDemoViewController() : base("ScanditSDKDemoViewController", null)
 {
     if (appKey.Length != 43)
     {
         UIAlertView alert = new UIAlertView()
         {
             Title = "App key not set", Message = "Please set the app key in the ScanditSDKDemoViewController class."
         };
         alert.AddButton("OK");
         alert.Show();
     }
     else
     {
         // Prepare the picker such that it starts up faster.
         SIBarcodePicker.Prepare(appKey, SICameraFacingDirection.Back);
     }
 }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad ();

            picker = new ScanditSDK.SIBarcodePicker (appKey);
            picker.OverlayController.DidScanBarcode += (object sender, SIOverlayControllerDidScanEventArgs e) => {
                picker.StopScanning ();
                ProcessBarcode (convertToNumber(e.Barcode ["barcode"].ToString ().ToUpper()));
            };
            picker.OverlayController.DidManualSearch += (object sender, SIOverlayControllerDidManualSearchEventArgs e) => {
                ProcessBarcode (convertToNumber(e.Text.ToUpper()));
            };
            picker.OverlayController.ShowSearchBar (true);
            picker.OverlayController.SetSearchBarKeyboardType (UIKeyboardType.ASCIICapable);
            picker.OverlayController.setSearchBarActionButtonCaption ("Search");
            View.AddSubview (picker.View);

            Shared.Database db = new Shared.Database();
            db.Initialize();
            int campusID = db.getCampusID();

            classPicker = new UIPickerView ();
            List<Area> Classes = dl.getSecureAreas (campusID).ToList();
            classPicker.Model = new Shared.ClassPickerViewModel (Classes);
            View.AddSubview (classPicker);

            eventPicker = new UIPickerView ();
            List<Event> Events = dl.getUpcomingEvents (campusID).ToList ();
            eventPicker.Model = new Shared.EventPickerViewModel (Events);
            View.AddSubview (eventPicker);

            checkInOut = new UISegmentedControl ();
            checkInOut.InsertSegment ("Check IN", 0, true);
            checkInOut.InsertSegment ("Check OUT", 1, true);
            checkInOut.SelectedSegment = 0;
            View.AddSubview (checkInOut);

            note = new UILabel ();
            note.Text = "Select the class and event you are checking kids INTO or OUT of:";
            View.AddSubview (note);

            picker.StartScanning ();
            ConfigureSizing ();
        }
Example #8
0
 public MainView()
     : base(UserInterfaceIdiomIsPhone ? "MainView_iPhone" : "MainView_iPad", null)
 {
     Title = "FixBuy";
     if (appKey.Length != 43)
     {
         UIAlertView alert = new UIAlertView()
         {
             Title = "Llave de scanner invalida", Message = "Contacte al administrador de la aplicacion"
         };
         alert.AddButton("Aceptar");
         alert.Show();
     }
     else
     {
         // Prepare the picker such that it starts up faster.
         SIBarcodePicker.Prepare(appKey, SICameraFacingDirection.Back);
     }
 }
Example #9
0
        public System.Threading.Tasks.Task <ScanResult> ScanAsync()
        {
            UIViewController root = UIApplication.SharedApplication.KeyWindow.RootViewController;

            TaskCompletionSource <ScanResult> tcs = new TaskCompletionSource <ScanResult> ();

            var picker = new SIBarcodePicker(licenseKey);

            picker.OverlayController.ShowToolBar(true);
            picker.OverlayController.SetToolBarButtonCaption(cancelText);

            picker.OverlayController.Delegate = new PickerDelegate()
            {
                Picker     = picker,
                Completion = tcs
            };

            root.PresentViewController((UIViewController)picker, true, (Action)null);

            picker.StartScanning();

            return(tcs.Task);
        }
Example #10
0
        public override void Draw(CGRect rect)
        {
            base.Draw(rect);

            _picker = new SIBarcodePicker(appKey);

            _picker.OverlayController.DidScanBarcode += OverlayControllerOnDidScanBarcode;

            _picker.OverlayController.SetTorchEnabled(false);
            _picker.OverlayController.SetLogoOffset(60, -10, 60, -10);
            _picker.OverlayController.SetViewfinderSize(0.8f, 1.1f, 0.8f, 1.1f);
            _picker.OverlayController.DrawViewfinder(false);

            _picker.Size = new SizeF(
                (float)this.Bounds.Width,
                (float)this.Bounds.Height);
            _picker.View.Frame = this.Bounds;

            // custom view finder
            var viewFinderHeight = this.Bounds.Height - 20f;
            var viewFinder       = new UIView(new CGRect(
                                                  this.Bounds.Width / 2 - ViewFinderWidth / 2,
                                                  this.Bounds.Height / 2 - viewFinderHeight / 2,
                                                  ViewFinderWidth,
                                                  viewFinderHeight))
            {
                BackgroundColor = UIColor.Clear
            };

            viewFinder.Layer.BorderColor   = UIColor.White.CGColor;
            viewFinder.Layer.BorderWidth   = 2f;
            viewFinder.Layer.CornerRadius  = 10f;
            viewFinder.Layer.MasksToBounds = true;
            _picker.OverlayController.Add(viewFinder);

            Add(_picker.View);
        }
		public override void ViewDidLoad ()
		{
			base.ViewDidLoad ();
			try{

				UIBarButtonItem home = new UIBarButtonItem();
				home.Style = UIBarButtonItemStyle.Plain;
				home.Target = this;
				home.Image = UIImage.FromFile("Images/home.png");
				this.NavigationItem.RightBarButtonItem = home;
				UIViewController[] vistas = NavigationController.ViewControllers;
				home.Clicked += (sender, e) => NavigationController.PopToViewController (vistas [0], true);

				ProductsInListView.tableView = this.tblProducts;
				//Configuramos la vista popup de cantidad
				amountView.Layer.BorderWidth = 1.0f;
				amountView.Layer.BorderColor = UIColor.Black.CGColor;
				amountView.Layer.CornerRadius = 8;

				//Configuramos la vista popup de comparacion de listas
				CompareView.Layer.BorderWidth = 1.0f;
				CompareView.Layer.BorderColor = UIColor.Black.CGColor;
				CompareView.Layer.CornerRadius = 8;

				tblProducts.Add (amountView);
				this.amountView.Hidden = true;
				tblProducts.Add (CompareView);
				this.CompareView.Hidden = true;

				pls.setListId (ProductsInListView.list_id);
				tableItems = pls.All ();

				this.productImages.Clear();
				foreach (var v in tableItems){
					Images image = new Images{ imageUrl = v.imagen};
					this.productImages.Add(image);
				}

				if(UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone){
					tblProducts.TableHeaderView = this.FooterView;
					this.tblProducts.Source = new ProductsTableSourceIphone (tableItems, this);
				}else{
					this.tblProducts.Source = new ProductsTableSource (tableItems, this);
				}
				Add (tblProducts);

				this.btnComparar.TouchUpInside += (sender, e) => {
					try{
						if(tableItems.Count > 0){
							compareListService = new CompareListsService();
							compareListService.setListId(ProductsInListView.list_id);
							List<CompareListsService> tableItems2 = compareListService.All();
							if(tableItems2.Count > 0){
								storeImages.Clear();
								foreach (var v in tableItems2){
									Images image = new Images{ storeImageUrl = v.imagen};
									this.storeImages.Add(image);
								}
								if(UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone){
									this.tblCompare.Source = new CompareTableSourceIphone(tableItems2,this);
								}else{
									this.tblCompare.Source = new CompareTableSource(tableItems2,this);
								}
								tblCompare.TableHeaderView = this.headerView;
								CompareView.Add(tblCompare);
								this.tblCompare.ReloadData();
								CompareView.Hidden = false;
							}else{
								UIAlertView alerta = new UIAlertView () { 
									Title = "Lo sentimos =(", Message = "Los productos de tu lista no se encuentran en su totalidad en ninguna de nuestras tiendas."
								};
								alerta.AddButton ("Aceptar");
								alerta.Show ();
							}
						}else{
							UIAlertView alerta = new UIAlertView () { 
								Title = "Espera!", Message = "No tienes productos en esta lista, agrega productos para que puedas comparar entre tiendas =)"
							};
							alerta.AddButton ("Aceptar");
							alerta.Show ();
						}
					}catch(WebException){
						UIAlertView alerta = new UIAlertView () { 
							Title = "Ups :S", Message = "Algo salio mal, verifica tu conexión a internet e intentalo de nuevo."
						};
						alerta.AddButton ("Aceptar");
						alerta.Show ();
					}catch(Exception){
						UIAlertView alerta = new UIAlertView () { 
							Title = "Ups :S", Message = "Algo salio mal, por favor intentalo de nuevo."
						};
						alerta.AddButton ("Aceptar");
						alerta.Show ();
					}
				};

				this.btnCompararUno.TouchUpInside += (sender, e) => {
					try{
						if(tableItems.Count > 0){
							compareListService = new CompareListsService();
							compareListService.setUnoListId(ProductsInListView.list_id);
							List<CompareListsService> tableItems2 = compareListService.All();
							if(tableItems2.Count > 0){
								storeImages.Clear();
								foreach (var v in tableItems2){
									Images image = new Images{ storeImageUrl = v.imagen};
									this.storeImages.Add(image);
								}
								if(UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone){
									this.tblCompare.Source = new CompareTableSourceIphone(tableItems2,this);
								}else{
									this.tblCompare.Source = new CompareTableSource(tableItems2,this);
								}
								tblCompare.TableHeaderView = this.headerView;
								CompareView.Add(tblCompare);
								this.tblCompare.ReloadData();
								CompareView.Hidden = false;
							}else{
								UIAlertView alerta = new UIAlertView () { 
									Title = "Lo sentimos =(", Message = "Los productos de tu lista no se encuentran en su totalidad en ninguna de nuestras tiendas."
								};
								alerta.AddButton ("Aceptar");
								alerta.Show ();
							}
						}else{
							UIAlertView alerta = new UIAlertView () { 
								Title = "Espera!", Message = "No tienes productos en esta lista, agrega productos para que puedas comparar entre tiendas =)"
							};
							alerta.AddButton ("Aceptar");
							alerta.Show ();
						}
					}catch(System.Net.WebException){
						UIAlertView alerta = new UIAlertView () { 
							Title = "Ups :S", Message = "Algo salio mal, verifica tu conexión a internet e intentalo de nuevo."
						};
						alerta.AddButton ("Aceptar");
						alerta.Show ();
					}catch(Exception){
						UIAlertView alerta = new UIAlertView () { 
							Title = "Ups :S", Message = "Algo salio mal, por favor intentalo de nuevo."
						};
						alerta.AddButton ("Aceptar");
						alerta.Show ();
					}
				};

				this.btnCerrar.TouchUpInside += (sender, e) => {
					CompareView.Hidden = true;
				};

				this.btnScan.TouchUpInside += (sender, e) => {
					picker = new ScanditSDKRotatingBarcodePicker (MainView.appKey);
					picker.OverlayController.Delegate = new pickerControllerDelegate(picker, this);
					picker.OverlayController.ShowToolBar(true);
					picker.OverlayController.SetToolBarButtonCaption("Cancelar");
					picker.OverlayController.SetCameraSwitchVisibility(SICameraSwitchVisibility.OnTablet);
					picker.OverlayController.SetTextForInitializingCamera("Iniciando la camara");
					this.NavigationController.PushViewController(picker,true);

					picker.StartScanning ();

				};

				this.btnAceptar.TouchUpInside += (sender, e) => {
					try{
						AddProductFromBarcode apfb = new AddProductFromBarcode ();
						String respuesta = apfb.SetData ( ProductsInListView.barcode, ProductsInListView.list_id, cmpAmount.Text);
						Console.WriteLine (respuesta);
						if (respuesta.Equals ("\"El producto ya existe en esta lista\"")) {
							UIAlertView alert = new UIAlertView () { 
								Title = "Ups :S", Message = "Este producto ya se encuentra registrado en tu lista"
							};
							alert.AddButton ("Aceptar");
							alert.Show ();
						} else if (respuesta.Equals ("\"El producto no existe\"")) {
							UIAlertView alert = new UIAlertView () { 
								Title = "Ups :S", Message = "Este producto no esta registrado en fixbuy =("
							};
							alert.AddButton ("Aceptar");
							alert.Show ();
						} else {
							UIAlertView alert = new UIAlertView () { 
								Title = "Producto Agregado", Message = "El producto ha sido agregado a tu lista =D"
							};
							alert.AddButton("Aceptar");
							alert.Show ();
							pls.setListId (ProductsInListView.list_id);
							tableItems = pls.All ();
							if(UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone){
								this.tblProducts.Source = new ProductsTableSourceIphone (tableItems, this);
							}else{
								this.tblProducts.Source = new ProductsTableSource (tableItems, this);
							}
							tblProducts.ReloadData ();
							this.amountView.Hidden = true;
							pickerControllerDelegate.scanned = false;
						}
					}catch(System.Net.WebException){
						UIAlertView alerta = new UIAlertView () { 
							Title = "Ups :S", Message = "Algo salio mal, verifica tu conexión a internet e intentalo de nuevo."
						};
						alerta.AddButton ("Aceptar");
						alerta.Show ();
					}catch(Exception){
						UIAlertView alerta = new UIAlertView () { 
							Title = "Ups :S", Message = "Algo salio mal, por favor intentalo de nuevo."
						};
						alerta.AddButton ("Aceptar");
						alerta.Show ();
					}
				};

				this.btnCancelar.TouchUpInside += (sender, e) => {
					this.amountView.Hidden = true;
					pickerControllerDelegate.scanned = false;
				};

				int cantidad = 1;
				this.cmpAmount.Text = cantidad.ToString ();
				btnMas.TouchUpInside += (sender, e) => {
					cantidad ++;
					this.cmpAmount.Text = cantidad.ToString();
				};

				btnMenos.TouchUpInside += (sender, e) => {
					cantidad --;
					if(cantidad < 1){
						UIAlertView alert = new UIAlertView () { 
							Title = "Espera!", Message = "La cantidad minima es 1"
						};
						alert.AddButton("Aceptar");
						alert.Show();
						cantidad = 1;
						this.cmpAmount.Text = cantidad.ToString();
					}else{
						this.cmpAmount.Text = cantidad.ToString();
					}
				};
			}catch(System.Net.WebException){
				UIAlertView alert = new UIAlertView () { 
					Title = "Ups =S", Message = "Algo salio mal, verifica tu conexión a internet e intentalo de nuevo."
				};
				alert.AddButton("Aceptar");
				alert.Show();
			}catch(Exception ex){
				Console.WriteLine (ex.ToString ());
				UIAlertView alert = new UIAlertView () { 
					Title = "Ups =S", Message = "Algo salio mal, por favor intentalo de nuevo."
				};
				alert.AddButton("Aceptar");
				alert.Show();
			}
		}
		public pickerControllerDelegate(SIBarcodePicker picker, UIViewController presentingViewController) {
			this.picker = picker;
			this.presentingViewController = presentingViewController;
		}
Example #13
0
		public override void ViewDidLoad ()
		{
			base.ViewDidLoad ();
			this.Add (faceBookView);
			this.Add (facebookView2);

			iPhoneLocationManager = new CLLocationManager ();
			iPhoneLocationManager.DesiredAccuracy = CLLocation.AccuracyNearestTenMeters;
			iPhoneLocationManager.LocationsUpdated += (object sender, CLLocationsUpdatedEventArgs e) => {

			};
				
			iPhoneLocationManager.RequestAlwaysAuthorization ();
			if (CLLocationManager.LocationServicesEnabled) {
				iPhoneLocationManager.StartUpdatingLocation ();
			}
			#region observadores del teclado
			// Keyboard popup
			NSNotificationCenter.DefaultCenter.AddObserver
			(UIKeyboard.DidShowNotification,KeyBoardUpNotification);

			// Keyboard Down
			NSNotificationCenter.DefaultCenter.AddObserver
			(UIKeyboard.WillHideNotification,KeyBoardDownNotification);
			#endregion

			#region declaracion de vista de Facebook
			// Create the Facebook LogIn View with the needed Permissions
			// https://developers.facebook.com/ios/login-ui-control/
			loginView = new FBLoginView (ExtendedPermissions) {
				Frame = new CGRect (0,0,45, 45)
			};

			// Create view that will display user's profile picture
			// https://developers.facebook.com/ios/profilepicture-ui-control/

			pictureView = new FBProfilePictureView () {
				Frame = new CGRect (0, 0, 45, 45)
			};
			pictureView.UserInteractionEnabled = true;
			// Hook up to FetchedUserInfo event, so you know when
			// you have the user information available
			loginView.FetchedUserInfo += (sender, e) => {
				user = e.User;
				pictureView.ProfileID = user.GetId ();
				MainView.isWithFacebook = true;
				loginView.Alpha = 0.1f;
				pictureView.Hidden = false;
			};

			// Clean user Picture and label when Logged Out
			loginView.ShowingLoggedOutUser += (sender, e) => {
				pictureView.ProfileID = null;
				pictureView.Hidden = true;
				lblUserName.Text = string.Empty;
				loginView.Alpha = 1f;
				MainView.isWithFacebook = false;
			};
		
			this.faceBookView.Add(pictureView);
			this.faceBookView.Add(loginView);
			#endregion

			var documents = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
			_pathToDatabase = Path.Combine(documents, "db_sqlite-net.db");

			//Creamos la base de datos y la tabla de persona
			using (var conn= new SQLite.SQLiteConnection(_pathToDatabase))
			{
				conn.CreateTable<Person>();
				conn.CreateTable<State> ();
				conn.CreateTable<Terms> ();
				conn.CreateTable<PrivacyNotice> ();
			}

			using (var db = new SQLite.SQLiteConnection(_pathToDatabase ))
			{
				people = new List<Person> (from p in db.Table<Person> () select p);
				states = new List<State> (from s in db.Table<State> () select s);
				terms = new List<Terms> (from t in db.Table<Terms> ()select t);
				privacyNotices = new List<PrivacyNotice> (from pr in db.Table<PrivacyNotice> () select pr);
			}

			if(people.Count > 0){
				Person user = people.ElementAt(0);
				MainView.userId = user.ID;
				Console.WriteLine ("El Id de usuario es: "+ user.ID);
			}

			if(states.Count > 0){
				State estado = states.ElementAt(0);
				MainView.localityId = estado.localityId;
				Console.WriteLine ("El Id de localidad es: "+ estado.stateId);
			}
				
			//Boton para entrar al menu de la aplicacion.
			this.btnEntrar.TouchUpInside += (sender, e) => {
				scanView = new ScanView();
				this.NavigationController.PushViewController(scanView, true);
			};

			this.btnListas.TouchUpInside += (sender, e) => {
				using (var db = new SQLite.SQLiteConnection(_pathToDatabase ))
				{
					people = new List<Person> (from p in db.Table<Person> () select p);
				}
				if(people.Count > 0){
					MyListsView mylists = new MyListsView();
					this.NavigationController.PushViewController(mylists,true);
				}else{
					UIAlertView alert = new UIAlertView () { 
						Title = "Espera!", Message = "Debes iniciar sesion para acceder a tus listas"
					};
					alert.AddButton ("Aceptar");
					alert.Show ();
				}
			};

			//Boton para hacer busqueda por nombre de producto
			this.btnBuscar.TouchUpInside += (sender, e) => {
				if(this.cmpNombre.Text == ""){
					UIAlertView alert = new UIAlertView () { 
						Title = "Espera!", Message = "Debes ingresar el nombre del producto a buscar"
					};
					alert.AddButton ("Aceptar");
					alert.Show ();
				}
				else if (states.Count < 1){
					UIAlertView alert = new UIAlertView () { 
						Title = "Espera!", Message = "Debes seleccionar tu ubicacion antes de comenzar a usar FixBuy, por favor ingresa " +
							"Al menu de opciones para establecerla"
					};
					alert.AddButton ("Aceptar");
					alert.Clicked += (s, o) => {
						StatesView statesView = new StatesView();
						this.NavigationController.PushViewController(statesView, true);
					};
					alert.Show ();
				}
				else{
					this._loadPop = new LoadingOverlay (UIScreen.MainScreen.Bounds);
					this.View.Add ( this._loadPop );
					this.cmpNombre.ResignFirstResponder();
					Task.Factory.StartNew (
						() => {
							System.Threading.Thread.Sleep ( 1 * 1000 );
						}
					).ContinueWith ( 
						t => {
							nsr = new NameSearchResultView();
							nsr.setProductName(this.cmpNombre.Text.Trim());
							this.NavigationController.PushViewController(nsr,true);
							this._loadPop.Hide ();
						}, TaskScheduler.FromCurrentSynchronizationContext()
					);
				}
			};

			this.cmpNombre.ShouldReturn += (textField) => {
				if(this.cmpNombre.Text == ""){
					UIAlertView alert = new UIAlertView () { 
						Title = "Espera!", Message = "Debes ingresar el nombre del producto a buscar"
					};
					alert.AddButton ("Aceptar");
					alert.Show ();
				}
				else if (states.Count < 1){
					UIAlertView alert = new UIAlertView () { 
						Title = "Espera!", Message = "Debes seleccionar tu ubicacion antes de comenzar a usar FixBuy, por favor ingresa " +
							"Al menu de opciones para establecerla"
					};
					alert.AddButton ("Aceptar");
					alert.Clicked += (s, o) => {
						StatesView statesView = new StatesView();
						this.NavigationController.PushViewController(statesView, true);
					};
					alert.Show ();
				}
				else{
					this._loadPop = new LoadingOverlay (UIScreen.MainScreen.Bounds);
					this.View.Add ( this._loadPop );
					this.cmpNombre.ResignFirstResponder();
					Task.Factory.StartNew (
						() => {
							System.Threading.Thread.Sleep ( 1 * 1000 );
						}
					).ContinueWith ( 
						t => {
							nsr = new NameSearchResultView();
							nsr.setProductName(this.cmpNombre.Text.Trim());
							this.NavigationController.PushViewController(nsr,true);
							this._loadPop.Hide ();
						}, TaskScheduler.FromCurrentSynchronizationContext()
					);
				} 
				return true; 
			};

			//Boton para iniciar el escaner de codigo de barras
			this.btnCodigo.TouchUpInside += (sender, e) => {
				if(states.Count > 0){
					// Configurar el escaner de codigo de barras.
					picker = new ScanditSDKRotatingBarcodePicker (appKey);
					picker.OverlayController.Delegate = new overlayControllerDelegate(picker, this);
					picker.OverlayController.ShowToolBar(true);
					picker.OverlayController.ShowSearchBar(true);
					picker.OverlayController.SetToolBarButtonCaption("Cancelar");
					picker.OverlayController.SetSearchBarKeyboardType(UIKeyboardType.Default);
					picker.OverlayController.SetSearchBarPlaceholderText("Búsqueda por nombre de producto");
					picker.OverlayController.SetCameraSwitchVisibility(SICameraSwitchVisibility.OnTablet);
					picker.OverlayController.SetTextForInitializingCamera("Iniciando la camara");
					this.PresentViewController (picker, true, null);
					picker.StartScanning ();
				}else{
					UIAlertView alert = new UIAlertView () { 
						Title = "Espera!", Message = "Debes seleccionar tu ubicacion antes de comenzar a usar FixBuy, por favor ingresa " +
							"Al menu de opciones para establecerla"
					};
					alert.AddButton ("Aceptar");
					alert.Clicked += (s, o) => {
						StatesView statesView = new StatesView();
						this.NavigationController.PushViewController(statesView, true);
					};
					alert.Show ();
				}
			};
		}
Example #14
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            this.Add(faceBookView);
            this.Add(facebookView2);

            iPhoneLocationManager = new CLLocationManager();
            iPhoneLocationManager.DesiredAccuracy   = CLLocation.AccuracyNearestTenMeters;
            iPhoneLocationManager.LocationsUpdated += (object sender, CLLocationsUpdatedEventArgs e) => {
            };

            iPhoneLocationManager.RequestAlwaysAuthorization();
            if (CLLocationManager.LocationServicesEnabled)
            {
                iPhoneLocationManager.StartUpdatingLocation();
            }
            #region observadores del teclado
            // Keyboard popup
            NSNotificationCenter.DefaultCenter.AddObserver
                (UIKeyboard.DidShowNotification, KeyBoardUpNotification);

            // Keyboard Down
            NSNotificationCenter.DefaultCenter.AddObserver
                (UIKeyboard.WillHideNotification, KeyBoardDownNotification);
            #endregion

            #region declaracion de vista de Facebook
            // Create the Facebook LogIn View with the needed Permissions
            // https://developers.facebook.com/ios/login-ui-control/
            loginView = new FBLoginView(ExtendedPermissions)
            {
                Frame = new CGRect(0, 0, 45, 45)
            };

            // Create view that will display user's profile picture
            // https://developers.facebook.com/ios/profilepicture-ui-control/

            pictureView = new FBProfilePictureView()
            {
                Frame = new CGRect(0, 0, 45, 45)
            };
            pictureView.UserInteractionEnabled = true;
            // Hook up to FetchedUserInfo event, so you know when
            // you have the user information available
            loginView.FetchedUserInfo += (sender, e) => {
                user = e.User;
                pictureView.ProfileID   = user.GetId();
                MainView.isWithFacebook = true;
                loginView.Alpha         = 0.1f;
                pictureView.Hidden      = false;
            };

            // Clean user Picture and label when Logged Out
            loginView.ShowingLoggedOutUser += (sender, e) => {
                pictureView.ProfileID   = null;
                pictureView.Hidden      = true;
                lblUserName.Text        = string.Empty;
                loginView.Alpha         = 1f;
                MainView.isWithFacebook = false;
            };

            this.faceBookView.Add(pictureView);
            this.faceBookView.Add(loginView);
            #endregion

            var documents = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
            _pathToDatabase = Path.Combine(documents, "db_sqlite-net.db");

            //Creamos la base de datos y la tabla de persona
            using (var conn = new SQLite.SQLiteConnection(_pathToDatabase))
            {
                conn.CreateTable <Person>();
                conn.CreateTable <State> ();
                conn.CreateTable <Terms> ();
                conn.CreateTable <PrivacyNotice> ();
            }

            using (var db = new SQLite.SQLiteConnection(_pathToDatabase))
            {
                people         = new List <Person> (from p in db.Table <Person> () select p);
                states         = new List <State> (from s in db.Table <State> () select s);
                terms          = new List <Terms> (from t in db.Table <Terms> () select t);
                privacyNotices = new List <PrivacyNotice> (from pr in db.Table <PrivacyNotice> () select pr);
            }

            if (people.Count > 0)
            {
                Person user = people.ElementAt(0);
                MainView.userId = user.ID;
                Console.WriteLine("El Id de usuario es: " + user.ID);
            }

            if (states.Count > 0)
            {
                State estado = states.ElementAt(0);
                MainView.localityId = estado.localityId;
                Console.WriteLine("El Id de localidad es: " + estado.stateId);
            }

            //Boton para entrar al menu de la aplicacion.
            this.btnEntrar.TouchUpInside += (sender, e) => {
                scanView = new ScanView();
                this.NavigationController.PushViewController(scanView, true);
            };

            this.btnListas.TouchUpInside += (sender, e) => {
                using (var db = new SQLite.SQLiteConnection(_pathToDatabase))
                {
                    people = new List <Person> (from p in db.Table <Person> () select p);
                }
                if (people.Count > 0)
                {
                    MyListsView mylists = new MyListsView();
                    this.NavigationController.PushViewController(mylists, true);
                }
                else
                {
                    UIAlertView alert = new UIAlertView()
                    {
                        Title = "Espera!", Message = "Debes iniciar sesion para acceder a tus listas"
                    };
                    alert.AddButton("Aceptar");
                    alert.Show();
                }
            };

            //Boton para hacer busqueda por nombre de producto
            this.btnBuscar.TouchUpInside += (sender, e) => {
                if (this.cmpNombre.Text == "")
                {
                    UIAlertView alert = new UIAlertView()
                    {
                        Title = "Espera!", Message = "Debes ingresar el nombre del producto a buscar"
                    };
                    alert.AddButton("Aceptar");
                    alert.Show();
                }
                else if (states.Count < 1)
                {
                    UIAlertView alert = new UIAlertView()
                    {
                        Title = "Espera!", Message = "Debes seleccionar tu ubicacion antes de comenzar a usar FixBuy, por favor ingresa " +
                                                     "Al menu de opciones para establecerla"
                    };
                    alert.AddButton("Aceptar");
                    alert.Clicked += (s, o) => {
                        StatesView statesView = new StatesView();
                        this.NavigationController.PushViewController(statesView, true);
                    };
                    alert.Show();
                }
                else
                {
                    this._loadPop = new LoadingOverlay(UIScreen.MainScreen.Bounds);
                    this.View.Add(this._loadPop);
                    this.cmpNombre.ResignFirstResponder();
                    Task.Factory.StartNew(
                        () => {
                        System.Threading.Thread.Sleep(1 * 1000);
                    }
                        ).ContinueWith(
                        t => {
                        nsr = new NameSearchResultView();
                        nsr.setProductName(this.cmpNombre.Text.Trim());
                        this.NavigationController.PushViewController(nsr, true);
                        this._loadPop.Hide();
                    }, TaskScheduler.FromCurrentSynchronizationContext()
                        );
                }
            };

            this.cmpNombre.ShouldReturn += (textField) => {
                if (this.cmpNombre.Text == "")
                {
                    UIAlertView alert = new UIAlertView()
                    {
                        Title = "Espera!", Message = "Debes ingresar el nombre del producto a buscar"
                    };
                    alert.AddButton("Aceptar");
                    alert.Show();
                }
                else if (states.Count < 1)
                {
                    UIAlertView alert = new UIAlertView()
                    {
                        Title = "Espera!", Message = "Debes seleccionar tu ubicacion antes de comenzar a usar FixBuy, por favor ingresa " +
                                                     "Al menu de opciones para establecerla"
                    };
                    alert.AddButton("Aceptar");
                    alert.Clicked += (s, o) => {
                        StatesView statesView = new StatesView();
                        this.NavigationController.PushViewController(statesView, true);
                    };
                    alert.Show();
                }
                else
                {
                    this._loadPop = new LoadingOverlay(UIScreen.MainScreen.Bounds);
                    this.View.Add(this._loadPop);
                    this.cmpNombre.ResignFirstResponder();
                    Task.Factory.StartNew(
                        () => {
                        System.Threading.Thread.Sleep(1 * 1000);
                    }
                        ).ContinueWith(
                        t => {
                        nsr = new NameSearchResultView();
                        nsr.setProductName(this.cmpNombre.Text.Trim());
                        this.NavigationController.PushViewController(nsr, true);
                        this._loadPop.Hide();
                    }, TaskScheduler.FromCurrentSynchronizationContext()
                        );
                }
                return(true);
            };

            //Boton para iniciar el escaner de codigo de barras
            this.btnCodigo.TouchUpInside += (sender, e) => {
                if (states.Count > 0)
                {
                    // Configurar el escaner de codigo de barras.
                    picker = new ScanditSDKRotatingBarcodePicker(appKey);
                    picker.OverlayController.Delegate = new overlayControllerDelegate(picker, this);
                    picker.OverlayController.ShowToolBar(true);
                    picker.OverlayController.ShowSearchBar(true);
                    picker.OverlayController.SetToolBarButtonCaption("Cancelar");
                    picker.OverlayController.SetSearchBarKeyboardType(UIKeyboardType.Default);
                    picker.OverlayController.SetSearchBarPlaceholderText("Búsqueda por nombre de producto");
                    picker.OverlayController.SetCameraSwitchVisibility(SICameraSwitchVisibility.OnTablet);
                    picker.OverlayController.SetTextForInitializingCamera("Iniciando la camara");
                    this.PresentViewController(picker, true, null);
                    picker.StartScanning();
                }
                else
                {
                    UIAlertView alert = new UIAlertView()
                    {
                        Title = "Espera!", Message = "Debes seleccionar tu ubicacion antes de comenzar a usar FixBuy, por favor ingresa " +
                                                     "Al menu de opciones para establecerla"
                    };
                    alert.AddButton("Aceptar");
                    alert.Clicked += (s, o) => {
                        StatesView statesView = new StatesView();
                        this.NavigationController.PushViewController(statesView, true);
                    };
                    alert.Show();
                }
            };
        }
Example #15
0
 public overlayControllerDelegate(SIBarcodePicker picker, UIViewController presentingViewController)
 {
     this.picker = picker;
     this.presentingViewController = presentingViewController;
 }
		protected async override void OnElementChanged (VisualElementChangedEventArgs e)
		{
			base.OnElementChanged (e);

			var view = NativeView;
			var viewController = ViewController;

			// Get the device's display for width and height.
			RectangleF screen = UIScreen.MainScreen.Bounds;

			// create top label - "Scan QR code to swap contact info"
			var topLabel = new UILabel (new RectangleF (
				0, 
				0, 
				screen.Width, 
				30)
			);
			topLabel.Text = "Scan QR code to swap contact info";
			topLabel.TextAlignment = UITextAlignment.Center;
			topLabel.TextColor = UIColor.FromRGB (38, 173, 230);
			topLabel.Font = UIFont.FromName (Fonts.OpenSansBold, 12);

			view.Add (topLabel);

			// create the QR code scanner & add to view
			SIBarcodePicker scanner = new SIBarcodePicker ("EeQ6GjLtEeSWsF/zcFfsWC8RqIt/+skbdZJ/MWpLIR8");

			var scannerDelegate = new QrCodeScannerDelegate () { qrScanner = scanner };
			scanner.OverlayController.Delegate = scannerDelegate;

			// disable all codes except QR for scanning
			scanner.Set1DScanningEnabled (false);
			scanner.Set2DScanningEnabled (false);
			scanner.SetCode128Enabled (false);
			scanner.SetCode39Enabled (false);
			scanner.SetCode93Enabled (false);
			scanner.SetDataMatrixEnabled (false);
			scanner.SetEan13AndUpc12Enabled (false);
			scanner.SetEan8Enabled (false);
			scanner.SetItfEnabled (false);
			scanner.SetMicroDataMatrixEnabled (false);
			scanner.SetUpceEnabled (false);
			/* - * - * - * - * - * - * - */
			scanner.SetQrEnabled (true);
			/* - * - * - * - * - * - * - */

			// Set the scanner size 
			scanner.Size = new SizeF(
				screen.Size.Width, 
				screen.Size.Height * 0.45f
			);
			scanner.View.Bounds = new RectangleF(
				0, 
				topLabel.Frame.Height, 
				screen.Size.Width, 
				screen.Size.Height * 0.45f
			);
			scanner.View.Frame = new RectangleF(
				0, 
				topLabel.Frame.Height, 
				screen.Size.Width, 
				screen.Size.Height * 0.45f
			);

			scanner.OverlayController.SetViewfinderSize (0.5f, 0.5f, 0.5f, 0.5f);
			scanner.OverlayController.SetTorchEnabled (false);

			view.Add (scanner.View);
			scanner.StartScanning ();

			/* Creating the lower label - "Share your contact info" */
			var lowerLabel = new UILabel (new RectangleF (
				0, 
				(scanner.View.Frame.Location.Y + scanner.View.Frame.Height), 
				screen.Width, 
				20)
			);
			lowerLabel.Text = "Share your contact info";
			lowerLabel.TextAlignment = UITextAlignment.Center;
			lowerLabel.TextColor = UIColor.FromRGB (38, 173, 230);
			lowerLabel.Font = UIFont.FromName (Fonts.OpenSansBold, 12);

			view.Add (lowerLabel);
			/* * * * * * * * * * * * * * * * * * * * * * * * * * * */

			/* Generating QR code  */
			var qrWidthHeight = 0;

			if (screen.Height == 480)	// iPhone 4 & 4S -- shorter screens
				qrWidthHeight = 150;
			else 						// iPhone 5, 5C, & 5S -- longer screens
				qrWidthHeight = 175;

			IBarcodeWriter barcodeWriter = new BarcodeWriter 
			{ 
				Format = BarcodeFormat.QR_CODE,
				Options = new ZXing.Common.EncodingOptions
				{
					Width = qrWidthHeight,
					Height = qrWidthHeight
				}
			};


			// TODO: temp code - move to view model
			var service = TinyIoC.TinyIoCContainer.Current.Resolve<CouchbaseConnect2014.Services.ICouchbaseService> ();
			var contactId = service.GetUserId ();
			var repo = TinyIoC.TinyIoCContainer.Current.Resolve<CouchbaseConnect2014.Services.IRepository> ();
			var localUser = await repo.GetProfile ();
			// end of temp code

			var qrContent = string.Format ("{0},{1},{2}", contactId, localUser.First, localUser.Last);

			var result = barcodeWriter.Write (qrContent);

			var qrImageView = new UIImageView (new RectangleF (
				0, 
				(lowerLabel.Frame.Location.Y + lowerLabel.Frame.Height), 
				result.Size.Width, 
				result.Size.Height
			));
			qrImageView.Image = result;
			qrImageView.Center = new PointF (
				view.Center.X, 
				qrImageView.Center.Y
			);
			/* - * - * - * - * - * - * - */

			view.Add (qrImageView);
		}
Example #17
0
        protected async override void OnElementChanged(VisualElementChangedEventArgs e)
        {
            base.OnElementChanged(e);

            var view           = NativeView;
            var viewController = ViewController;

            // Get the device's display for width and height.
            RectangleF screen = UIScreen.MainScreen.Bounds;

            // create top label - "Scan QR code to swap contact info"
            var topLabel = new UILabel(new RectangleF(
                                           0,
                                           0,
                                           screen.Width,
                                           30)
                                       );

            topLabel.Text          = "Scan QR code to swap contact info";
            topLabel.TextAlignment = UITextAlignment.Center;
            topLabel.TextColor     = UIColor.FromRGB(38, 173, 230);
            topLabel.Font          = UIFont.FromName(Fonts.OpenSansBold, 12);

            view.Add(topLabel);

            // create the QR code scanner & add to view
            SIBarcodePicker scanner = new SIBarcodePicker("EeQ6GjLtEeSWsF/zcFfsWC8RqIt/+skbdZJ/MWpLIR8");

            var scannerDelegate = new QrCodeScannerDelegate()
            {
                qrScanner = scanner
            };

            scanner.OverlayController.Delegate = scannerDelegate;

            // disable all codes except QR for scanning
            scanner.Set1DScanningEnabled(false);
            scanner.Set2DScanningEnabled(false);
            scanner.SetCode128Enabled(false);
            scanner.SetCode39Enabled(false);
            scanner.SetCode93Enabled(false);
            scanner.SetDataMatrixEnabled(false);
            scanner.SetEan13AndUpc12Enabled(false);
            scanner.SetEan8Enabled(false);
            scanner.SetItfEnabled(false);
            scanner.SetMicroDataMatrixEnabled(false);
            scanner.SetUpceEnabled(false);
            /* - * - * - * - * - * - * - */
            scanner.SetQrEnabled(true);
            /* - * - * - * - * - * - * - */

            // Set the scanner size
            scanner.Size = new SizeF(
                screen.Size.Width,
                screen.Size.Height * 0.45f
                );
            scanner.View.Bounds = new RectangleF(
                0,
                topLabel.Frame.Height,
                screen.Size.Width,
                screen.Size.Height * 0.45f
                );
            scanner.View.Frame = new RectangleF(
                0,
                topLabel.Frame.Height,
                screen.Size.Width,
                screen.Size.Height * 0.45f
                );

            scanner.OverlayController.SetViewfinderSize(0.5f, 0.5f, 0.5f, 0.5f);
            scanner.OverlayController.SetTorchEnabled(false);

            view.Add(scanner.View);
            scanner.StartScanning();

            /* Creating the lower label - "Share your contact info" */
            var lowerLabel = new UILabel(new RectangleF(
                                             0,
                                             (scanner.View.Frame.Location.Y + scanner.View.Frame.Height),
                                             screen.Width,
                                             20)
                                         );

            lowerLabel.Text          = "Share your contact info";
            lowerLabel.TextAlignment = UITextAlignment.Center;
            lowerLabel.TextColor     = UIColor.FromRGB(38, 173, 230);
            lowerLabel.Font          = UIFont.FromName(Fonts.OpenSansBold, 12);

            view.Add(lowerLabel);
            /* * * * * * * * * * * * * * * * * * * * * * * * * * * */

            /* Generating QR code  */
            var qrWidthHeight = 0;

            if (screen.Height == 480)                   // iPhone 4 & 4S -- shorter screens
            {
                qrWidthHeight = 150;
            }
            else                                                        // iPhone 5, 5C, & 5S -- longer screens
            {
                qrWidthHeight = 175;
            }

            IBarcodeWriter barcodeWriter = new BarcodeWriter
            {
                Format  = BarcodeFormat.QR_CODE,
                Options = new ZXing.Common.EncodingOptions
                {
                    Width  = qrWidthHeight,
                    Height = qrWidthHeight
                }
            };


            // TODO: temp code - move to view model
            var service   = TinyIoC.TinyIoCContainer.Current.Resolve <CouchbaseConnect2014.Services.ICouchbaseService> ();
            var contactId = service.GetUserId();
            var repo      = TinyIoC.TinyIoCContainer.Current.Resolve <CouchbaseConnect2014.Services.IRepository> ();
            var localUser = await repo.GetProfile();

            // end of temp code

            var qrContent = string.Format("{0},{1},{2}", contactId, localUser.First, localUser.Last);

            var result = barcodeWriter.Write(qrContent);

            var qrImageView = new UIImageView(new RectangleF(
                                                  0,
                                                  (lowerLabel.Frame.Location.Y + lowerLabel.Frame.Height),
                                                  result.Size.Width,
                                                  result.Size.Height
                                                  ));

            qrImageView.Image  = result;
            qrImageView.Center = new PointF(
                view.Center.X,
                qrImageView.Center.Y
                );
            /* - * - * - * - * - * - * - */

            view.Add(qrImageView);
        }
Example #18
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            this.Title = "Menú";


            //Ocultamos el boton de tiendas registradas temporalmente
            //btnTiendas.Hidden = true;
            //btnInfo2.Hidden = true;

            var documents = Environment.GetFolderPath(Environment.SpecialFolder.Personal);

            _pathToDatabase = Path.Combine(documents, "db_sqlite-net.db");

            //Creamos la base de datos y la tabla de persona, en caso de que ya exista no hace nada.
            using (var conn = new SQLite.SQLiteConnection(_pathToDatabase))
            {
                conn.CreateTable <Person>();
            }

            //Hacemos la conexion a la bd para buscar si hay un usuario registrado
            using (var db = new SQLite.SQLiteConnection(_pathToDatabase))
            {
                people = new List <Person> (from p in db.Table <Person> () select p);
            }

            //Establecemos las imagenes de los botones
            setButtonImages();

            //Eventos para los botones de informacion
            this.btnInfo1.TouchUpInside += (sender, e) => {
                ToastView view = new ToastView("Busca productos por código de barras o nombre", 3000);
                view.SetGravity(ToastGravity.Center, 0, 0);
                view.Show();
            };

            this.btnInfo2.TouchUpInside += (sender, e) => {
                ToastView view = new ToastView("Localiza todas las tiendas registradas en FIXBUY", 3000);
                view.SetGravity(ToastGravity.Center, 0, 0);
                view.Show();
            };

            this.btnInfo3.TouchUpInside += (sender, e) => {
                ToastView view = new ToastView("Administra tus listas y los productos en ellas", 3000);
                view.SetGravity(ToastGravity.Center, 0, 0);
                view.Show();
            };

            this.btnInfo4.TouchUpInside += (sender, e) => {
                ToastView view = new ToastView("Inicia Sesion en FIXBUY para poder acceder a tus listas y más!", 3000);
                view.SetGravity(ToastGravity.Center, 0, 0);
                view.Show();
            };

            this.btnInfo5.TouchUpInside += (sender, e) => {
                ToastView view = new ToastView("Establece tu ubicación para una busqueda mas eficaz!", 3000);
                view.SetGravity(ToastGravity.Center, 0, 0);
                view.Show();
            };

            this.btnInfo6.TouchUpInside += (sender, e) => {
                ToastView view = new ToastView("Consulta los servicios que ofrece FIXBUY", 3000);
                view.SetGravity(ToastGravity.Center, 0, 0);
                view.Show();
            };

            this.btnCerrarSesion.TouchUpInside += (sender, e) => {
                UIAlertView alert = new UIAlertView()
                {
                    Title = "Te vas? =(", Message = "Estas seguro que quieres cerrar la sesión?"
                };
                alert.AddButton("Aceptar");
                alert.AddButton("Cancelar");
                alert.Clicked += (s, o) => {
                    if (o.ButtonIndex == 0)
                    {
                        using (var conn = new SQLite.SQLiteConnection(_pathToDatabase))
                        {
                            conn.DropTable <Person>();
                            conn.CreateTable <Person>();
                        }
                        this.NavigationController.PopViewController(true);
                    }
                };
                alert.Show();
            };

            //Boton de buscar productos
            this.btnScan.TouchUpInside += (sender, e) => {
                // Configurar el escaner de codigo de barras.
                picker = new ScanditSDKRotatingBarcodePicker(MainView.appKey);
                picker.OverlayController.Delegate = new overlayControllerDelegate(picker, this);
                picker.OverlayController.ShowToolBar(true);
                picker.OverlayController.ShowSearchBar(true);
                picker.OverlayController.SetToolBarButtonCaption("Cancelar");
                picker.OverlayController.SetSearchBarKeyboardType(UIKeyboardType.Default);
                picker.OverlayController.SetSearchBarPlaceholderText("Búsqueda por nombre de producto");
                picker.OverlayController.SetCameraSwitchVisibility(SICameraSwitchVisibility.OnTablet);
                picker.OverlayController.SetTextForInitializingCamera("Iniciando la camara");
                this.PresentViewController(picker, true, null);

                picker.StartScanning();
            };

            //Boton de tiendas Registradas
            this.btnTiendas.TouchUpInside += (sender, e) => {
                this._loadPop = new LoadingOverlay(UIScreen.MainScreen.Bounds);
                this.Add(this._loadPop);
                mvp = new MapViewController();
                Task.Factory.StartNew(
                    () => {
                    System.Threading.Thread.Sleep(1 * 1000);
                }
                    ).ContinueWith(
                    t => {
                    this._loadPop.Hide();
                    this.NavigationController.PushViewController(mvp, true);
                }, TaskScheduler.FromCurrentSynchronizationContext()
                    );
            };

            //Boton Mis listas
            this.btnListas.TouchUpInside += (sender, e) => {
                if (people.Count == 1)
                {
                    MyListsView myLists = new MyListsView();
                    this.NavigationController.PushViewController(myLists, true);
                }
                else
                {
                    UIAlertView alert = new UIAlertView()
                    {
                        Title = "Espera!", Message = "Debes iniciar sesión para acceder a tus listas"
                    };
                    alert.AddButton("Aceptar");
                    alert.Show();
                }
            };

            //Boton Iniciar Sesion
            this.btnSesion.TouchUpInside += (sender, e) => {
                if (people.Count == 1)
                {
                    UIAlertView alert = new UIAlertView()
                    {
                        Title = "Espera!", Message = "Ya has iniciado sesión"
                    };
                    alert.AddButton("Aceptar");
                    alert.Show();
                }
                else
                {
                    LoginView login = new LoginView();
                    this.NavigationController.PushViewController(login, true);
                }
            };

            //Boton Novedades
            this.btnNovedades.TouchUpInside += (sender, e) => {
                StatesView statesView = new StatesView();
                this.NavigationController.PushViewController(statesView, true);
            };

            //Boton Nuestros Servicios
            this.btnServicios.TouchUpInside += (sender, e) => {
                AboutUsView aboutUS = new AboutUsView();
                this.NavigationController.PushViewController(aboutUS, true);
            };

            // creacion de la barra de herramientas
            float toolbarHeight = 44;

            toolbar = new UIToolbar(new CGRect(0
                                               , this.View.Frame.Height - this.NavigationController.NavigationBar.Frame.Height
                                               , this.View.Frame.Width, toolbarHeight));
            toolbar.AutoresizingMask = UIViewAutoresizing.FlexibleTopMargin | UIViewAutoresizing.FlexibleWidth;
            toolbar.TintColor        = UIColor.FromRGB(7, 129, 181);

            // boton acerca de
            UIBarButtonItem btnacercaDe = new UIBarButtonItem(UIBarButtonSystemItem.Bookmarks);

            btnacercaDe.Clicked += (s, e) => {
                UIAlertView alert = new UIAlertView()
                {
                    Title = "Que deseas consultar? "
                };
                alert.AddButton("Terminos y Condiciones");
                alert.AddButton("Aviso de Privacidad");
                alert.Clicked += (sen, o) => {
                    if (o.ButtonIndex == 0)
                    {
                        TermsView termsView = new TermsView();
                        NavigationController.PushViewController(termsView, true);
                    }
                    else
                    {
                        PrivacyNoticeView privacyNoticeView = new PrivacyNoticeView();
                        NavigationController.PushViewController(privacyNoticeView, true);
                    }
                };
                alert.Show();
            };
            // fixed width
            //UIBarButtonItem fixedWidth = new UIBarButtonItem (UIBarButtonSystemItem.FixedSpace);
            //fixedWidth.Width = 35;

            // flexible width space
            UIBarButtonItem flexibleWidth1 = new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace);

            // boton fixBuy
            UIBarButtonItem btnFixBuy = new UIBarButtonItem(UIBarButtonSystemItem.Search);

            btnFixBuy.Clicked += (s, e) => {
                NSUrl url = new NSUrl(@"http://fixbuy.mx");
                UIApplication.SharedApplication.OpenUrl(url);
            };

            // flexible width space
            UIBarButtonItem flexibleWidth2 = new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace);

            // boton email
            UIBarButtonItem btnEmail = new UIBarButtonItem(UIBarButtonSystemItem.Compose);

            btnEmail.Clicked += (s, e) => {
                //Añadimos las configuraciones para la vista de email
                mailController = new MFMailComposeViewController();
                mailController.SetToRecipients(new string[] { "*****@*****.**" });
                mailController.SetSubject("Contacto");
                mailController.SetMessageBody("", false);
                mailController.Finished += (object o, MFComposeResultEventArgs args) => {
                    Console.WriteLine(args.Result.ToString());
                    args.Controller.DismissViewController(true, null);
                };

                this.PresentViewController(mailController, true, null);
            };

            // arreglo de botones para toolbar
            UIBarButtonItem[] items = new UIBarButtonItem[] {
                btnacercaDe, flexibleWidth1, btnFixBuy, flexibleWidth2, btnEmail
            };

            // agregar los botones a la toolbar
            toolbar.SetItems(items, false);

            // agregar la vista a la pantalla
            this.View.AddSubview(toolbar);
            try{
                //Leemos el servicio de los banners
                this.bannersService = new BannersService();
                banners             = bannersService.All();
            } catch (System.Net.WebException) {
                UIAlertView alert = new UIAlertView()
                {
                    Title = "UPS :S", Message = "Hubo un error al conectarse a internet la seccion de banners no puede mostrarse, por favor verifica tu conexión a internet"
                };
                alert.AddButton("Aceptar");
                alert.Show();
            }

            button = new UIButton(new CGRect(0, 0, bannerImage.Bounds.Width, bannerImage.Bounds.Height));
            bannerImage.Add(button);
            button.TouchUpInside += (sender, e) => {
                try{
                    if (bannerError == false)
                    {
                        if (element.imagen != "")
                        {
                            NSUrl url = new NSUrl(element.link);
                            UIApplication.SharedApplication.OpenUrl(url);
                        }
                    }
                }catch (Exception) {
                    //solo atrapamos la excepcion, no hacemos nada
                }
            };
        }
Example #19
0
		public override void ViewDidLoad ()
		{
			base.ViewDidLoad ();

			this.Title = "Menú";


			//Ocultamos el boton de tiendas registradas temporalmente
			//btnTiendas.Hidden = true;
			//btnInfo2.Hidden = true;

			var documents = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
			_pathToDatabase = Path.Combine(documents, "db_sqlite-net.db");

			//Creamos la base de datos y la tabla de persona, en caso de que ya exista no hace nada.
			using (var conn= new SQLite.SQLiteConnection(_pathToDatabase))
			{
				conn.CreateTable<Person>();
			}

			//Hacemos la conexion a la bd para buscar si hay un usuario registrado
			using (var db = new SQLite.SQLiteConnection(_pathToDatabase ))
			{
				people = new List<Person> (from p in db.Table<Person> () select p);
			}

			//Establecemos las imagenes de los botones
			setButtonImages();

			//Eventos para los botones de informacion
			this.btnInfo1.TouchUpInside += (sender, e) => {
				ToastView view = new ToastView("Busca productos por código de barras o nombre", 3000);
				view.SetGravity(ToastGravity.Center,0,0);
				view.Show();
			};

			this.btnInfo2.TouchUpInside += (sender, e) => {
				ToastView view = new ToastView("Localiza todas las tiendas registradas en FIXBUY", 3000);
				view.SetGravity(ToastGravity.Center,0,0);
				view.Show();
			};

			this.btnInfo3.TouchUpInside += (sender, e) => {
				ToastView view = new ToastView("Administra tus listas y los productos en ellas", 3000);
				view.SetGravity(ToastGravity.Center,0,0);
				view.Show();
			};

			this.btnInfo4.TouchUpInside += (sender, e) => {
				ToastView view = new ToastView("Inicia Sesion en FIXBUY para poder acceder a tus listas y más!", 3000);
				view.SetGravity(ToastGravity.Center,0,0);
				view.Show();
			};

			this.btnInfo5.TouchUpInside += (sender, e) => {
				ToastView view = new ToastView("Establece tu ubicación para una busqueda mas eficaz!", 3000);
				view.SetGravity(ToastGravity.Center,0,0);
				view.Show();
			};

			this.btnInfo6.TouchUpInside += (sender, e) => {
				ToastView view = new ToastView("Consulta los servicios que ofrece FIXBUY", 3000);
				view.SetGravity(ToastGravity.Center,0,0);
				view.Show();
			};

			this.btnCerrarSesion.TouchUpInside += (sender, e) => {
				UIAlertView alert = new UIAlertView () { 
					Title = "Te vas? =(", Message = "Estas seguro que quieres cerrar la sesión?"
				};
				alert.AddButton("Aceptar");
				alert.AddButton("Cancelar");
				alert.Clicked += (s, o) => {
					if(o.ButtonIndex == 0){
						using (var conn= new SQLite.SQLiteConnection(_pathToDatabase))
						{
							conn.DropTable<Person>();
							conn.CreateTable<Person>();
						}
						this.NavigationController.PopViewController(true);
					}
				};
				alert.Show ();
			};

			//Boton de buscar productos
			this.btnScan.TouchUpInside += (sender, e) => {
				// Configurar el escaner de codigo de barras.
				picker = new ScanditSDKRotatingBarcodePicker (MainView.appKey);
				picker.OverlayController.Delegate = new overlayControllerDelegate(picker, this);
				picker.OverlayController.ShowToolBar(true);
				picker.OverlayController.ShowSearchBar(true);
				picker.OverlayController.SetToolBarButtonCaption("Cancelar");
				picker.OverlayController.SetSearchBarKeyboardType(UIKeyboardType.Default);
				picker.OverlayController.SetSearchBarPlaceholderText("Búsqueda por nombre de producto");
				picker.OverlayController.SetCameraSwitchVisibility(SICameraSwitchVisibility.OnTablet);
				picker.OverlayController.SetTextForInitializingCamera("Iniciando la camara");
				this.PresentViewController (picker, true, null);

				picker.StartScanning ();
			};

			//Boton de tiendas Registradas
			this.btnTiendas.TouchUpInside += (sender, e) => {
				this._loadPop = new LoadingOverlay (UIScreen.MainScreen.Bounds);
				this.Add ( this._loadPop );
				mvp =  new MapViewController();
				Task.Factory.StartNew (
					() => {
						System.Threading.Thread.Sleep ( 1 * 1000 );
					}
				).ContinueWith ( 
					t => {
						this._loadPop.Hide ();
						this.NavigationController.PushViewController(mvp, true);
					}, TaskScheduler.FromCurrentSynchronizationContext()
				);
			};

			//Boton Mis listas
			this.btnListas.TouchUpInside += (sender, e) => {
				if (people.Count == 1) {
					MyListsView myLists = new MyListsView ();
					this.NavigationController.PushViewController (myLists, true);
				} else {
					UIAlertView alert = new UIAlertView () { 
						Title = "Espera!", Message = "Debes iniciar sesión para acceder a tus listas"
					};
					alert.AddButton("Aceptar");
					alert.Show ();
				}
			};

			//Boton Iniciar Sesion
			this.btnSesion.TouchUpInside += (sender, e) => {
				if (people.Count == 1) {
					UIAlertView alert = new UIAlertView () { 
						Title = "Espera!", Message = "Ya has iniciado sesión"
					};
					alert.AddButton("Aceptar");
					alert.Show ();
				} else {
					LoginView login = new LoginView ();
					this.NavigationController.PushViewController (login, true);
				}
			};

			//Boton Novedades
			this.btnNovedades.TouchUpInside += (sender, e) => {
				StatesView statesView = new StatesView();
				this.NavigationController.PushViewController(statesView, true);
			};

			//Boton Nuestros Servicios
			this.btnServicios.TouchUpInside += (sender, e) => {
				AboutUsView aboutUS = new AboutUsView ();
				this.NavigationController.PushViewController (aboutUS, true);
			};

			// creacion de la barra de herramientas
			float toolbarHeight = 44;
			toolbar = new UIToolbar (new CGRect (0
				, this.View.Frame.Height - this.NavigationController.NavigationBar.Frame.Height
				, this.View.Frame.Width, toolbarHeight));
			toolbar.AutoresizingMask = UIViewAutoresizing.FlexibleTopMargin | UIViewAutoresizing.FlexibleWidth;
			toolbar.TintColor = UIColor.FromRGB(7, 129, 181);

			// boton acerca de
			UIBarButtonItem btnacercaDe = new UIBarButtonItem (UIBarButtonSystemItem.Bookmarks);
			btnacercaDe.Clicked += (s, e) => {
				UIAlertView alert = new UIAlertView () { 
					Title = "Que deseas consultar? "
				};
				alert.AddButton("Terminos y Condiciones");
				alert.AddButton("Aviso de Privacidad");
				alert.Clicked+= (sen, o) =>{
					if(o.ButtonIndex == 0)
					{
						TermsView termsView = new TermsView();
						NavigationController.PushViewController(termsView, true);
					}else{
						PrivacyNoticeView privacyNoticeView = new PrivacyNoticeView();
						NavigationController.PushViewController(privacyNoticeView, true);
					}
				};
				alert.Show ();
			};
			// fixed width
			//UIBarButtonItem fixedWidth = new UIBarButtonItem (UIBarButtonSystemItem.FixedSpace);
			//fixedWidth.Width = 35;

			// flexible width space
			UIBarButtonItem flexibleWidth1 = new UIBarButtonItem (UIBarButtonSystemItem.FlexibleSpace);

			// boton fixBuy
			UIBarButtonItem btnFixBuy = new UIBarButtonItem (UIBarButtonSystemItem.Search);
			btnFixBuy.Clicked += (s, e) => { 
				NSUrl url = new NSUrl (@"http://fixbuy.mx");
				UIApplication.SharedApplication.OpenUrl (url);
			};

			// flexible width space
			UIBarButtonItem flexibleWidth2 = new UIBarButtonItem (UIBarButtonSystemItem.FlexibleSpace);

			// boton email
			UIBarButtonItem btnEmail = new UIBarButtonItem (UIBarButtonSystemItem.Compose);
			btnEmail.Clicked += (s, e) => {  
				//Añadimos las configuraciones para la vista de email
				mailController = new MFMailComposeViewController ();
				mailController.SetToRecipients (new string[]{"*****@*****.**"});
				mailController.SetSubject ("Contacto");
				mailController.SetMessageBody ("", false);
				mailController.Finished += ( object o, MFComposeResultEventArgs args) => {
					Console.WriteLine (args.Result.ToString ());
					args.Controller.DismissViewController (true, null);
				};

				this.PresentViewController (mailController, true, null);
			};

			// arreglo de botones para toolbar
			UIBarButtonItem[] items = new UIBarButtonItem[] { 
				btnacercaDe, flexibleWidth1, btnFixBuy, flexibleWidth2, btnEmail};

			// agregar los botones a la toolbar
			toolbar.SetItems (items, false);			

			// agregar la vista a la pantalla
			this.View.AddSubview (toolbar);
			try{
				//Leemos el servicio de los banners
				this.bannersService = new BannersService ();
				banners = bannersService.All ();
			} catch (System.Net.WebException){
				UIAlertView alert = new UIAlertView () { 
					Title = "UPS :S", Message = "Hubo un error al conectarse a internet la seccion de banners no puede mostrarse, por favor verifica tu conexión a internet"
				};
				alert.AddButton("Aceptar");
				alert.Show ();
			}

			button = new UIButton (new CGRect (0, 0, bannerImage.Bounds.Width, bannerImage.Bounds.Height));
			bannerImage.Add (button);
			button.TouchUpInside += (sender, e) => {
				try{
						if(bannerError == false){
						if(element.imagen != ""){
							NSUrl url = new NSUrl (element.link);
							UIApplication.SharedApplication.OpenUrl (url);
						}
					}
				}catch(Exception){
					//solo atrapamos la excepcion, no hacemos nada
				}
			};
		}