Esempio n. 1
0
        public ItemAlternancia(ItemAlternancia oldValue)
        {
            this.exibicoes = new List <TipoExibicao>();
            foreach (TipoExibicao te in oldValue.exibicoes)
            {
                this.exibicoes.Add(te);
            }

            this.nomeAlternancia = oldValue.nomeAlternancia;
        }
        private FormatoAlternancia ArquivoALTAssembly(Byte[] file)
        {
            FormatoAlternancia fa = new FormatoAlternancia();

            if (file != null)
            {
                fa.versao          = file[0];
                fa.QtdAlternancias = file[1];

                unsafe
                {
                    for (int i = 0; i < 60; i++)
                    {
                        fa.reservado[i] = file[i + 2];
                    }
                }

                fa.crc = (UInt16)(file[62] << 8);
                fa.crc = (UInt16)(fa.crc + ((byte)(file[63])));

                //montagem dos itens de alternancia.
                for (int i = 0; i < fa.QtdAlternancias; i++)
                {
                    //1 7 32
                    ItemAlternancia item = new ItemAlternancia();

                    byte[] dados = new byte[40];
                    Array.Copy(file, 64 + (i * 40), dados, 0, 40);
                    item.fromByteArray(dados);
                    //item.qntExibicoes = ((byte)file[i + 64]); //no setter;
                    ////qtd 40 bytes
                    //for(int exibicoes = 0; exibicoes < 7; exibicoes++)
                    //{
                    //    item.Exibicoes.Add((TipoExibicao) file[exibicoes + 65]);
                    //}

                    //Byte[] nomeTemp = new byte[32];
                    //for (int nome = 0; nome < 32; nome++)
                    //     nomeTemp[nome] = file[nome + 72];

                    //item.NomeAlternancia = System.Text.Encoding.Default.GetString(nomeTemp);

                    this.listaAlternancias.Add(item);
                }
            }
            else
            {
                throw new Exception(rm.GetString("ARQUIVO_ALT_ERRO_NULO_ARQUIVO")); //"Arquivo de Alternância nulo em ArquivoALTAssembly - Arquivo_ALT.cs");
            }

            return(fa);
        }
        public void AdicionarItemAlternancia(List <TipoExibicao> tipos, String linhaSuperior, String linhaInferior)
        {
            ItemAlternancia ia = new ItemAlternancia();

            if (linhaSuperior.Length > 16)
            {
                throw new Exception(rm.GetString("ARQUIVO_ALT_ERRO_TAMANHO_LINHA_SUPERIOR")); //"O número de caracteres excede na linha superior!");
            }
            if (linhaInferior.Length > 16)
            {
                throw new Exception(rm.GetString("ARQUIVO_ALT_ERRO_TAMANHO_LINHA_INFERIOR")); //"O número de caracteres excede na linha inferior!");
            }
            // Completar a string com espaços até completar 16 caracteres.
            linhaSuperior = linhaSuperior.PadRight(16, ' ');
            linhaInferior = linhaInferior.PadRight(16, ' ');

            ia.Exibicoes.AddRange(tipos.ToArray());
            ia.NomeAlternancia = linhaSuperior + linhaInferior;
            this.listaAlternancias.Add(ia);

            //AtualizarCRC();
        }
 public void RemoverItemAlternancia(ItemAlternancia item)
 {
     listaAlternancias.Remove(item);
     AtualizarCRC();
 }