예제 #1
0
        public void Debitar(decimal valor, string conta, TipoConta tipoConta)
        {
            if (tipoConta == TipoConta.Corrente)
            {
                // Debita Conta Corrente
            }

            if (tipoConta == TipoConta.Poupanca)
            {
                // Valida Aniversário da Conta
                // Debita Conta Poupança
            }
        }
        public void Debitar(decimal valor, TipoConta tipoConta)
        {
            if (tipoConta == TipoConta.Corrente)
            {
                //Debitar do saldo
            }

            if (tipoConta == TipoConta.Poupanca)
            {
                //Validar aniversário da conta
                //Debitar do saldo
            }
        }
예제 #3
0
        public void Debitar(decimal valor, string conta, TipoConta tipoConta)
        {
            if (tipoConta == TipoConta.Corrente)
            {
                // Debita Conta Corrente
            }

            if (tipoConta == TipoConta.Poupanca)
            {
                // Valida Aniversário da Conta
                // Debita Conta Poupança
            }
        }
        public static TipoContaResource ModelToResource(TipoConta tipoConta)
        {
            var tipoContaResource = new TipoContaResource()
            {
                Descricao = tipoConta.Descricao,

                Id           = tipoConta.Id,
                IsAtivo      = tipoConta.IsAtivo,
                CriadoPor    = tipoConta.CriadoPor,
                DataRegistro = tipoConta.DataRegistro
            };

            return(tipoContaResource);
        }
        public Conta(TipoConta tipoConta, double saldo, double credito, string nome, int[] senha)
        {
            TipoConta   = tipoConta;
            Saldo       = saldo;
            Credito     = credito;
            Nome        = nome;  //Como evitar que o nome digitado seja um espaço vazio?
            Senha       = senha; //Tem como eu mudar a visibilidade após setar esse valor???
            NumeroConta = gerarNumeroDaConta();

            Console.Clear();
            Console.WriteLine($"Conta criada com sucesso! O número da sua conta é {NumeroConta}.");
            Console.WriteLine("Anote-o para que possa realizar transações mais tarde.");
            Console.ReadLine();
        }
예제 #6
0
        public static ContaBase Criar(TipoConta tipoConta)
        {
            switch (tipoConta)
            {
            case TipoConta.Especial:
                return(new ContaEspecial());

            case TipoConta.Corrente:
                return(new ContaCorrente());

            default:
                throw new InvalidOperationException("Tipo de conta não identificado");
            }
        }
예제 #7
0
        public void ProcessRequest(HttpContext context)
        {
            try
            {
                this.RefreshFromParameters(context.Request, System.Globalization.CultureInfo.GetCultureInfo("pt-BR"));

                var dominioFluxo = ServiceLocator.Current.GetInstance <Negocios.IDominioFluxo>();

                var arq = new Negocios.Entidades.Dominio.Arquivo();

                if (Receber)
                {
                    var Recebida = ExibirAReceber == true ? (bool?)null : true;

                    var trocador1 = 0;

                    var tiposConta = TipoConta.Split(',').Select(f => int.TryParse(f, out trocador1)).Select(f => trocador1);

                    arq = dominioFluxo.GerarArquivoRecebidas(IdPedido, IdLiberarPedido, IdAcerto, IdAcertoParcial,
                                                             IdTrocaDevolucao, NumeroNfe, IdLoja, IdFuncionario, IdFuncionarioRecebido, IdCliente, TipoEntrega, NomeCliente,
                                                             DataInicioVencimento, DataFimVencimento, DataInicioRecebimento, DataFimRecebimento, null, null, IdFormaPagto,
                                                             TipoBoleto, ValorInicial, ValorFinal, IdContaBancoRecebimento, Renegociadas, Recebida, IdComissionado, IdRota, Obs, Ordenar, tiposConta,
                                                             NumArqRemessa, RefObra, ContasCnab, IdVendedorAssociado, IdVendedorObra, IdComissao, NumCte, Protestadas, ContasVinculadas);
                }
                else
                {
                    arq = dominioFluxo.GerarArquivoPagas(IdContaPg, IdCompra, Nf, IdLoja, IdCustoFixo, IdImpostoServ, IdFornec, NomeFornec, FormaPagto, DataInicioCadastro, DataFimCadastro,
                                                         DataIniPago, DataFimPago, DataIniVenc, DataFimVenc, ValorInicial, ValorFinal, Tipo, Comissao == true, Renegociadas == true, PlanoConta, CustoFixo == true,
                                                         ExibirAPagar == true, IdComissao, NumeroCte, Observacao);
                }

                if (arq == null)
                {
                    throw new Exception("Nenhuma conta encontrada.");
                }

                var data        = DateTime.Now;
                var nomeArquivo = "DOMINIO_" + data.Day + "_" + data.Month + "_" + data.Year + "_" + data.Millisecond + ".txt";

                context.Response.AddHeader("Content-Disposition", "attachment; filename=\"" + nomeArquivo + "\"");

                arq.Salvar(context.Response.OutputStream);
            }
            catch (Exception ex)
            {
                // Devolve o erro
                context.Response.ContentType = "text/html";
                context.Response.Write(GetErrorResponse(ex));
            }
        }
예제 #8
0
        // GET: /TipoConta/Edit/5
        public ActionResult Edit(int?id)
        {
            Seguranca.ValidaAcesso(28);
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TipoConta tipoconta = db.TiposConta.Find(id);

            if (tipoconta == null)
            {
                return(HttpNotFound());
            }
            return(View(tipoconta));
        }
