private clsAgenda getobjAgenda(Object varjson) { clsAgenda obj = new clsAgenda(); JObject json = (JObject)varjson; obj.mes = Int32.Parse(json["mes"].ToString()); obj.comentario = ""; List <clsEventoAgenda> lste = new List <clsEventoAgenda>(); JArray jrarray; try { var jsoneventos = JArray.Parse(json["eventos"].ToString()); jrarray = jsoneventos; } catch (Exception e) { Console.WriteLine(e.ToString()); jrarray = null; } if (jrarray != null) { foreach (var ev in jrarray) { clsEventoAgenda e = new clsEventoAgenda(); JObject jsonev = (JObject)ev; e.idevento = Int32.Parse(jsonev["idevento"].ToString()); e.dia = Int32.Parse(jsonev["dia"].ToString()); e.comentario = jsonev["titulo"].ToString(); e.lapso = jsonev["lapso"].ToString(); lste.Add(e); } } obj.lstEventos = lste; return(obj); }
public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath) { if (isChild(indexPath)) { int indicesubarreglo = indexPath.Row - (currentExpandedIndex + 1); var cell = tableView.DequeueReusableCell(celdahija) as CustomAgendaCell; if (cell == null) { cell = new CustomAgendaCell((NSString)celdahija); } clsAgenda objagenda = LstDatosAgenda.ElementAt(currentExpandedIndex); clsEventoAgenda objev = objagenda.lstEventos.ElementAt(indicesubarreglo); String strComentario = objev.comentario; String strLapso = objev.lapso; UIImage imgFecha = UIImage.FromFile("calendario/schedule_" + objev.dia + ".png"); cell.UpdateCell(strComentario, strLapso, imgFecha); cell.Accessory = UITableViewCellAccessory.None; return(cell); } else { int indicearreglo = indexPath.Row; if (currentExpandedIndex > -1 && indexPath.Row > currentExpandedIndex) { indicearreglo -= LstDatosAgenda.ElementAt(currentExpandedIndex).lstEventos.Count; } Boolean blnTieneEventos = false; if (LstDatosAgenda.ElementAt(indicearreglo).lstEventos.Count > 0) { blnTieneEventos = true; } clsAgenda objagenda = LstDatosAgenda.ElementAt(indicearreglo); var cell = tableView.DequeueReusableCell(celdapadre) as CustomPadreAgendaCell; if (cell == null) { cell = new CustomPadreAgendaCell((NSString)ChildCellIndentifier, funciones.getColorMes(objagenda.mes)); } UIImage img = null; if (blnTieneEventos) { img = UIImage.FromFile("more.png"); } cell.UpdateCell(funciones.getNombreMes(objagenda.mes), img); return(cell); } }
public async Task <Boolean> getAgenda() { var bounds = UIScreen.MainScreen.Bounds; loadPop = new LoadingOverlay(bounds, "Buscando Agenda ..."); View.Add(loadPop); client = new HttpClient(); string url = Consts.ulrserv + "controldeobras/getListadoAgenda"; var uri = new Uri(string.Format(url)); Dictionary <string, string> obj = new Dictionary <string, string>(); obj.Add("idusuario", Consts.idusuarioapp); 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(false); } JArray jrarray; try { var jsonresponse = JArray.Parse(responseString); jrarray = jsonresponse; } catch (Exception e) { loadPop.Hide(); var jsonresponse = JObject.Parse(responseString); string mensaje = "error al traer los mensajes del servidor: " + e.HResult; var jtokenerror = jsonresponse["error"]; if (jtokenerror != null) { mensaje = jtokenerror.ToString(); } funciones.MessageBox("Error", mensaje); return(false); } foreach (var jsonag in jrarray) { clsAgenda objag = getobjAgenda(jsonag); LstDatosAgenda.Add(objag); } return(true); }