Example #1
0
        public async Task <clsDetalleEventoAgenda> getDetalleEventoAgenda()
        {
            var bounds = UIScreen.MainScreen.Bounds;

            loadPop = new LoadingOverlay(bounds, "Buscando Datos ...");
            View.Add(loadPop);

            client = new HttpClient();
            string url = Consts.ulrserv + "controldeobras/getEventoAgenda";
            var    uri = new Uri(string.Format(url));

            Dictionary <string, string> obj = new Dictionary <string, string>();

            obj.Add("idevento", idevento.ToString());
            var json = JsonConvert.SerializeObject(obj);

            string responseString = string.Empty;

            responseString = await funciones.llamadaRest(client, uri, loadPop, json, Consts.token);

            if (responseString.Equals("-1") || responseString.Equals("-2"))
            {
                funciones.SalirSesion(this);
                return(null);
            }

            var jsonresponse = JObject.Parse(responseString);

            var jtokenerror = jsonresponse["error_description"];


            if (jtokenerror != null)
            {
                loadPop.Hide();
                string error = jtokenerror.ToString();
                funciones.MessageBox("Error", error);
                return(null);
            }

            jtokenerror = jsonresponse["error"];


            if (jtokenerror != null)
            {
                loadPop.Hide();
                string error = jtokenerror.ToString();
                funciones.MessageBox("Error", error);
                return(null);
            }

            clsDetalleEventoAgenda objde = new clsDetalleEventoAgenda();

            objde.mes        = Int32.Parse(jsonresponse["mes"].ToString());
            objde.dia        = Int32.Parse(jsonresponse["dia"].ToString());
            objde.titulo     = jsonresponse["titulo"].ToString();
            objde.comentario = jsonresponse["comentario"].ToString();
            objde.lapso      = jsonresponse["lapso"].ToString();

            String strfechaini = jsonresponse["fechaini"].ToString();
            String strfechafin = jsonresponse["fechafin"].ToString();
            String strhoraini  = jsonresponse["horaini"].ToString();
            String strhorafin  = jsonresponse["horafin"].ToString();

            String patron = "yyyy-MM-dd HH:mm:ss";


            DateTime.TryParseExact(strfechaini + " " + strhoraini, patron, null, System.Globalization.DateTimeStyles.None, out fechainicio);
            DateTime.TryParseExact(strfechafin + " " + strhorafin, patron, null, System.Globalization.DateTimeStyles.None, out fechafin);



            JArray        jarrAsistentes = JArray.Parse(jsonresponse["usuarios"].ToString());
            List <String> lstAsistentes  = new List <String>();

            foreach (var jas in jarrAsistentes)
            {
                JObject jsonasistente = (JObject)jas;
                lstAsistentes.Add(jsonasistente["nombre"].ToString());
            }

            objde.usuarios = lstAsistentes;

            return(objde);
        }