예제 #9
0
        public void Debitar(decimal valor, string conta, TipoConta tipoConta)
        {
            if (tipoConta == TipoConta.Corrente)
            {
                // Debita conta corrente
            }

            if (tipoConta == TipoConta.Poupanca)
            {
                // Valida aniversário da conta
                // Debita conta poupança
            }

            // Se entrar mais um tipo de conta, vamos ter que adicionar mais um if e assim o código fica aberto
        }
예제 #10
0
        public void Debitar(decimal valor, string conta, TipoConta tipoConta)
        {
            if (tipoConta == TipoConta.Corrente)
            {
                //debita conta corrente
            }

            if (tipoConta == TipoConta.Poupanca)
            {
                //valida aniversario
                //debita poupança
            }

            //caso precise adicionar mais um tipo de conta, quebro tudo!
        }
        public async Task <ContaCorrente> ObterContaPorDadosBancariosAsync(string agencia, string numeroConta,
                                                                           int digitoVerificador, string numeroDocumento,
                                                                           TipoConta tipoConta,
                                                                           CancellationToken cancellationToken)
        {
            using var session = _documentStoreResolver.ReadableDocumentStore.LightweightSession();

            var result = await session.Query <ContaCorrente>().Where(x =>
                                                                     x.Agencia == agencia &&
                                                                     x.NumeroConta == numeroConta &&
                                                                     x.DigitoVerificadorConta == digitoVerificador &&
                                                                     x.NumeroDocumento == numeroDocumento)
                         .FirstOrDefaultAsync();

            return(result);
        }
예제 #12
0
        public void Debitar(decimal valor, string conta, TipoConta tipoConta)
        {
            if (tipoConta == TipoConta.Corrente)
            {
                // lógica para debitar da conta corrente aqui
                Console.WriteLine("Efetuando Débito em conta corrente!!");
                Console.WriteLine("Débito em conta corrente efetuado com sucesso!!");
            }

            if (tipoConta == TipoConta.Poupanca)
            {
                // lógica para debitar da conta poupança aqui
                Console.WriteLine("Efetuando Débito em conta poupança!!");
                Console.WriteLine("Débito em conta poupança efetuado com sucesso!!");
            }
        }
예제 #13
0
 internal int Alterar(TipoConta tcAlterado)
 {
     try
     {
         using (avrasContext contexto = new avrasContext())
         {
             var tcAtual = contexto.TipoConta.Where(p => p.Id == tcAlterado.Id).FirstOrDefault();
             tcAtual.Nome      = tcAlterado.Nome;
             tcAtual.Descricao = tcAlterado.Descricao;
             return(contexto.SaveChanges());
         }
     }
     catch (Exception ex)
     {
         return(-1);
     }
 }
예제 #14
0
        private void AddTipoConta()
        {
            var corrente = new TipoConta {
                Tipo = "Conta Corrente"
            };
            var poupanca = new TipoConta {
                Tipo = "Conta Poupança"
            };
            var investimento = new TipoConta {
                Tipo = "Investimentos"
            };
            var outros = new TipoConta {
                Tipo = "Outros"
            };

            this.context.TipoContas.AddRange(corrente, poupanca, investimento, outros);
        }
예제 #15
0
        public Conta Adicionar(TipoConta tipoConta, int CpfOuCnpj, string nome, double saldo, double credito)
        {
            Conta novaConta;

            if (tipoConta.Equals(TipoConta.PessoaFisica))
            {
                novaConta = new ContaPessoaFisica();
            }
            else
            {
                novaConta = new ContaPessoaJuridica();
            }

            novaConta.Adicionar(CpfOuCnpj, nome, saldo, credito);
            listContas.Add(novaConta);
            return(novaConta);
        }
예제 #16
0
        private static void CadastrarConta()
        {
            Console.WriteLine("Cadastrando Nova Conta");
            Console.Write("Nome do Titular: ");
            string nomeConta = Console.ReadLine();

            Console.Write("Informe 1 para Pessoa Fisica ou 2 para Pessoa Juridica: ");
            ModeloConta modeloConta = Enum.Parse <ModeloConta>(Console.ReadLine());

            Console.Write("Informa 1 para Conta Corrente ou 2 para ContaPoupanca: ");
            TipoConta tipoConta = Enum.Parse <TipoConta>(Console.ReadLine());

            Console.Write("Saldo inicial: R$ ");
            double saldoConta = double.Parse(Console.ReadLine());

            ListaConta.Add(new Conta(nomeConta, modeloConta, tipoConta, saldoConta));
            Console.WriteLine("");
        }
예제 #17
0
        private void InserirConta()
        {
            Console.Write("Digite 1 para conta física ou 2 para jurídica: ");
            TipoConta tipoConta = (TipoConta)int.Parse(Console.ReadLine());

            Console.Write("Digite o nome do cliente: ");
            string nomeCliente = Console.ReadLine().Trim();

            Console.Write("Digite o saldo inicial: ");
            double saldoInicial = double.Parse(Console.ReadLine());

            Console.Write("Digite o limite de crédito: ");
            double limiteCredito = double.Parse(Console.ReadLine());

            Conta novaConta = new Conta(tipoConta, saldoInicial, limiteCredito, nomeCliente);

            listContas.Add(novaConta);
        }
예제 #18
0
        public IActionResult save([FromBody] TipoConta tipoConta)
        {
            try
            {
                int tipoContaId         = tipoConta.TipoContaCodigo;
                var registeredTipoConta = _TipoContaRepository.listById(tipoContaId);

                if (registeredTipoConta == null || registeredTipoConta.TipoContaCodigo != tipoContaId)
                {
                    _TipoContaRepository.save(tipoConta);
                    return(Created("/api/tipoConta", tipoConta));
                }
                return(Ok(null));
            }
            catch (Exception error)
            {
                return(BadRequest("Error: " + error));
            }
        }
