async void EnviarMensaje(object sender, System.EventArgs e)
        {
            if (!string.IsNullOrEmpty(_entryMensaje.Text))
            {
                var now = DateTime.Now;

                var user = PropertiesManager.GetUserInfo();
                var me   = new Mensaje();
                me.api_token = user.data.api_token;
                me.mensaje   = _entryMensaje.Text;
                ShowProgress("Enviando");
                var message = await ClientGuanajoven.EnviarChat(me);

                HideProgress();

                var isTrue = ClientGuanajoven.Data(message);
                if (isTrue == "true")
                {
                    _items.Add(new ChatModel()
                    {
                        mensaje       = _entryMensaje.Text,
                        envia_usuario = 1,
                        created_at    = now.ToString("u").Substring(0, now.ToString("u").Length - 1),
                    });
                    ScrollToLast(false);
                    _entryMensaje.Text = "";
                    await _dialogWriteMessage.FadeTo(0, 200, Easing.SinOut);

                    _dialogWriteMessage.IsVisible = false;
                }
            }
        }
        public MasterHomePage(HomeDrawerPage _rootPage)
        {
            InitializeComponent();
            RootPage = _rootPage;

            NavigationPage.SetHasNavigationBar(this, false);

            var      user        = PropertiesManager.GetUserInfo();
            int      fechainicio = Int32.Parse(DateTime.Parse(user.data.datos_usuario.fecha_nacimiento).ToString("yyyy"));
            DateTime date        = DateTime.Today;
            int      fechaactual = Int32.Parse(DateTime.Parse(date.ToString()).ToString("yyyy"));

            edad = fechaactual - fechainicio;
            if (edad >= 30)
            {
                _codigoText.Text       = "Regiones";
                _codigoText2.Text      = "";
                _imagecodigo.Source    = "regionesmenu.png";
                _imagepromocion.Source = "notificacionmenu";
                _promocionText.Text    = "Notificaciones";
            }
            InitViews();

            UpdateView();
        }
示例#3
0
        async void EventoClicked(object sender, EventArgs args)
        {
            if (time == 0)
            {
                var posicion = await ClientGuanajoven.InteresaEvento(PropertiesManager.GetUserInfo().data.api_token, eventodetail.id_evento + "");

                ShowProgress(IProgressType.LogedIn);
                await Task.Delay(600);

                HideProgress();
                await DisplayAlert("Guanajoven", "Gracias por estar interesado en el evento, en breve te llegará un correo electrónico con más información", "Aceptar");
            }

            else if (time == 1)
            {
                var user     = PropertiesManager.GetUserInfo();
                var response = await ClientGuanajoven.EventNotification(user.data.api_token, id_evento, LocationHelper.Instance.CurrentPosition.Latitude + "", LocationHelper.Instance.CurrentPosition.Longitude + "");

                try
                {
                    var puntaje = JsonConvert.DeserializeObject <PuntajeResponse>(response);
                    if (puntaje.data.asistio == 0)
                    {
                        if (puntaje.errors.Count > 0)
                        {
                            await DisplayAlert("Guanajoven", "No te encuentras en el rango del evento", "Aceptar");
                        }
                        else
                        {
                            await DisplayAlert("Guanajoven", "Ya has sido registrado", "Aceptar");
                        }
                    }
                    else
                    {
                        user.data.puntaje = user.data.puntaje + puntaje.data.puntos_otorgados;
                        //var posicion = await ClientGuanajoven.getPosition(user.data.api_token);
                        //user.data.posicion = ClientGuanajoven.Data(posicion);
                        user.data.posicion = await getPuntaje(user.data.api_token);

                        PropertiesManager.SaveUserInfo(user);
                        await DisplayAlert("Guanajoven", "Has ganado " + puntaje.data.puntos_otorgados + " puntos", "Aceptar");

                        MessagingCenter.Send <DetailEventPage>(this, "Score");
                    }
                }
                catch (Exception ex)
                {
                }
                ShowProgress(IProgressType.LogedIn);
                await Task.Delay(600);

                HideProgress();
            }
            else
            {
                _assistance.IsEnabled = false;
            }
        }