Example #2
0
        public async override void ViewDidLoad()
        {
            base.ViewDidLoad();

            socketioinit();
            Dictionary <string, string> datosmetegrupo = new Dictionary <string, string>();

            datosmetegrupo.Add("idusuario", Consts.idusuarioapp);
            datosmetegrupo.Add("idevento", idevento.ToString());
            var jsonmetegrupo = JsonConvert.SerializeObject(datosmetegrupo);

            socket.Emit("meteUsuarioaGrupo", jsonmetegrupo);

            if (UIScreen.MainScreen.Bounds.Width == 414)
            {
                scrDetalleAgencia.ContentSize = new CoreGraphics.CGSize(355, 905);
            }
            else
            {
                scrDetalleAgencia.ContentSize = new CoreGraphics.CGSize(316, 1075);
            }

            btnAgregarCalendario.Layer.CornerRadius = 10;
            btnAgregarCalendario.ClipsToBounds      = true;

            btnEnviar.Layer.CornerRadius = 10;
            btnEnviar.ClipsToBounds      = true;

            btnUsuarios.Layer.CornerRadius = 10;
            btnUsuarios.ClipsToBounds      = true;
            lstusuarios = new List <String>();


            clsDetalleEventoAgenda objde = await getDetalleEventoAgenda();

            if (objde != null)
            {
                lblComentario.Text = objde.titulo;
                lblLapso.Text      = objde.lapso;
                lstusuarios        = objde.usuarios;
                imgFecha.Image     = UIImage.FromFile("calendario/schedule_" + objde.dia + ".png");
                notas  = objde.comentario;
                titulo = objde.titulo;
                inicializaCombos();
                loadPop.Hide();
            }

            /*lblComentario.Text = "Test de titulo";
             * lblLapso.Text = "2016-01-01 12:00:00 a 2016-01-01 12:00:00";
             * DateTime.TryParseExact("2016-01-01 12:00:00", "yyyy-MM-dd HH:mm:ss", null, System.Globalization.DateTimeStyles.None, out fechainicio);
             * DateTime.TryParseExact("2016-01-01 12:00:00", "yyyy-MM-dd HH:mm:ss", null, System.Globalization.DateTimeStyles.None, out fechafin);
             * lstusuarios.Add("Gerardo Javier Gamez Vazquez");
             * lstusuarios.Add("Fermin Mojica Araujo");
             * imgFecha.Image = UIImage.FromFile("calendario/schedule_7.png");
             * notas = "Evento prueba";
             * titulo = "Test de titulo";
             *
             * inicializaCombos();*/


            tblChatDetalleAgencia.Layer.BorderColor = UIColor.Black.CGColor;
            tblChatDetalleAgencia.Layer.BorderWidth = (nfloat)2.0;

            messages = new List <Message>();

            Boolean resp = await getMessagesEvento();

            if (resp)
            {
                loadPop.Hide();
                tblChatDetalleAgencia.ReloadData();
            }

            SetUpTableView();


            NSNotificationCenter.DefaultCenter.AddObserver(UIKeyboard.DidShowNotification, TecladoArriba);
            NSNotificationCenter.DefaultCenter.AddObserver(UIKeyboard.WillHideNotification, TecladoAbajo);

            txtChatDetalleAgencia.Started += OnTextViewStarted;

            btnEnviar.TouchUpInside += delegate
            {
                var text = txtChatDetalleAgencia.Text;
                txtChatDetalleAgencia.Text = string.Empty;                 // this will not generate change text event


                if (string.IsNullOrWhiteSpace(text))
                {
                    return;
                }

                Dictionary <string, string> datos = new Dictionary <string, string>();
                datos.Add("idusuario", Consts.idusuarioapp);
                datos.Add("mensaje", text);
                datos.Add("fecha", "");
                datos.Add("hora", "");
                datos.Add("nombre", Consts.nombreusuarioapp);
                datos.Add("iniciales", Consts.inicialesusuarioapp);
                datos.Add("idevento", idevento.ToString());

                var json = JsonConvert.SerializeObject(datos);

                socket.Emit("newMessageEvento", json);

                txtChatDetalleAgencia.EndEditing(true);
            };

            ScrollToBottom(true);



            txtChatDetalleAgencia.ShouldReturn += (txtUsuario) =>
            {
                ((UITextField)txtUsuario).ResignFirstResponder();
                return(true);
            };

            btnAgregarCalendario.TouchUpInside += delegate {
                App.Current.EventStore.RequestAccess(EKEntityType.Event, (bool granted, NSError err) =>
                {
                    if (granted)
                    {
                        UIApplication.SharedApplication.InvokeOnMainThread(delegate
                        {
                            agregaEventoaCalendario();
                        });
                    }
                    else
                    {
                        UIApplication.SharedApplication.InvokeOnMainThread(delegate
                        {
                            funciones.MessageBox("Permiso denegado", "No se ha concedido permiso para agregar el evento");
                        });
                    }
                });
            };
        }