예제 #19
0
        private static void Adicionar()
        {
            Console.WriteLine("- Nova Conta");

            TipoConta entradaTipoConta = (TipoConta)validarEntradaTipoConta();
            int       entradaCpfOuCnpj = entradaTipoConta.Equals(TipoConta.PessoaFisica) ? validarEntradaInt("cpf") : validarEntradaInt("cnpj");

            Console.Write("Digite seu nome: ");
            string entradaNome = Console.ReadLine();

            double entradaSaldo   = validarEntradaDouble("saldo");
            double entradaCredito = validarEntradaDouble("crédito");

            ContaController contaController = new ContaController();
            var             conta           = contaController.Adicionar(entradaTipoConta, entradaCpfOuCnpj, entradaNome, entradaSaldo, entradaCredito);

            Console.WriteLine($"> Conta criada: { conta.ToString() }");
            Console.ReadKey();
        }
예제 #20
0
        public CadastrarContaEntrada(
            int idUsuario,
            string nome,
            TipoConta tipo,
            decimal?valorSaldoInicial = null,
            string nomeInstituicao    = null,
            string numeroAgencia      = null,
            string numero             = null)
        {
            this.IdUsuario         = idUsuario;
            this.Nome              = nome;
            this.Tipo              = tipo;
            this.ValorSaldoInicial = valorSaldoInicial;
            this.NomeInstituicao   = nomeInstituicao;
            this.NumeroAgencia     = numeroAgencia;
            this.Numero            = numero;

            this.Validar();
        }
예제 #21
0
        public List <TipoContaViewModel> Listar()
        {
            var tipoContas = new TipoConta().BuscarTipoConta();

            if (tipoContas != null && tipoContas.Count > 0)
            {
                return((from tipoConta in tipoContas
                        select new TipoContaViewModel()
                {
                    Id = tipoConta.Id,
                    Nome = tipoConta.Nome,
                    Descricao = tipoConta.Descricao,
                }).ToList());
            }
            else
            {
                return(null);
            }
        }
예제 #22
0
        private static void CriarConta()
        {
            Console.WriteLine("Inserir nova Conta");
            Console.Write("Digite 1 para Conta Fisica e 2 para Conta Juridica: ");
            TipoConta tipoConta = (TipoConta)int.Parse(Console.ReadLine());

            Console.Write("Digite o nome do Cliente: ");
            string nome = Console.ReadLine();

            Console.Write("Digite o saldo inicial do Cliente: ");
            double saldo = double.Parse(Console.ReadLine());

            Console.Write("Digite o crédito: ");
            double credito = double.Parse(Console.ReadLine());

            Conta conta = new Conta(nome, saldo, credito, tipoConta);

            contas.Add(conta);
        }
예제 #23
0
파일: Conta.cs 프로젝트: alvisvini/PIM22018
        public Conta(string titulo, string descricao, double valor, TipoConta tipoConta, string data)
        {
            Titulo    = titulo;
            Descricao = descricao;
            Valor     = valor;

            TipoConta = tipoConta;
            if (TipoConta == TipoConta.SAIDA)
            {
                Cor           = Color.Red;
                ImagemCaminho = "sair.png";
            }
            else
            {
                Cor           = Color.Green;
                ImagemCaminho = "entrar.png";
            }
            Data = data;
        }
예제 #24
0
        private void tipoContaComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (tipoContaComboBox.SelectedIndex == -1)
            {
                return;
            }

            TipoConta tipoConta = (TipoConta)tipoContaComboBox.SelectedItem;

            if (tipoConta == TipoConta.ContaEspecial)
            {
                limiteDockPanel.Visibility = Visibility.Visible;
                limiteTextBox.Focus();
            }
            else
            {
                limiteDockPanel.Visibility = Visibility.Collapsed;
                limiteTextBox.Clear();
            }
        }
예제 #25
0
 public ContaSaida(
     int id,
     string nome,
     TipoConta tipo,
     decimal?valorSaldoInicial,
     string nomeInstituicao,
     string numeroAgencia,
     string numero,
     decimal?valorSaldoAtual = null)
 {
     Id                = id;
     Nome              = nome;
     CodigoTipo        = (int)tipo;
     DescricaoTipo     = tipo.ObterDescricao();
     ValorSaldoInicial = valorSaldoInicial;
     NomeInstituicao   = nomeInstituicao;
     NumeroAgencia     = numeroAgencia;
     Numero            = numero;
     ValorSaldoAtual   = valorSaldoAtual;
 }
예제 #26
0
        public Conta(Cliente cliente, Agencia agencia, TipoConta tipoConta, double credito)
        {
            Cliente = cliente;

            if (Enum.IsDefined(typeof(Agencia), agencia) == false)
            {
                throw new ArgumentOutOfRangeException("agencia", String.Format("{0} é uma opção inválida!", agencia));
            }

            Agencia = agencia;

            if (Enum.IsDefined(typeof(TipoConta), tipoConta) == false)
            {
                throw new ArgumentOutOfRangeException("tipoConta", String.Format("{0} é uma opção inválida!", tipoConta));
            }

            TipoConta = tipoConta;

            Saldo   = 0;
            Credito = credito;
        }
예제 #27
0
        public ContaEntrada(
            int idUsuario,
            string nome,
            TipoConta tipo,
            decimal?valorSaldoInicial = null,
            string nomeInstituicao    = null,
            string numeroAgencia      = null,
            string numero             = null)
        {
            this.IdUsuario         = idUsuario;
            this.Nome              = tipo == TipoConta.Acoes ? nome.ToUpper() : nome;
            this.Tipo              = tipo;
            this.ValorSaldoInicial = valorSaldoInicial.HasValue && valorSaldoInicial.Value == 0
                ? null
                : valorSaldoInicial;
            this.NomeInstituicao = nomeInstituicao;
            this.NumeroAgencia   = numeroAgencia;
            this.Numero          = numero;

            this.Validar();
        }