示例#4
0
        public App()
        {
            CurrentApp = this;
            InitializeComponent();

            //MainPage = new ChatPage(null);
            //return;

            RealmConfiguration realmConfiguration = RealmConfiguration.DefaultConfiguration;

            try
            {
                RealmInstance = Realm.GetInstance();
            }
            catch (RealmMigrationNeededException e)
            {
                try
                {
                    Realm.DeleteRealm(realmConfiguration);
                    //Realm file has been deleted.
                    RealmInstance = Realm.GetInstance(realmConfiguration);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }


            var eventos = App.CurrentApp.RealmInstance.All <Notificacion>().ToList();

            //MainPage = new NavigationPage(new GuanajovenCodePage());
            // return;

            if (PropertiesManager.IsFirstTime())
            {
                MainPage = new WelcomePage();
            }
            else
            {
                if (PropertiesManager.IsLogedIn())
                {
                    //	MainPage = new HomePage();
                    MainPage = new NavigationPage(new HomeDrawerPage());
                }
                else
                {
                    MainPage = new NavigationPage(new RootPage());
                    //MainPage = new NavigationPage(new HomeDrawerPage());
                    //	MainPage = new NavigationPage(new PickIdiomas());
                }
            }


            InitPushNotifications();
        }
        async void AdvertisingUpdate()
        {
            if (PropertiesManager.IsDateAdvertisingTrue())
            {
                PropertiesManager.SaveAdvertisingDate(dateToSend);
            }
            else
            {
                dateToSend = PropertiesManager.GetDataAdvertising();
            }
            if (PropertiesManager.IsDateFirstAdvertisingTrue())
            {
                PropertiesManager.SaveFirstAdvertisingDate(1);
            }
            else
            {
                PropertiesManager.SaveFirstAdvertisingDate(PropertiesManager.GetFirstDataAdvertising() + 1);
            }

            CheckConnection();
            //ShowProgress("Validando");
            String times = "";

            if (PropertiesManager.GetFirstDataAdvertising() > 1)
            {
                times = dateToSend.ToString("yyyy-MM-dd HH:MM:ss");
            }
            else
            {
                times = "0000-00-00 00:00:00";
            }
            //var times = dateToSend.ToString("yyyy-MM-dd HH:MM:ss");
            _advertising = await ClientGuanajoven.getAdvertising(times);

            var publicidad = App.CurrentApp.RealmInstance.All <Publicidad>().ToList();

            if (_advertising != null && _advertising.Count > 0)
            {
                MergeLists(_advertising);
            }

            publicidad = App.CurrentApp.RealmInstance.All <Publicidad>().ToList();
            if (publicidad != null)
            {
                dateToSend = time;
                PropertiesManager.SaveEventDate(dateToSend);
                publicidad = publicidad.OrderByDescending(x => x.fecha_inicio).ToList();
            }
            //HideProgress();
        }
        /*public void test()
         * {
         *      _promotions = new List<Promotion>();
         *      Promotion user = new Promotion();
         *      user.evento_estado = "Abierto";
         *      user.titulo = "Oxxo";
         *      user.descripcion = "oferta red bull";
         *      user.fecha = "25/09/1992";
         *      user.fecha_fin = "26/09/1992";
         *      user.fecha_inicio = "27/09/1992";
         *      Promotion user2 = new Promotion();
         *      user2.evento_estado = "Cerrado";
         *      user2.titulo = "7eleven";
         *      user2.descripcion = "Monster";
         *      user2.fecha = "27/10/2007";
         *      user2.fecha_fin = "26/09/1992";
         *      user2.fecha_inicio = "27/09/1992";
         *      _promotions.Add(user);
         *      _promotions.Add(user2);
         *      ListView.ItemsSource = _promotions;
         * }*/



        async void getPromotions()
        {
            if (PropertiesManager.IsDatePromotionTrue())
            {
                PropertiesManager.SavePromotionDate(dateToSend);
            }
            else
            {
                dateToSend = PropertiesManager.GetDataPromotion();
            }
            if (PropertiesManager.IsFirstDatePromotionTrue())
            {
                PropertiesManager.SaveFirstPromotionDate(1);
            }
            else
            {
                PropertiesManager.SaveFirstPromotionDate(PropertiesManager.GetFirstDataPromotion() + 1);
            }
            CheckConnection();
            ShowProgress("Validando");
            String times = "";

            if (PropertiesManager.GetFirstDataPromotion() > 1)
            {
                times = dateToSend.ToString("yyyy-MM-dd HH:MM:ss");
            }
            else
            {
                times = "0000-00-00 00:00:00";
            }
            //var times = dateToSend.ToString("yyyy-MM-dd HH:MM:ss");
            _empresas = await ClientGuanajoven.getPromotions(times);

            var empresas = App.CurrentApp.RealmInstance.All <Empresa>().ToList();

            if (_empresas != null && _empresas.Count > 0)
            {
                MergeLists(_empresas);
            }

            empresas = App.CurrentApp.RealmInstance.All <Empresa>().ToList().OrderBy(x => x.prioridad).ToList();
            if (empresas != null)
            {
                dateToSend = time;
                PropertiesManager.SavePromotionDate(dateToSend);
                _flowListView.FlowItemsSource = empresas.ToList();
            }
            HideProgress();
        }
示例#7
0
        async void information(object sender, System.EventArgs e)
        {
            CheckConnection();
            ShowProgress("Validando");
            var user = PropertiesManager.GetUserInfo();
            //var response = await ClientGuanajoven.sendEmail(user.data.datos_usuario.id_usuario + "", id_convocatoria);
            var response = await ClientGuanajoven.sendEmail(user.data.api_token + "", id_convocatoria);

            if (ValidateResponseRegister(response))
            {
                await Task.Delay(600);
                await DisplayAlert("Guanajoven", "Gracias por interesarte en la convocatoria, en breve te llegará un correo electrónico con más información", "Aceptar");
            }

            HideProgress();
        }
示例#8
0
        public DetailPromotionPage(Promotion promotion, string imagen)
        {
            InitializeComponent();
            Title                  = promotion.titulo;
            _image.Source          = imagen;
            _title.Text            = promotion.titulo;
            _descripcion.Text      = promotion.descripcion;
            _bases.Text            = promotion.bases;
            _codigo_promocion.Text = promotion.codigo_promocion;
            url               = promotion.url_promocion;
            id_promocion      = promotion.id_promocion + "";
            _fechainicio.Text = DateTime.Parse(promotion.fecha_inicio).ToString("dd/MM/yyyy");
            _fechafin.Text    = DateTime.Parse(promotion.fecha_fin).ToString("dd/MM/yyyy");
            var user   = PropertiesManager.GetUserInfo();
            var stream = DependencyService.Get <IBarcodeService>().ConvertImageStream(user.data.codigo_guanajoven.token);

            _qrImage.Source = ImageSource.FromStream(() => { return(stream); });
        }
示例#9
0
        async void getProfile()
        {
            ShowProgress("Validando");
            TokenPOJO token     = new TokenPOJO();
            var       localuser = PropertiesManager.GetUserInfo();

            token.api_token = localuser.data.api_token;
            CheckConnection();
            var response = await ClientGuanajoven.getProfile(token.api_token);

            if (ValidateResponse(response))
            {
                var dataProfile = JsonConvert.DeserializeObject <DataUserResponse>(response);
                SetInfo(dataProfile);
                await Task.Delay(600);
            }
            HideProgress();
        }
示例#10
0
        async void GetChatMessages()
        {
            _listView.IsRefreshing = true;

            var user = PropertiesManager.GetUserInfo();
            var me   = new Mensaje();

            me.api_token = user.data.api_token;
            me.page      = page + "";

            var mensajes = await ClientGuanajoven.MensajeChat(me);

            _listView.IsRefreshing = false;
            if (mensajes != null && mensajes.Count > 0)
            {
                mensajes.Reverse();

                int n = 0;
                foreach (var mensaje in mensajes)
                {
                    _items.Insert(n, mensaje);

                    if (page != 1)
                    {
                        await System.Threading.Tasks.Task.Delay(100);
                    }

                    n++;
                }

                page++;

                if (page == 2)
                {
                    await System.Threading.Tasks.Task.Delay(300);

                    ScrollToLast();
                }
            }
        }
        public GuanajovenCodePage(HomeDrawerPage _rootPage)
        {
            InitializeComponent();
            RootPage = _rootPage;
            var user = PropertiesManager.GetUserInfo();

            _background.Source = user.data.datos_usuario.ruta_imagen;
            _name.Text         = user.data.datos_usuario.nombre + " " + user.data.datos_usuario.apellido_paterno + " " + user.data.datos_usuario.apellido_materno;
            _email.Text        = user.data.email;
            _numero.Text       = user.data.codigo_guanajoven.id_usuario + "";
            var stream = DependencyService.Get <IBarcodeService>().ConvertImageStream(user.data.codigo_guanajoven.token);

            _qrImage.Source = ImageSource.FromStream(() => { return(stream); });
            _curpcode.Text  = user.data.datos_usuario.curp;
            _genre.Text     = user.data.datos_usuario.genero.nombre;
            _municipio.Text = user.data.datos_usuario.municipio.nombre;
            DateTime myDate = DateTime.Parse(user.data.datos_usuario.fecha_nacimiento);

            _fechanacimiento.Text      = myDate.ToString("dd/MM/yyyy");
            _estadonacimiento.Text     = user.data.datos_usuario.estado_nacimiento.nombre;
            Background.BackgroundColor = Color.FromHex("#b7C7E1F5");
            NavigationPage.SetHasNavigationBar(this, false);
        }
        async void DownloadClicked(object sender, EventArgs args)
        {
            //PERMITE GUARDAR UNA VISTA DE LA IMAGEN SE CAMBIA POR ENVÍO DE CORREO

            /*var stream = await DependencyService.Get<IScreenshotManager>().CaptureAsync();
             * //var stream1 = new MemoryStream(stream);
             * //imageTest.Source = ImageSource.FromStream(() => stream1);
             * //uses the IPicture interface to use the appropriate saving mechanism from the picture class in each individual project
             * DependencyService.Get<IPicture>().SavePictureToDisk("Guanajoven", stream);
             * //generic success message
             * await DisplayAlert("Guanajoven", "La imagen ha sido guardada", "Aceptar");*/
            CheckConnection();
            ShowProgress("Validando");
            var user     = PropertiesManager.GetUserInfo();
            var response = await ClientGuanajoven.sendEmailID(user.data.api_token + "");

            if (response)
            {
                await Task.Delay(600);
                await DisplayAlert("Guanajoven", "Se te ha enviado un correo electrónico con tu credencial, gracias por hacer de Guanajuato tu proyecto de vida", "Aceptar");
            }

            HideProgress();
        }
        async void SignUpClicked(object sender, System.EventArgs e)
        {
            if (isNull(_email.Text))
            {
                await DisplayAlert("Error", "Falta correo", "Aceptar");

                return;
            }
            if (isNull(_password.Text))
            {
                await DisplayAlert("Error", "Falta contraseña", "Aceptar");

                return;
            }
            if (isNull(_confirmpassword.Text))
            {
                await DisplayAlert("Error", "Falta confirmar contraseña", "Aceptar");

                return;
            }
            if (isNull(_curp.Text))
            {
                await DisplayAlert("Error", "Falta CURP", "Aceptar");

                return;
            }
            if (isNull(_apellidpat.Text))
            {
                await DisplayAlert("Error", "Falta Apellido paterno", "Aceptar");

                return;
            }
            if (isNull(_apellidmat.Text))
            {
                await DisplayAlert("Error", "Falta Apellido materno", "Aceptar");

                return;
            }
            if (isNull(_nombre.Text))
            {
                await DisplayAlert("Error", "Falta nombre", "Aceptar");

                return;
            }
            if (isNull(fecha_nac.Text))
            {
                await DisplayAlert("Error", "Falta fecha de nacimiento", "Aceptar");

                return;
            }
            if (isNull(_cp.Text))
            {
                await DisplayAlert("Error", "Falta código postal", "Aceptar");

                return;
            }
            if (pickergenre.SelectedIndex == 0)
            {
                await DisplayAlert("Error", "Seleccione un género", "Aceptar");

                return;
            }
            if (pickerstate.SelectedIndex == 0)
            {
                await DisplayAlert("Error", "Seleccione un estado", "Aceptar");

                return;
            }
            try
            {
                if (facebook != null || google != null)
                {
                    HttpClient client = new HttpClient();
                    client.MaxResponseContentBufferSize = 256000;
                    Stream stream = await client.GetStreamAsync(url);

                    var xy = stream;
                    var y  = GetImageStreamAsBytes(xy);
                    imageurl = "data:image/jpeg;base64," + Convert.ToBase64String(y);
                    aux      = imageurl;
                }
                else
                {
                    aux = "data:image/jpeg;base64," + Convert.ToBase64String(bytes);
                }
            }
            catch (Exception ex)
            {
                await DisplayAlert("Error", "Falta agregar una imagen", "Aceptar");

                return;
            }
            if (_confirmpassword.Text == _password.Text)
            {
                var         email             = _email.Text;
                var         password          = _password.Text;
                var         confirmarPassword = _confirmpassword.Text;
                var         curp             = _curp.Text;
                var         apellidoPaterno  = _apellidpat.Text;
                var         apellidoMaterno  = _apellidmat.Text;
                var         nombre           = _nombre.Text;
                var         genero           = getGenre(pickergenre);
                var         fechaNacimiento  = fecha_nac.Text;
                var         codigoPostal     = _cp.Text;
                var         estadoNacimiento = abrevEstado(pickerstate);
                var         rutaImagen       = aux;
                UsuarioPOJO user             = new UsuarioPOJO();
                user.email              = email;
                user.password           = password;
                user.confirmar_password = confirmarPassword;
                user.curp              = curp;
                user.apellido_paterno  = apellidoPaterno;
                user.apellido_materno  = apellidoMaterno;
                user.nombre            = nombre;
                user.genero            = genero + "";
                user.fecha_nacimiento  = fechaNacimiento;
                user.codigo_postal     = codigoPostal;
                user.estado_nacimiento = estadoNacimiento;
                user.ruta_imagen       = rutaImagen;
                user.id_google         = google;
                user.id_facebook       = facebook;
                if (ValidateUI())
                {
                    CheckConnection();
                    ShowProgress("Validando");
                    var response = await ClientGuanajoven.registerUser(user);

                    if (ValidateResponseRegister(response))
                    {
                        var newuser = JsonConvert.DeserializeObject <ResponseUsuario>(response);
                        //getposition
                        var posicion = await ClientGuanajoven.getPosition(newuser.data.api_token);

                        newuser.data.posicion = ClientGuanajoven.Data(posicion);
                        await Task.Delay(600);

                        ShowProgress(IProgressType.LogedIn);
                        PropertiesManager.SaveUserInfo(newuser);
                        HideProgress();
                        await Navigation.PushModalAsync(new HomeDrawerPage());
                    }

                    HideProgress();
                }
            }
            else
            {
                await DisplayAlert("Error", "Verifique que sus contraseñas coincidan", "Aceptar");
            }
            //await Navigation.PushModalAsync(new SignUpPage());
            //
        }
示例#14
0
        public HomeDrawerPage(DrawerPage page = DrawerPage.HomeView)
        {
            _drawer = new DrawerListPage(this);
            _drawer.PageSelected += (pageType) =>
            {
                bool presented = false;
                switch (pageType)
                {
                case DrawerPage.HomeView:
                    Detail = new NavigationPage(new MasterHomePage(this));
                    break;

                case DrawerPage.ProfileView:

                    Detail = new NavigationPage(new ProfilePage(this));
                    break;

                case DrawerPage.CodigoView:
                    //Detail.Navigation.PushAsync(new GuanajovenCodePage());
                    Detail = new NavigationPage(new GuanajovenCodePage(this));
                    break;

                case DrawerPage.Cerrar:
                    var user = PropertiesManager.GetUserInfo();
                    if (user != null)
                    {
                        FirebaseObject firebase = new FirebaseObject();
                        firebase.id_usuario = user.data.id + "";
                        var canceltoken = ClientGuanajoven.CancelarFirebase(firebase);
                        PropertiesManager.LogOut();
                        //await new Navigation.PushModalAsync(new RootPage());
                        Navigation.PushModalAsync(new NavigationPage(new RootPage()));
                    }
                    break;

                case DrawerPage.EventosView:
                    //Detail.Navigation.PushAsync(new EventsView());
                    Detail = new NavigationPage(new EventsView(this));
                    break;

                case DrawerPage.ConvocatoriasView:
                    Detail = new NavigationPage(new CallPage(this));
                    break;

                case DrawerPage.PromotionView:
                    //Detail.Navigation.PushAsync(new CalendarPage());

                    Detail = new NavigationPage(new EmpresaPage(this));
                    break;

                case DrawerPage.NotificacionesView:
                    //Detail.Navigation.PushAsync(new NotificationPage());

                    Detail = new NavigationPage(new NotificationPage(this));
                    break;

                case DrawerPage.RedesSocialesView:
                    //Detail.Navigation.PushAsync(new SocialMediaPage());

                    Detail = new NavigationPage(new SocialMediaPage(this));
                    break;

                case DrawerPage.ChatView:
                    //Detail.Navigation.PushAsync(new ());

                    Detail = new NavigationPage(new ChatPage(this));
                    break;

                case DrawerPage.RegionesView:
                    //Detail.Navigation.PushAsync(new ());

                    Detail = new NavigationPage(new RegionPage(this));
                    break;

                case DrawerPage.AcercaView:
                    //Detail.Navigation.PushAsync(new ());

                    Detail = new NavigationPage(new AboutPage(this));
                    break;
                }

                IsPresented = presented;
            };
            Master = _drawer;

            if (page == DrawerPage.HomeView)
            {
                Detail = new NavigationPage(new MasterHomePage(this));
            }
            else
            {
                switch (page)
                {
                case DrawerPage.ConvocatoriasView:
                    //Detail = new NavigationPage(new MapInfoDelivery(this));
                    break;
                }
            }

            MasterBehavior = MasterBehavior.Popover;

            IsPresentedChanged += (sender, e) =>
            {
                //_drawer.UpdateView();
            };

            SetListeners();

            NavigationPage.SetHasNavigationBar(this, false);
        }
 async void Start(object sender, System.EventArgs e)
 {
     PropertiesManager.SaveFirstArrive();
     await Navigation.PushModalAsync(new NavigationPage(new RootPage()));
 }
        public DrawerListPage(HomeDrawerPage rootPage)
        {
            _rootPage = rootPage;
            InitializeComponent();
            var user = PropertiesManager.GetUserInfo();

            if (user != null)
            {
                _imageView.Source = user.data.datos_usuario.ruta_imagen;
                _email.Text       = user.data.email;
                _nombre.Text      = user.data.datos_usuario.nombre;
                _score.Text       = user.data.puntaje + " Puntos";
                _podium.Text      = "Posición " + user.data.posicion;
            }

            Title = " ";

            ListView.ItemsSource = PageTypeGroup.All;

            ListView.ItemSelected += (sender, e) =>
            {
                if (e.SelectedItem == null)
                {
                    return;
                }
                var item = e.SelectedItem as ItemDrawer;
                if (PageSelected != null)
                {
                    PageSelected(item.Page);
                }

                /*foreach (var n in PageTypeGroup.All)
                 * {
                 *      n.Selected = false;
                 * }*/
                item.Selected         = true;
                ListView.ItemsSource  = PageTypeGroup.All;
                ListView.SelectedItem = null;
            };

            ImageSourceChanged = async() =>
            {
                if (LastView is FFImageLoading.Forms.CachedImage)
                {
                    (LastView as FFImageLoading.Forms.CachedImage).Source = Source;
                }

                _imageView.Source = Source;

                //await PostLastFoto();
            };


            //ImagesUploaded += (folio) =>
            //{
            //	ActualizarFotoCliente(folio);
            //};

            //MessagingCenter.Subscribe<PerfilPage>(this, "update_info_user", (sender) =>
            //{
            //		// do something whenever the "Hi" message is sent
            //		if (App.CurrentApp.User != null)
            //		_labelNombre.Text = App.CurrentApp.User.Nombre;
            //	GetFoto();
            //});

            GetFoto();
            AdvertisingUpdate();


            MessagingCenter.Subscribe <ProfilePage>(this, "Hi", (sender) =>
            {
                var usertmp = PropertiesManager.GetUserInfo();
                if (usertmp != null)
                {
                    _imageView.Source = usertmp.data.datos_usuario.ruta_imagen;
                }
            });


            MessagingCenter.Subscribe <DetailEventPage>(this, "Score", (sender) =>
            {
                var usertmp = PropertiesManager.GetUserInfo();
                if (usertmp != null)
                {
                    _score.Text  = usertmp.data.puntaje + " Puntos";
                    _podium.Text = "Posición " + usertmp.data.posicion;
                }
            });
        }
            static PageTypeGroup()
            {
                var      user        = PropertiesManager.GetUserInfo();
                int      fechainicio = Int32.Parse(DateTime.Parse(user.data.datos_usuario.fecha_nacimiento).ToString("yyyy"));
                DateTime date        = DateTime.Today;
                int      fechaactual = Int32.Parse(DateTime.Parse(date.ToString()).ToString("yyyy"));
                int      edad        = fechaactual - fechainicio;

                if (edad >= 30)
                {
                    List <PageTypeGroup> Groups = new List <PageTypeGroup> {
                        new PageTypeGroup("Inicio", "Inicio")
                        {
                            new ItemDrawer("Home", DrawerPage.HomeView, "home.png"),
                            new ItemDrawer("Modificar perfil", DrawerPage.ProfileView, "profile.png"),
                            new ItemDrawer("Cerrar sesión", DrawerPage.Cerrar, "turn-on.png")
                        },
                        new PageTypeGroup("Actividades", "Actividades")
                        {
                            new ItemDrawer("Eventos", DrawerPage.EventosView, "event.png"),
                            new ItemDrawer("Convocatorias", DrawerPage.ConvocatoriasView, "convocatorias.png"),
                            new ItemDrawer("Notificaciones", DrawerPage.NotificacionesView, "notificacion.png"),
                            new ItemDrawer("Redes sociales", DrawerPage.RedesSocialesView, "socialmedia.png"),
                            new ItemDrawer("Chat", DrawerPage.ChatView, "chat.png")
                        },
                        new PageTypeGroup("General", "General")
                        {
                            new ItemDrawer("Regiones", DrawerPage.RegionesView, "skyline.png"),
                            new ItemDrawer("Acerca de ", DrawerPage.AcercaView, "info.png")
                        }
                    };
                    All = Groups;                     //set the publicly accessible list
                }
                else
                {
                    List <PageTypeGroup> Groups = new List <PageTypeGroup> {
                        new PageTypeGroup("Inicio", "Inicio")
                        {
                            new ItemDrawer("Home", DrawerPage.HomeView, "home.png"),
                            new ItemDrawer("Modificar perfil", DrawerPage.ProfileView, "profile.png"),
                            new ItemDrawer("IDGuanajoven", DrawerPage.CodigoView, "code.png"),
                            new ItemDrawer("Cerrar sesión", DrawerPage.Cerrar, "turn-on.png")
                        },
                        new PageTypeGroup("Actividades", "Actividades")
                        {
                            new ItemDrawer("Eventos", DrawerPage.EventosView, "event.png"),
                            new ItemDrawer("Convocatorias", DrawerPage.ConvocatoriasView, "convocatorias.png"),
                            new ItemDrawer("Promociones", DrawerPage.PromotionView, "promotion.png"),
                            new ItemDrawer("Notificaciones", DrawerPage.NotificacionesView, "notificacion.png"),
                            new ItemDrawer("Redes sociales", DrawerPage.RedesSocialesView, "socialmedia.png"),
                            new ItemDrawer("Chat", DrawerPage.ChatView, "chat.png")
                        },
                        new PageTypeGroup("General", "General")
                        {
                            new ItemDrawer("Regiones", DrawerPage.RegionesView, "skyline.png"),
                            new ItemDrawer("Acerca de ", DrawerPage.AcercaView, "info.png")
                        }
                    };
                    All = Groups;                     //set the publicly accessible list
                }
            }
示例#18
0
        async void getCalls()
        {
            if (PropertiesManager.IsDateCallTrue())
            {
                PropertiesManager.SaveCallDate(dateToSend);
            }
            else
            {
                dateToSend = PropertiesManager.GetDateCall();
            }
            if (PropertiesManager.IsFirstDateCallTrue())
            {
                PropertiesManager.SaveFirstCallDate(1);
            }
            else
            {
                PropertiesManager.SaveFirstCallDate(PropertiesManager.GetFirstDataCall() + 1);
            }

            CheckConnection();
            ShowProgress("Validando");
            String times = "";

            if (PropertiesManager.GetFirstDataCall() > 1)
            {
                times = dateToSend.ToString("yyyy-MM-dd HH:MM:ss");
            }
            else
            {
                times = "0000-00-00 00:00:00";
            }
            //var times = dateToSend.ToString("yyyy-MM-dd HH:MM:ss");
            _calls = await ClientGuanajoven.getCalls(times);

            var convocatorias = App.CurrentApp.RealmInstance.All <Convocatoria>().ToList();

            if (_calls != null && _calls.Count > 0)
            {
                foreach (var item in _calls)
                {
                    var fecha_cierre = DateTime.Parse(item.fecha_cierre);
                    if (time <= fecha_cierre)
                    {
                        item.estatusText = "Activa";
                    }
                    else
                    {
                        item.estatusText = "Inactiva";
                    }

                    foreach (var document in item.documentos)
                    {
                        if (document.formato.nombre == "docx")
                        {
                            document.Icono = "ic_doc-web.png";
                        }
                        else if (document.formato.nombre == "xlsx")
                        {
                            document.Icono = "ic_xls-web.png";
                        }
                        else if (document.formato.nombre == "pdf")
                        {
                            document.Icono = "ic_pdf-web.png";
                        }
                        else
                        {
                            document.Icono = "ic_unknow-web.png";
                        }
                    }
                }

                App.CurrentApp.RealmInstance.Write(() =>
                {
                    if (convocatorias.Count > 0)
                    {
                        foreach (var convocatoria in convocatorias)
                        {
                            foreach (var _call in _calls)
                            {
                                if (convocatoria.id_convocatoria == _call.id_convocatoria)
                                {
                                    App.CurrentApp.RealmInstance.Remove(convocatoria);
                                }
                            }
                        }
                    }

                    foreach (var item in _calls)
                    {
                        if (item.deleted_at != null)
                        {
                        }
                        else
                        {
                            App.CurrentApp.RealmInstance.Add(item);
                        }
                    }
                });
            }

            convocatorias = App.CurrentApp.RealmInstance.All <Convocatoria>().ToList();
            if (convocatorias != null)
            {
                dateToSend = time;
                PropertiesManager.SaveCallDate(dateToSend);
                convocatorias = convocatorias.OrderByDescending(x => x.fecha_inicio).ToList();
                _itemsList.Clear();
                convocatorias = App.CurrentApp.RealmInstance.All <Convocatoria>().ToList();
                foreach (var item in convocatorias)
                {
                    _itemsList.Add(item);
                }

                Device.BeginInvokeOnMainThread(() =>
                {
                    if (ListView.ItemsSource != _itemsList)
                    {
                        ListView.ItemsSource = _itemsList;
                    }
                });
            }
            HideProgress();
        }
示例#19
0
        async void ModifyClicked(object sender, System.EventArgs e)
        {
            var answer = await DisplayAlert("Guanajoven", "¿Deseas modificar tu perfil?", "Sí", "No");

            if (!answer)
            {
            }
            else
            {
                DatosUsuario user      = new DatosUsuario();
                var          localuser = PropertiesManager.GetUserInfo();
                user.api_token = localuser.data.api_token;
                if (pickernivelestudios.SelectedIndex != 0)
                {
                    user.id_nivel_estudios = pickernivelestudios.SelectedIndex;
                }

                if (pickersocial.SelectedIndex != 0 || pickersocial.SelectedIndex != 2)
                {
                    user.proyectos_sociales       = inputSocial.Text;
                    user.apoyo_proyectos_sociales = 1;
                }

                if (pickerawards.SelectedIndex != 0 || pickerawards.SelectedIndex != 2)
                {
                    user.premios = inputMention.Text;
                }
                if (pickerhandicap.SelectedIndex != 0 || pickerhandicap.SelectedIndex != 2)
                {
                    user.id_capacidad_diferente = pickerPhysic.SelectedIndex;
                }

                if (pickerpopulation.SelectedIndex != 0 || pickerpopulation.SelectedIndex != 2)
                {
                    user.id_pueblo_indigena = pickerEtnia.SelectedIndex;
                }

                if (pickerjob.SelectedIndex != 0 || pickerjob.SelectedIndex != 2)
                {
                    user.trabaja = pickerjob.SelectedIndex;
                }

                if (pickerbeneficiario.SelectedIndex != 0 || pickerbeneficiario.SelectedIndex != 2)
                {
                    user.id_programa_beneficiario = pickerEstado.SelectedIndex;
                }

                if (HelperIdioma.InfioIdiomas.Count > 0)
                {
                    user.idiomas = new List <IdiomaAdicional>();
                    foreach (var idioma in HelperIdioma.InfioIdiomas)
                    {
                        var IdiomaAdicional = new IdiomaAdicional()
                        {
                            id_datos_usuario    = (int)idioma.Value.id_datos_usuario,
                            id_idioma_adicional = idioma.Value.id_idioma_adicional,
                            lectura             = idioma.Value.lectura,
                            escritura           = idioma.Value.escritura,
                            conversacion        = idioma.Value.conversacion
                        };
                        user.idiomas.Add(IdiomaAdicional);
                    }
                }


                try
                {
                    user.ruta_imagen = "data:image/jpeg;base64," + Convert.ToBase64String(bytes);
                }
                catch (Exception ex)
                {
                    HttpClient client = new HttpClient();
                    client.MaxResponseContentBufferSize = 256000;
                    Stream stream = await client.GetStreamAsync(url);

                    var xy       = stream;
                    var y        = GetImageStreamAsBytes(xy);
                    var imageurl = "data:image/jpeg;base64," + Convert.ToBase64String(y);
                    user.ruta_imagen = imageurl;
                }

                CheckConnection();
                ShowProgress("Validando");

                var response = await ClientGuanajoven.updateProfile(user);

                var updateAct = await ClientGuanajoven.getProfile(user.api_token);

                var updated = JsonConvert.DeserializeObject <DataUserResponse>(updateAct);
                var pivot   = PropertiesManager.GetUserInfo();
                pivot.data.datos_usuario.ruta_imagen = updated.data.ruta_imagen;
                PropertiesManager.SaveUserInfo(pivot);
                MessagingCenter.Send <ProfilePage>(this, "Hi");

                if (ValidateResponseRegister(response))
                {
                    await Task.Delay(600);
                    await DisplayAlert("Guanajoven", "Datos Guardados con exito", "Aceptar");
                }

                HideProgress();
            }
        }
        async void getEvents()
        {
            if (PropertiesManager.IsDateEventTrue())
            {
                PropertiesManager.SaveEventDate(dateToSend);
            }
            else
            {
                dateToSend = PropertiesManager.GetDateEvent();
            }
            if (PropertiesManager.IsFirstDateEventTrue())
            {
                PropertiesManager.SaveFirstEventDate(1);
            }
            else
            {
                PropertiesManager.SaveFirstEventDate(PropertiesManager.GetFirstDataEvent() + 1);
            }
            CheckConnection();
            ShowProgress("Validando");
            String times = "";

            if (PropertiesManager.GetFirstDataEvent() > 1)
            {
                times = dateToSend.ToString("yyyy-MM-dd HH:MM:ss");
            }
            else
            {
                times = "0000-00-00 00:00:00";
            }
            _events = await ClientGuanajoven.getEvents(times);

            var eventos = App.CurrentApp.RealmInstance.All <Evento>().ToList();

            if (_events != null && _events.Count > 0)
            {
                foreach (var item in _events)
                {
                    var fechainicio = DateTime.Parse(item.fecha_inicio).ToString("dd/MM/yyyy");
                    //var fechafin = DateTime.Parse(item.fecha_fin).ToString("dd/MM/yyyy");
                    item.fecha = fechainicio;                     //+ " - " + fechafin;
                    var fecha_fin = DateTime.Parse(item.fecha_fin);
                    if (time <= fecha_fin)
                    {
                        item.evento_estado  = "Evento Abierto";
                        item.IsEventoActivo = false;
                    }
                    else
                    {
                        item.evento_estado  = "Evento Cerrado";
                        item.IsEventoActivo = true;
                    }
                }
                MergeLists(_events);
            }

            eventos = App.CurrentApp.RealmInstance.All <Evento>().ToList();
            if (eventos != null)
            {
                dateToSend = time;
                PropertiesManager.SaveEventDate(dateToSend);
                eventos = eventos.OrderByDescending(x => x.fecha_inicio).ToList();
                _itemsList.Clear();
                //	eventos = App.CurrentApp.RealmInstance.All<Evento>().ToList();
                foreach (var item in eventos)
                {
                    _itemsList.Add(item);
                }


                Device.BeginInvokeOnMainThread(() =>
                {
                    if (ListView.ItemsSource != _itemsList)
                    {
                        ListView.ItemsSource = _itemsList;
                    }
                });
            }
            HideProgress();
        }
        /*public void test()
         * {
         *      _events = new List<UsuarioPOJO>();
         *      UsuarioPOJO user = new UsuarioPOJO();
         *      user.apellido_materno = "martinez";
         *      UsuarioPOJO user2 = new UsuarioPOJO();
         *      user2.apellido_materno = "rodríguez";
         *      _events.Add(user);
         *      _events.Add(user2);
         * }*/
        /*
         * async void getCalls()
         * {
         * if (PropertiesManager.IsDateCallTrue())
         * {
         * PropertiesManager.SaveCallDate(dateToSend);
         * }
         * else
         * {
         * dateToSend = PropertiesManager.GetDateCall();
         * }
         * CheckConnection();
         * ShowProgress("Validando");
         * var times = dateToSend.ToString("yyyy-MM-dd HH:MM:ss");
         * _calls = await ClientGuanajoven.getCalls(times);
         * var convocatorias = App.CurrentApp.RealmInstance.All<Convocatoria>().ToList();
         * if (_calls != null && _calls.Count > 0)
         * {
         * foreach (var item in _calls)
         * {
         *      var fecha_cierre = DateTime.Parse(item.fecha_cierre);
         *      if (time <= fecha_cierre)
         *      {
         *              item.estatusText = "Activa";
         *      }
         *      else
         *      {
         *              item.estatusText = "Inactiva";
         *      }
         *
         *      foreach (var document in item.documentos)
         *      {
         *              if (document.formato.nombre == "docx")
         *              {
         *                      document.Icono = "ic_doc-web.png";
         *              }
         *              else if (document.formato.nombre == "xlsx")
         *              {
         *                      document.Icono = "ic_xls-web.png";
         *              }
         *              else if (document.formato.nombre == "pdf")
         *              {
         *                      document.Icono = "ic_pdf-web.png";
         *              }
         *              else
         *              {
         *                      document.Icono = "ic_unknow-web.png";
         *              }
         *      }
         * }
         *
         * App.CurrentApp.RealmInstance.Write(() =>
         *              {
         *                      foreach (var item in _calls)
         *                      {
         *                              App.CurrentApp.RealmInstance.Add(item);
         *                      }
         *              });
         * }
         *
         * if (convocatorias != null)
         * {
         *
         * dateToSend = time;
         * PropertiesManager.SaveCallDate(dateToSend);
         * convocatorias = convocatorias.OrderByDescending(x => x.fecha_inicio).ToList();
         * _itemsList.Clear();
         * convocatorias = App.CurrentApp.RealmInstance.All<Convocatoria>().ToList();
         * foreach (var item in convocatorias)
         * {
         *      _itemsList.Add(item);
         * }
         *
         * Device.BeginInvokeOnMainThread(() =>
         * {
         *      if (ListView.ItemsSource != _itemsList)
         *              ListView.ItemsSource = _itemsList;
         * });
         * }
         * HideProgress();	}
         *
         */


        async void getRegion()
        {
            if (PropertiesManager.IsDateRegionTrue())
            {
                PropertiesManager.SaveRegionDate(dateToSend);
            }
            else
            {
                dateToSend = PropertiesManager.GetDataRegion();
            }
            if (PropertiesManager.IsDateFirstRegionTrue())
            {
                PropertiesManager.SaveFirstRegionDate(1);
            }
            else
            {
                PropertiesManager.SaveFirstRegionDate(PropertiesManager.GetFirstDataRegion() + 1);
            }
            CheckConnection();
            ShowProgress("Validando");
            String times = "";

            if (PropertiesManager.GetFirstDataRegion() > 1)
            {
                times = dateToSend.ToString("yyyy-MM-dd HH:MM:ss");
            }
            else
            {
                times = "0000-00-00 00:00:00";
            }
            _regionSer = await ClientGuanajoven.getRegion(times);

            var regiones = App.CurrentApp.RealmInstance.All <Region>().ToList();

            if (_regionSer != null && _regionSer.Count > 0)
            {
                MergeLists(_regionSer);

                /*	App.CurrentApp.RealmInstance.Write(() =>
                 *                      {
                 *                              if (regiones.Count > 0)
                 *                              {
                 *                                      foreach (var region in regiones)
                 *                                      {
                 *                                              foreach (var _region in _regionSer)
                 *                                              {
                 *                                                      if (region.id_region == _region.id_region)
                 *                                                      {
                 *                                                              App.CurrentApp.RealmInstance.Remove(region);
                 *                                                      }
                 *
                 *                                              }
                 *                                      }
                 *                              }
                 *
                 *                              foreach (var item in _regionSer)
                 *                              {
                 *                                      if (item.deleted_at != null)
                 *                                      {
                 *                                      }
                 *                                      else
                 *                                      {
                 *
                 *                                              App.CurrentApp.RealmInstance.Add(item);
                 *                                      }
                 *                              }
                 *                      });*/
            }

            regiones = App.CurrentApp.RealmInstance.All <Region>().ToList();
            if (regiones != null)
            {
                dateToSend = time;
                PropertiesManager.SaveRegionDate(dateToSend);
                regiones = regiones.OrderByDescending(x => x.created_at).ToList();
                _itemsList.Clear();
                //	eventos = App.CurrentApp.RealmInstance.All<Evento>().ToList();
                foreach (var item in regiones)
                {
                    _itemsList.Add(item);
                }


                Device.BeginInvokeOnMainThread(() =>
                {
                    if (ListView.ItemsSource != _itemsList)
                    {
                        ListView.ItemsSource = _itemsList;
                    }
                });
            }
            HideProgress();
        }