Ejemplo n.º 1
0
        private Alimento(Parcel source)
        {
            id         = source.ReadInt();
            designacao = source.ReadString();
            preco      = source.ReadFloat();
            if (preco == -1.0f)
            {
                preco = null;
            }

            int nIngredientes = source.ReadInt();

            ingredientes = new HashSet <string>();
            for (int i = 0; i < nIngredientes; ++i)
            {
                ingredientes.Add(source.ReadString());
            }

            foto = source.CreateByteArray();
            idEstabelecimento = source.ReadInt();

            int nClassificacoes = source.ReadInt();

            classificacoes = new List <Classificacao>(nClassificacoes);
            var classLoader = new Classificacao().Class.ClassLoader;

            for (int i = 0; i < nClassificacoes; ++i)
            {
                classificacoes[i] = (Classificacao)source.ReadParcelable(classLoader);
            }

            classificacaoMedia = source.ReadFloat();
        }
Ejemplo n.º 2
0
        private Estabelecimento(Parcel source)
        {
            id          = source.ReadInt();
            nome        = source.ReadString();
            contactoTel = source.ReadString();
            coords      = (Location)source.ReadParcelable(new Location("").Class.ClassLoader);
            horario     = source.ReadString();
            tipo        = source.ReadString();
            descricao   = source.ReadString();

            // Leitura dos Nullable<bool>
            aceitaReservas = source.CreateBooleanArray()?[0];
            temMb          = source.CreateBooleanArray()?[0];
            temTakeaway    = source.CreateBooleanArray()?[0];
            temServMesa    = source.CreateBooleanArray()?[0];
            temEsplanada   = source.CreateBooleanArray()?[0];
            temParqueEstac = source.CreateBooleanArray()?[0];
            temTv          = source.CreateBooleanArray()?[0];
            temWifi        = source.CreateBooleanArray()?[0];
            temZonaFum     = source.CreateBooleanArray()?[0];
            permanFechado  = source.CreateBooleanArray()?[0];

            // Leitura dos restantes campos.
            morada = source.ReadString();

            // Escrita dos restantes campos
            int         nAlimentos          = source.ReadInt();
            ClassLoader alimentoClassLoader = new Alimento().Class.ClassLoader;

            alimentos = new Dictionary <int, Alimento>(nAlimentos);
            for (int i = 0; i < nAlimentos; ++i)
            {
                int id = source.ReadInt();
                alimentos[id] = (Alimento)source.ReadParcelable(alimentoClassLoader);
            }

            int         nClassificacoes          = source.ReadInt();
            ClassLoader classificacaoClassLoader = new Classificacao().Class.ClassLoader;

            classificacoes = new List <Classificacao>(nClassificacoes);
            for (int i = 0; i < nClassificacoes; ++i)
            {
                classificacoes[i] = (Classificacao)source.ReadParcelable(classificacaoClassLoader);
            }

            foto = source.CreateByteArray();
            classificacaoMedia = source.ReadFloat();
        }