예제 #28
0
        public void Debitar(decimal valor, string conta, TipoConta tipoConta)
        {
            if (tipoConta == TipoConta.Poupanca)
            {
                // Valida Aniversário da Conta
                // Lógica para Debita da Poupança
                Console.WriteLine($"A conta poupança, número: {conta}, foi debitado um valor de {valor}.");
            }
            if (tipoConta == TipoConta.Corrente)
            {
                // Lógica para Debita da Conta Corrente
                Console.WriteLine($"A conta corrente, número: {conta}, foi debitado um valor de {valor}.");
            }

            /*
             * if (tipoConta == TipoConta.Investimento)
             * {
             *  Console.WriteLine($"A conta investimento, número: {conta}, foi debitado um valor de {valor}.");
             * }
             */
        }
예제 #29
0
        private static void InserirConta()
        {
            Console.WriteLine("Inserir nova conta.");

            Console.WriteLine("Digite 1 para conta fisica, 2 para conta juridica:");
            TipoConta tipoConta = (TipoConta)Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Digite o nome do cliente:");
            string nome = Console.ReadLine();

            Console.WriteLine("Digite o saldo inicial:");
            double saldoInicial = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("Digite o credito:");
            double credito = Convert.ToDouble(Console.ReadLine());


            Conta novaConta = new Conta(nome, tipoConta, saldoInicial, credito);

            listContas.Add(novaConta);
        }
    public async Task <ActionResult <TipoConta> > Post(
        [FromServices] DataContext context,
        [FromBody] TipoConta model)
    {
        if (!ModelState.IsValid)
        {
            return(BadRequest(ModelState));
        }

        try
        {
            context.TipoConta.Add(model);
            await context.SaveChangesAsync();

            return(Ok(model));
        }
        catch
        {
            return(BadRequest(new { message = "Não foi possivel concluir o cadastro" }));
        }
    }
예제 #31
0
        public void CriarConta(List <Conta> listaContas)
        {
            Console.WriteLine("\nFaltam apenas alguns passos para você ser mais um dos nossos clientes!\n");
            Thread.Sleep(2000);
            Console.WriteLine("Agora, digite seu nome completo por favor..\n");
            string nome = Console.ReadLine();

            Thread.Sleep(1000);
            Console.WriteLine("Digite sua idade por favor..\n");
            int idade = int.Parse(Console.ReadLine());

            Thread.Sleep(1000);
            Console.WriteLine("Digite o saldo que inicial de sua conta..\n");
            double saldo = double.Parse(Console.ReadLine());

            Console.WriteLine("{0} deseja obter uma linha de credito?", nome);
            Console.WriteLine("\n\t[1] Sim, desejo!\n\t[0] Não nesse momento.");
            int cred = int.Parse(Console.ReadLine());

            Console.WriteLine("Qual o tipo de conta desejada ?");
            Console.WriteLine("\n\t[1] Pessoa Fisica \n\t [2] Pessoa Juridica");
            TipoConta entradaTipoConta = (TipoConta)int.Parse(Console.ReadLine());

            Console.WriteLine("\nAguarde um momento, estamos criando sua conta em nosso banco!\n");

            Conta novaConta = new Conta(tipoConta: entradaTipoConta, saldo: saldo, idade: idade, nome: nome);

            if (cred == 1)
            {
                Console.WriteLine("Estamos avaliando sua linha de crédito.. aguarde mais alguns minutos.");

                var creditoService = new CreditoService();

                novaConta.ObterCredito(creditoService);
            }

            contas.Add(novaConta);

            Console.WriteLine("\nParabéns {0}, nosso mais novo cliente no DIO Bank!", novaConta.Nome);
        }
        private void ValidaContas(EstruturaOrcamentariaExcel estruturaOrcamentariaExcel)
        {
            tipoContaOutras = TiposContaRepositorio.ObterPor((int)TipoContaEnum.Outros);

            Conta conta = null;

            if (Contas.Any(c => c.CodigoDaConta == estruturaOrcamentariaExcel.CodigoDaConta))
                conta = Contas.First(c => c.CodigoDaConta == estruturaOrcamentariaExcel.CodigoDaConta);
            else
                conta = ContasRepositorio.ObterContaPor(estruturaOrcamentariaExcel.CodigoDaConta);

            Especificacao especificacaoConta = FabricaDeEspecificacaoCargaValidaEstruturaOrcamentariaConta.ObterEspecificacao(estruturasOrcamentariasExcel, estruturaOrcamentariaExcel, conta);
            especificacaoConta.IsSatisfiedBy(carga);

            estruturaOrcamentariaExcel.Conta = conta;

            if (!Contas.Any(c => c.CodigoDaConta == estruturaOrcamentariaExcel.CodigoDaConta) && conta != null)
                Contas.Add(conta);
        }
