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; } }
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 (); }
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(); }
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 (); }
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); } }
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); }
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; }
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 (); } }; }
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(); } }; }
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); }
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); }
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 } }; }
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 } }; }