protected override object JGetObject(MemoryStream bytes) { Console.WriteLine("Inicio Deserializar Lista"); object[] partes = base.GetPartsObject(bytes); Lista lista = new Lista((string)partes[NAME], (long)partes[ID]); Tarea[] tareas = (Tarea[])partes[TAREAS]; long[] idTareasHechas = (long[])partes[IDTAREASHECHAS]; DateTime[] fechasTareasHechas = (DateTime[])partes[FECHATAREASHECHAS]; long[] idTareasOcultas = (long[])partes[IDTAREASOCULTAS]; long[] idListasHeredadas = (long[])partes[IDLISTASHEREDADAS]; lista.Tareas.AddRange(tareas); lista.TareasOcultas.AddRange(idTareasOcultas); lista.ListasHerencia.AddRange(idListasHeredadas); for (int i = 0; i < idTareasHechas.Length; i++) { lista.TareasHechas.Add(idTareasHechas[i], fechasTareasHechas[i]); } Console.WriteLine("Fin Deserializar Lista"); return(lista); }
protected override IList IGetPartsObject(object obj) { Console.WriteLine("Inicio Serializar Lista"); object[] partes; Lista lista = obj as Lista; if (lista == null) { throw new Exception("El tipo de objeto valido es Lista"); } partes = new object[TOTAL]; partes[ID] = lista.Id; partes[NAME] = lista.Name; partes[TAREAS] = lista.Tareas.GetValues(); partes[IDTAREASHECHAS] = lista.TareasHechas.GetKeys(); partes[FECHATAREASHECHAS] = lista.TareasHechas.GetValues(); partes[IDTAREASOCULTAS] = lista.TareasOcultas.GetKeys(); partes[IDLISTASHEREDADAS] = lista.ListasHerencia.GetKeys(); Console.WriteLine("Fin Serializar Lista"); return(partes); }