예제 #33
0
        public void c_integrar_dados_do_excel_test()
        {
            var tiposConta = new TiposConta();

            var tipoContaOutras = new TipoConta { Nome = "Outras" };

            tiposConta.Adicionar(tipoContaOutras);

            string _conectionstring;
            _conectionstring = @"Provider=Microsoft.Jet.OLEDB.4.0;";
            _conectionstring += String.Format("Data Source={0};", "D:\\Hospital2.xls");
            _conectionstring += "Extended Properties='Excel 8.0;HDR=NO;'";

            OleDbConnection cn = new OleDbConnection(_conectionstring);
            OleDbCommand cmd = new OleDbCommand("Select * from [HOSPITAL x CENTRO CUSTO MOD$]", cn);
            cn.Open();
            OleDbDataReader reader = cmd.ExecuteReader();

            List<RegistroExcel> documento = new List<RegistroExcel>();

            List<Conta> listaContas = new List<Conta>();
            List<CentroDeCusto> listaCentrosDeCusto = new List<CentroDeCusto>();

            Hospitais repositorioDeHospitais = new Hospitais();
            CentrosDeCusto repositorioDeCusto = new CentrosDeCusto();
            Contas repositorioContas = new Contas();

            int i = 0;

            while (reader.Read())
            {
                if (i == 0)
                {
                    i++;
                    continue;
                }
                if (reader[0] == DBNull.Value)
                    break;

                RegistroExcel registroExcel = new RegistroExcel()
                {
                    NomeHospital = (string)reader[0],
                    CodigoCentroDeCusto = (string)reader[1],
                    DescricaoCentroDeCusto = (string)reader[2]
                };

                if (reader[3] != DBNull.Value)
                {
                    registroExcel.DescricaoConta = (string)reader[3];
                    registroExcel.CodigoConta = (string)reader[4];
                    registroExcel.GrupoResumoNome = (string)reader[5];
                }

                documento.Add(registroExcel);
            }

            cn.Close();
            cn.Dispose();
            cmd.Dispose();

            var gruposDeConta = documento.Select(x => x.GrupoResumoNome).Distinct();

            var codigosDeConta = documento.Select(x => x.CodigoConta).Distinct();

            foreach (var codigoDeConta in codigosDeConta)
            {
                string descricaoDaConta = documento.Where(x => x.CodigoConta == codigoDeConta).Select(y => y.DescricaoConta).Distinct().First();

                Conta conta;
                if (!listaContas.Any(c => c.CodigoDaConta == codigoDeConta))
                {
                    conta = new Conta(descricaoDaConta, tipoContaOutras)
                    {
                        CodigoDaConta = codigoDeConta
                    };
                    repositorioContas.Salvar(conta);
                    listaContas.Add(conta);
                }
                else
                    conta = listaContas.Where(c => c.CodigoDaConta == codigoDeConta).FirstOrDefault();

            }
            GruposDeConta grupos = new GruposDeConta();
            List<GrupoDeConta> gruposDeContaLista = new List<GrupoDeConta>();
            foreach (var grupo in gruposDeConta)
            {
                GrupoDeConta grupoDeConta = new GrupoDeConta(grupo);

                var contasDoGrupo = documento.Where(x => x.GrupoResumoNome == grupo).Select(y => y.CodigoConta).Distinct();

                foreach (var codigoConta in contasDoGrupo)
                {
                    var conta = listaContas.Where(c => c.CodigoDaConta == codigoConta).FirstOrDefault();

                    grupoDeConta.Adicionar(conta);
                }

                gruposDeContaLista.Add(grupoDeConta);
                grupos.Salvar(grupoDeConta);
            }

            var codigosDecentrosDeCusto = documento.Select(x => x.CodigoCentroDeCusto).Distinct();

            foreach (var codigoDeCentro in codigosDecentrosDeCusto)
            {
                var descricaoDeCentroDeCusto = documento.Where(x => x.CodigoCentroDeCusto == codigoDeCentro).Select(y => y.DescricaoCentroDeCusto).Distinct().First();

                CentroDeCusto centroDeCusto = new CentroDeCusto(descricaoDeCentroDeCusto)
                {
                    CodigoDoCentroDeCusto = codigoDeCentro
                };

                var contas = documento.Where(x => x.CodigoCentroDeCusto == codigoDeCentro).Select(y => y.CodigoConta).Distinct();

                foreach (var conta in contas)
                {
                    centroDeCusto.AdicionarConta(listaContas.Where(x => x.CodigoDaConta == conta).SingleOrDefault());
                }

                repositorioDeCusto.Salvar(centroDeCusto);
                listaCentrosDeCusto.Add(centroDeCusto);
            }

            var hospitais = documento.Select(x => x.NomeHospital).Distinct();

            foreach (var nomeHospital in hospitais)
            {
                Hospital hospital = new Hospital();

                hospital.Nome = nomeHospital;

                var centrosDeCusto = documento.Where(x => x.NomeHospital == hospital.Nome).Select(y => y.CodigoCentroDeCusto).Distinct();

                foreach (var codigoCentroCusto in centrosDeCusto)
                {
                    hospital.AdicionarCentroDeCusto(listaCentrosDeCusto.Where(x => x.CodigoDoCentroDeCusto == codigoCentroCusto).SingleOrDefault());
                }

                repositorioDeHospitais.Salvar(hospital);
            }
        }
