Esempio n. 1
0
        public int NovaTransacao()
        {
            string json             = File.ReadAllText(pathControl);
            var    primeiroCadastro = String.IsNullOrEmpty(json);

            ChaveDominio            chave = _chaveRepositorio.ProximaChave(tipoTransacao);
            List <TransacaoDominio> transacoes;
            TransacaoDominio        transacao = new TransacaoDominio {
                Tid = chave.ProximaChave, Status = 0
            };

            if (primeiroCadastro)
            {
                transacoes = new List <TransacaoDominio>();
                transacoes.Add(transacao);
                EscreverNovasTransacoes(transacoes);
            }
            else
            {
                transacoes = JsonConvert.DeserializeObject <List <TransacaoDominio> >(json);
                transacoes.Add(transacao);
                EscreverNovasTransacoes(transacoes);
            }

            CriaArquivoProcessos(transacao.Path);

            return(transacao.Tid);
        }
Esempio n. 2
0
        public ChaveDominio ProximaChave(int tipoChave)
        {
            List <ChaveDominio> chaves            = this.ListarChaves();
            List <ChaveDominio> chavesAtualizadas = new List <ChaveDominio>();
            var chaveFiltro = chaves.Where(chave => chave.Tipo == tipoChave).First();

            ChaveDominio chaveRetorno = new ChaveDominio
            {
                Tipo         = chaveFiltro.Tipo,
                ProximaChave = chaveFiltro.ProximaChave,
                ChaveAtual   = chaveFiltro.ChaveAtual
            };

            foreach (ChaveDominio chave in chaves)
            {
                if (chave.Tipo == tipoChave)
                {
                    chave.ProximaChave++;
                    chave.ChaveAtual++;
                }

                chavesAtualizadas.Add(chave);
            }

            EscreverNovasChaves(chavesAtualizadas);

            return(chaveRetorno);
        }
Esempio n. 3
0
 private void PrepararChave(JsonTextWriter writer, ChaveDominio chave)
 {
     writer.WriteStartObject();
     writer.WritePropertyName("tipo");
     writer.WriteValue(chave.Tipo);
     writer.WritePropertyName("proximaChave");
     writer.WriteValue(chave.ProximaChave);
     writer.WritePropertyName("chaveAtual");
     writer.WriteValue(chave.ChaveAtual);
     writer.WriteEndObject();
 }