예제 #34
0
        public void s_inserir_novo_centro_de_custo_hospitalar()
        {
            var tiposConta = new TiposConta();

            var tipoContaOutras = new TipoConta { Nome = "Outras" };

            tiposConta.Adicionar(tipoContaOutras);

            string _conectionstring;
            _conectionstring = @"Provider=Microsoft.Jet.OLEDB.4.0;";
            _conectionstring += String.Format("Data Source={0};", "D:\\CentroDeCustoHospitalarOutro.xls");
            _conectionstring += "Extended Properties='Excel 8.0;HDR=NO;'";

            OleDbConnection cn = new OleDbConnection(_conectionstring);
            OleDbCommand cmd = new OleDbCommand("Select * from [centro$]", cn);
            cn.Open();
            OleDbDataReader reader = cmd.ExecuteReader();

            List<RegistroExcel> documento = new List<RegistroExcel>();

            List<Conta> listaContas = new List<Conta>();
            List<CentroDeCusto> listaCentrosDeCusto = new List<CentroDeCusto>();

            Hospitais repositorioDeHospitais = new Hospitais();
            CentrosDeCusto repositorioDeCusto = new CentrosDeCusto();
            Contas repositorioContas = new Contas();

            int i = 0;

            while (reader.Read())
            {
                if (i < 2)
                {
                    i++;
                    continue;
                }
                if (reader[0] == DBNull.Value)
                    break;

                RegistroExcel registroExcel = new RegistroExcel()
                {
                    NomeHospital = (string)reader[0],
                    CodigoCentroDeCusto = (string)reader[1],
                    DescricaoCentroDeCusto = (string)reader[2]
                };

                if (reader[3] != DBNull.Value)
                {
                    registroExcel.DescricaoConta = (string)reader[3];
                    registroExcel.CodigoConta = (string)reader[4];
                    registroExcel.GrupoResumoNome = (string)reader[5];
                }

                documento.Add(registroExcel);
            }

            cn.Close();
            cn.Dispose();
            cmd.Dispose();

            var gruposDeConta = documento.Select(x => x.GrupoResumoNome).Distinct();

            var codigosDeConta = documento.Select(x => x.CodigoConta).Distinct();

            foreach (var codigoDeConta in codigosDeConta)
            {
                string descricaoDaConta = documento.Where(x => x.CodigoConta == codigoDeConta).Select(y => y.DescricaoConta).Distinct().First();

                var conta = repositorioContas.ObterContaPor(codigoDeConta);

                if (conta == null)
                    Assert.Fail();

                listaContas.Add(conta);
            }

            var codigosDecentrosDeCusto = documento.Select(x => x.CodigoCentroDeCusto).Distinct();

            foreach (var codigoDeCentro in codigosDecentrosDeCusto)
            {
                var descricaoDeCentroDeCusto = documento.Where(x => x.CodigoCentroDeCusto == codigoDeCentro).Select(y => y.DescricaoCentroDeCusto).Distinct().First();

                CentroDeCusto centroDeCusto = new CentroDeCusto(descricaoDeCentroDeCusto)
                {
                    CodigoDoCentroDeCusto = codigoDeCentro
                };

                var contas = documento.Where(x => x.CodigoCentroDeCusto == codigoDeCentro).Select(y => y.CodigoConta).Distinct();

                foreach (var conta in contas)
                {
                    centroDeCusto.AdicionarConta(listaContas.Where(x => x.CodigoDaConta == conta).SingleOrDefault());
                }

                repositorioDeCusto.Salvar(centroDeCusto);
                listaCentrosDeCusto.Add(centroDeCusto);
            }

            var hospitais = documento.Select(x => x.NomeHospital).Distinct();

            foreach (var nomeHospital in hospitais)
            {
                Hospital hospital = repositorioDeHospitais.ObterPor(nomeHospital);

                if (hospital == null)
                    Assert.Fail();

                var centrosDeCusto = documento.Where(x => x.NomeHospital == hospital.Nome).Select(y => y.CodigoCentroDeCusto).Distinct();

                foreach (var codigoCentroCusto in centrosDeCusto)
                {
                    hospital.AdicionarCentroDeCusto(listaCentrosDeCusto.Where(x => x.CodigoDoCentroDeCusto == codigoCentroCusto).SingleOrDefault());
                }

                repositorioDeHospitais.Salvar(hospital);
            }
        }
예제 #35
0
 public void Adicionar(TipoConta tipoConta)
 {
     Session.Save(tipoConta);
 }
예제 #36
0
        public void l_InserirContasEGrupoDeContasNosDepartamentos()
        {
            var tiposConta = new TiposConta();
            var tipoContaBeneficios = new TipoConta { Nome = "Beneficios" };
            tiposConta.Adicionar(tipoContaBeneficios);

            Departamentos departamentos = new Departamentos();
            var listaDepartamentos = departamentos.Todos();

            var tipoContaFGTS = new TipoConta { Nome = "FGTS" };
            var tipoContaINSS = new TipoConta { Nome = "INSS" };
            var tipoContaFerias = new TipoConta { Nome = "Férias" };
            var tipoContaIndenizacao = new TipoConta { Nome = "Indenização" };
            var tipoContaDecimoTerceiro = new TipoConta { Nome = "Décimo Terceiro" };
            var tipoContaSalario = new TipoConta { Nome = "Salário" };
            var tipoContaBolsasDeEstagio = new TipoConta { Nome = "Bolsas de Estágio" };
            var tipoContaExtras = new TipoConta { Nome = "Extras" };

            tiposConta.Adicionar(tipoContaFGTS);
            tiposConta.Adicionar(tipoContaINSS);
            tiposConta.Adicionar(tipoContaFerias);
            tiposConta.Adicionar(tipoContaIndenizacao);
            tiposConta.Adicionar(tipoContaDecimoTerceiro);
            tiposConta.Adicionar(tipoContaSalario);
            tiposConta.Adicionar(tipoContaBolsasDeEstagio);
            tiposConta.Adicionar(tipoContaExtras);
            var gruposDeConta = new GruposDeConta();
            var encargosSociais = new GrupoDeConta("Encargos Sociais");
            var remuneracao = new GrupoDeConta("Remuneração");
            var beneficios = new GrupoDeConta("Benefícios");

            gruposDeConta.Salvar(beneficios);
            gruposDeConta.Salvar(remuneracao);
            gruposDeConta.Salvar(encargosSociais);

            var contaAlimentacao = new Conta("Alimentação", tipoContaBeneficios);
            contaAlimentacao.Adicionar(TipoTicketDePessoal.Alimentação);

            var contaAssistenciaMedica = new Conta("Assistência Médica", tipoContaBeneficios);
            contaAssistenciaMedica.Adicionar(TipoTicketDePessoal.AssistenciaMedica);

            var contaOutrosBeneficios = new Conta("Outros Benefícios", tipoContaBeneficios);
            contaOutrosBeneficios.Adicionar(TipoTicketDePessoal.OutrosBeneficios);

            var contaTreinamentoPessoal = new Conta("Treinamento Pessoal", tipoContaBeneficios);
            contaTreinamentoPessoal.Adicionar(TipoTicketDePessoal.TreinamentoPessoal);

            var contaValeDeTransporte = new Conta("Vale de Transporte", tipoContaBeneficios);
            contaValeDeTransporte.Adicionar(TipoTicketDePessoal.ValeDeTransporte);

            var contaOutrasDespesas = new Conta("Outras Despesas", tipoContaBeneficios);
            contaOutrasDespesas.Adicionar(TipoTicketDePessoal.OutrasDespesas);

            var contaAssistenciaOdontologica = new Conta("Assistência Odontológica", tipoContaBeneficios);
            contaAssistenciaOdontologica.Adicionar(TipoTicketDePessoal.AssistenciaOdontologica);

            beneficios.Adicionar(contaAlimentacao);
            beneficios.Adicionar(contaAssistenciaMedica);
            beneficios.Adicionar(contaAssistenciaOdontologica);
            beneficios.Adicionar(contaOutrosBeneficios);
            beneficios.Adicionar(contaTreinamentoPessoal);
            beneficios.Adicionar(contaValeDeTransporte);
            beneficios.Adicionar(contaOutrasDespesas);

            var contaFGTS = new Conta("FGTS", tipoContaFGTS);
            contaFGTS.Adicionar(TipoTicketDePessoal.FGTS);
            encargosSociais.Adicionar(contaFGTS);

            var contaINSS = new Conta("INSS", tipoContaINSS);
            contaINSS.Adicionar(TipoTicketDePessoal.INSS);
            encargosSociais.Adicionar(contaINSS);

            var contaFerias = new Conta("Férias", tipoContaFerias);
            encargosSociais.Adicionar(contaFerias);

            var contaIndenizacao = new Conta("Indenização", tipoContaIndenizacao);
            encargosSociais.Adicionar(contaIndenizacao);

            var contaDecimoTerceiro = new Conta("Décimo Terceiro", tipoContaDecimoTerceiro);
            encargosSociais.Adicionar(contaDecimoTerceiro);

            foreach (var conta in encargosSociais.Contas)
            {
                if (conta.Nome == "Indenização")
                {
                    conta.Adicionar(TipoTicketDePessoal.Indenizacao);
                }
                else
                {
                    if (conta.Nome == "INSS" || conta.Nome == "FGTS")
                        conta.Adicionar(TipoTicketDePessoal.AdicionalDeSobreaviso);

                    conta.Adicionar(TipoTicketDePessoal.AdicionalNoturno);
                    conta.Adicionar(TipoTicketDePessoal.AdicionalDeInsalubridade);
                    conta.Adicionar(TipoTicketDePessoal.AdicionaDePericulosidade);
                    conta.Adicionar(TipoTicketDePessoal.Gratificacoes);
                    conta.Adicionar(TipoTicketDePessoal.HorasExtras);
                }
            }

            remuneracao.Adicionar(new Conta("Salário", tipoContaSalario));

            var contaBolsaDeEstagio = new Conta("Bolsas Estágio", tipoContaBolsasDeEstagio);
            contaBolsaDeEstagio.Adicionar(TipoTicketDePessoal.BolsaDeEstagio);
            remuneracao.Adicionar(contaBolsaDeEstagio);

            var contaAdicionalNoturno = new Conta("Adicional Noturno", tipoContaExtras);
            contaAdicionalNoturno.Adicionar(TipoTicketDePessoal.AdicionalNoturno);
            remuneracao.Adicionar(contaAdicionalNoturno);

            var contaPericulosidade = new Conta("Periculosidade", tipoContaExtras);
            contaPericulosidade.Adicionar(TipoTicketDePessoal.AdicionaDePericulosidade);
            remuneracao.Adicionar(contaPericulosidade);

            var contaInsalubridade = new Conta("Insalubridade", tipoContaExtras);
            contaInsalubridade.Adicionar(TipoTicketDePessoal.AdicionalDeInsalubridade);
            remuneracao.Adicionar(contaInsalubridade);

            var contaHorasExtras = new Conta("Horas Extras", tipoContaExtras);
            contaHorasExtras.Adicionar(TipoTicketDePessoal.HorasExtras);
            remuneracao.Adicionar(contaHorasExtras);

            var contaGratificacoes = new Conta("Gratificações", tipoContaExtras);
            contaGratificacoes.Adicionar(TipoTicketDePessoal.Gratificacoes);
            remuneracao.Adicionar(contaGratificacoes);

            Contas contas = new Orcamento.Domain.Contas();

            contas.Salvar(contaGratificacoes);
            contas.Salvar(contaHorasExtras);
            contas.Salvar(contaInsalubridade);
            contas.Salvar(contaPericulosidade);
            contas.Salvar(contaAdicionalNoturno);
            contas.Salvar(contaBolsaDeEstagio);
            contas.Salvar(contaDecimoTerceiro);
            contas.Salvar(contaIndenizacao);
            contas.Salvar(contaFerias);
            contas.Salvar(contaINSS);
            contas.Salvar(contaFGTS);
            contas.Salvar(contaAssistenciaOdontologica);
            contas.Salvar(contaOutrasDespesas);
            contas.Salvar(contaValeDeTransporte);
            contas.Salvar(contaTreinamentoPessoal);
            contas.Salvar(contaOutrosBeneficios);
            contas.Salvar(contaAssistenciaMedica);
            contas.Salvar(contaAlimentacao);
            contas.Salvar(contaAssistenciaMedica);
            contas.Salvar(contaAssistenciaMedica);
            contas.Salvar(contaAssistenciaMedica);
            contas.Salvar(contaAssistenciaMedica);

            TicketsDeProducao tickets = new TicketsDeProducao();
            NovosOrcamentosPessoais orcamentos = new NovosOrcamentosPessoais();

            foreach (var departamento in listaDepartamentos)
            {

                var ticketDeAlimentacao = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.Alimentação, Descricao = "Alimentação", Valor = 300 };
                var ticketDeAssistenciaMedica = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.AssistenciaMedica, Descricao = "Assistência Médica", Valor = 300 };
                var ticketAssistencia = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.AssistenciaOdontologica, Descricao = "Assistência Odontológica", Valor = 50 };
                var ticketDeBeneficios = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.OutrosBeneficios, Descricao = "Outros Benefícios", Valor = 50 };
                var ticketTreinamentoPessoal = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.TreinamentoPessoal, Descricao = "Treinamento Pessoal", Valor = 50 };
                var ticketValeTransporte = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.ValeDeTransporte, Descricao = "Vale de Transporte", Valor = 150 };
                var ticketDeOutrasDespesas = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.OutrasDespesas, Descricao = "Outras Despesas", Valor = 50 };

                var adicionalNoturno = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.AdicionalNoturno, Descricao = "Adicional Noturno", Valor = 4 };
                var insalubridade = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.AdicionalDeInsalubridade, Descricao = "Adicional de Insalubridade", Valor = 10 };
                var periculosidade = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.AdicionaDePericulosidade, Descricao = "Adicional de Periculosidade", Valor = 1 };
                var gratificacoes = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.Gratificacoes, Descricao = "Gratificações", Valor = 1 };
                var horasExtras = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.HorasExtras, Descricao = "Horas Extras", Valor = 2 };
                var sobreaviso = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.AdicionalDeSobreaviso, Descricao = "Adicional de Sobreaviso", Valor = 0 };
                var indenizacao = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.Indenizacao, Descricao = "Indenização", Valor = 235 };
                var bolsaDeEstagio = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.BolsaDeEstagio, Descricao = "Bolsa de Estágio", Valor = 0 };
                var fgts = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.FGTS, Descricao = "FGTS", Valor = 8 };
                var inss = new TicketDeOrcamentoPessoal(departamento) { Ticket = TipoTicketDePessoal.INSS, Descricao = "INSS", Valor = 28 };

                foreach (var centroDeCusto in departamento.CentrosDeCusto)
                {
                    if (!centroDeCusto.GrupoDeContas.Any(g => g.Id == beneficios.Id))
                        centroDeCusto.Adicionar(beneficios);

                    if (!centroDeCusto.GrupoDeContas.Any(g => g.Id == remuneracao.Id))
                        centroDeCusto.Adicionar(remuneracao);

                    if (!centroDeCusto.GrupoDeContas.Any(g => g.Id == encargosSociais.Id))
                        centroDeCusto.Adicionar(encargosSociais);
                }

                tickets.Salvar(ticketDeAlimentacao);
                tickets.Salvar(ticketDeAssistenciaMedica);
                tickets.Salvar(ticketAssistencia);
                tickets.Salvar(ticketDeBeneficios);
                tickets.Salvar(ticketTreinamentoPessoal);
                tickets.Salvar(ticketValeTransporte);
                tickets.Salvar(ticketDeOutrasDespesas);

                tickets.Salvar(adicionalNoturno);
                tickets.Salvar(insalubridade);
                tickets.Salvar(periculosidade);
                tickets.Salvar(gratificacoes);
                tickets.Salvar(horasExtras);
                tickets.Salvar(sobreaviso);
                tickets.Salvar(indenizacao);
                tickets.Salvar(bolsaDeEstagio);
                tickets.Salvar(fgts);
                tickets.Salvar(inss);

                List<NovoOrcamentoPessoal> orcamentosPessoais = new List<NovoOrcamentoPessoal>();

                foreach (var centroDeCusto in departamento.CentrosDeCusto)
                {
                    var orcamento = new NovoOrcamentoPessoal(departamento, centroDeCusto, 2014);

                    orcamento.Adicionar(ticketDeAlimentacao);
                    orcamento.Adicionar(ticketDeAssistenciaMedica);
                    orcamento.Adicionar(ticketAssistencia);
                    orcamento.Adicionar(ticketDeBeneficios);
                    orcamento.Adicionar(ticketTreinamentoPessoal);
                    orcamento.Adicionar(ticketValeTransporte);
                    orcamento.Adicionar(ticketDeOutrasDespesas);

                    orcamento.Adicionar(adicionalNoturno);
                    orcamento.Adicionar(insalubridade);
                    orcamento.Adicionar(periculosidade);
                    orcamento.Adicionar(gratificacoes);
                    orcamento.Adicionar(horasExtras);
                    orcamento.Adicionar(sobreaviso);
                    orcamento.Adicionar(indenizacao);
                    orcamento.Adicionar(bolsaDeEstagio);
                    orcamento.Adicionar(fgts);
                    orcamento.Adicionar(inss);

                    orcamentosPessoais.Add(orcamento);
                }

                orcamentos.SalvarLista(orcamentosPessoais);
                departamentos.Salvar(departamento);
            }
        }