public void atualizar_estrutura_hospitalar_departamentoExistentes() { var tiposConta = new TiposConta(); var tiposDeconta = new TiposConta(); var tipoContaOutras = tiposDeconta.Obter<TipoConta>(1); string _conectionstring = @"Provider=Microsoft.Jet.OLEDB.4.0;"; _conectionstring += String.Format("Data Source={0};", "D:\\CargaOrcamento2014\\DepartamentoCentroDeCustoContaHospitalarNew.xls"); _conectionstring += "Extended Properties='Excel 8.0;HDR=YES;IMEX=1;'"; var cn = new OleDbConnection(_conectionstring); var cmd = new OleDbCommand("Select * from [c$]", cn); cn.Open(); var reader = cmd.ExecuteReader(); var documento = new List<RegistroExcel>(); var listaContas = new List<Conta>(); var listaCentrosDeCusto = new List<CentroDeCusto>(); var repositorioDeHospitais = new Hospitais(); var repositorioDeCusto = new CentrosDeCusto(); var repositorioContas = new Contas(); int i = 0; while (reader.Read()) { if (i == 0) { i++; continue; } if (reader[0] == null || reader[0] == DBNull.Value || string.IsNullOrEmpty(reader[0].ToString())) break; var registroExcel = new RegistroExcel() { NomeHospital = (string)reader[5], CodigoCentroDeCusto = Convert.ToString(reader[0]), DescricaoCentroDeCusto = (string)reader[1] }; if (reader[5] != DBNull.Value) { registroExcel.DescricaoConta = (string)reader[3]; registroExcel.CodigoConta = Convert.ToString(reader[2]); registroExcel.GrupoResumoNome = (string)reader[4]; } 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 (listaContas.All(c => c.CodigoDaConta != codigoDeConta)) { if (conta == null) { throw new Exception(); conta = new Conta(descricaoDaConta, tipoContaOutras) { CodigoDaConta = codigoDeConta }; repositorioContas.Salvar(conta); } listaContas.Add(conta); } else conta = listaContas.FirstOrDefault(c => c.CodigoDaConta == codigoDeConta); } var grupos = new GruposDeConta(); var gruposDeContaLista = new List<GrupoDeConta>(); foreach (var grupo in gruposDeConta) { var grupoDeConta = grupos.ObterPor(grupo); if (grupoDeConta == null) throw new Exception(); var contasDoGrupo = documento.Where(x => x.GrupoResumoNome == grupo).Select(y => y.CodigoConta).Distinct(); foreach (var codigoConta in contasDoGrupo) { var conta = listaContas.FirstOrDefault(c => c.CodigoDaConta == codigoConta); if (grupoDeConta.Contas == null) grupoDeConta.Contas = new List<Conta>(); if (grupoDeConta.Contas.All(c => c.CodigoDaConta != codigoConta)) 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(); var centroDeCusto = repositorioDeCusto.ObterPor(codigoDeCentro); if (centroDeCusto == null) { throw new Exception(); centroDeCusto = new CentroDeCusto(descricaoDeCentroDeCusto) { CodigoDoCentroDeCusto = codigoDeCentro }; } var contas = documento.Where(x => x.CodigoCentroDeCusto == codigoDeCentro).Select(y => y.CodigoConta).Distinct(); if (centroDeCusto.Contas == null) centroDeCusto.Contas = new List<Conta>(); foreach (var conta in contas) { if (centroDeCusto.Contas.All(c => c.CodigoDaConta != conta)) centroDeCusto.AdicionarConta(listaContas.SingleOrDefault(x => x.CodigoDaConta == conta)); } repositorioDeCusto.Salvar(centroDeCusto); listaCentrosDeCusto.Add(centroDeCusto); } var hospitais = documento.Select(x => x.NomeHospital).Distinct(); foreach (var nomeHospital in hospitais) { var hospital = repositorioDeHospitais.ObterPor(nomeHospital); if(hospital == null) throw new Exception(); var centrosDeCusto = documento.Where(x => x.NomeHospital == hospital.Nome).Select(y => y.CodigoCentroDeCusto).Distinct(); if (hospital.CentrosDeCusto == null) hospital.CentrosDeCusto = new List<CentroDeCusto>(); foreach (var codigoCentroCusto in centrosDeCusto) { if (hospital.CentrosDeCusto.All(c => c.CodigoDoCentroDeCusto != codigoCentroCusto)) hospital.AdicionarCentroDeCusto(listaCentrosDeCusto.SingleOrDefault(x => x.CodigoDoCentroDeCusto == codigoCentroCusto)); } repositorioDeHospitais.Salvar(hospital); } }
public void f_importar_centro_de_custo_conta_coorporativo_do_excel() { string _conectionstring; _conectionstring = @"Provider=Microsoft.Jet.OLEDB.4.0;"; _conectionstring += String.Format("Data Source={0};", "D:\\Coorporativo.xls"); _conectionstring += "Extended Properties='Excel 8.0;HDR=NO;'"; TiposConta tiposDeconta = new TiposConta(); var tipoContaOutras = tiposDeconta.Obter<TipoConta>(1); OleDbConnection cn = new OleDbConnection(_conectionstring); OleDbCommand cmd = new OleDbCommand("Select * from [CC x Contas$]", cn); cn.Open(); OleDbDataReader reader = cmd.ExecuteReader(); List<CentroDeCustoContaExcel> centrosCustoConta = new List<CentroDeCustoContaExcel>(); List<Conta> listaContas = new List<Conta>(); List<CentroDeCusto> listaCentrosDeCusto = new List<CentroDeCusto>(); CentrosDeCusto repositorioDeCusto = new CentrosDeCusto(); Contas repositorioContas = new Contas(); int i = 0; while (reader.Read()) { if (i > 1) { if (reader[0] == DBNull.Value) break; CentroDeCustoContaExcel centroContaExcel = new CentroDeCustoContaExcel(); centroContaExcel.CodCentro = (string)reader[1]; centroContaExcel.DescricaoCentro = (string)reader[2]; centroContaExcel.DescricaoConta = (string)reader[4]; centroContaExcel.CodConta = (string)reader[3]; centroContaExcel.GrupoConta = (string)reader[5]; centrosCustoConta.Add(centroContaExcel); } i++; } cn.Close(); cn.Dispose(); cmd.Dispose(); var codigosDeConta = centrosCustoConta.Select(x => x.CodConta).Distinct(); foreach (var codigoDeConta in codigosDeConta) { string descricaoDaConta = centrosCustoConta.Where(x => x.CodConta == codigoDeConta).Select(y => y.DescricaoConta).Distinct().FirstOrDefault(); Conta conta = repositorioContas.ObterContaPor(codigoDeConta); if (!listaContas.Any(c => c.CodigoDaConta == codigoDeConta)) { if (conta == null) { conta = new Conta(descricaoDaConta, tipoContaOutras) { CodigoDaConta = codigoDeConta }; repositorioContas.Salvar(conta); } listaContas.Add(conta); } else conta = listaContas.Where(c => c.CodigoDaConta == codigoDeConta).FirstOrDefault(); } var gruposDeConta = centrosCustoConta.Select(x => x.GrupoConta).Distinct(); GruposDeConta grupos = new GruposDeConta(); List<GrupoDeConta> gruposDeContaLista = new List<GrupoDeConta>(); foreach (var grupo in gruposDeConta) { var grupoContaRecuperado = grupos.ObterPor(grupo); if (grupoContaRecuperado == null) grupoContaRecuperado = new GrupoDeConta(grupo); var contasDoGrupo = centrosCustoConta.Where(x => x.GrupoConta == grupo).Select(y => y.CodConta).Distinct(); foreach (var codigoConta in contasDoGrupo) { var conta = listaContas.Where(c => c.CodigoDaConta == codigoConta).FirstOrDefault(); grupoContaRecuperado.Adicionar(conta); } gruposDeContaLista.Add(grupoContaRecuperado); grupos.Salvar(grupoContaRecuperado); } var codigosDecentrosDeCusto = centrosCustoConta.Select(x => x.CodCentro).Distinct(); foreach (var codigoDeCentro in codigosDecentrosDeCusto) { var descricaoDeCentroDeCusto = centrosCustoConta.Where(x => x.CodCentro == codigoDeCentro).Select(y => y.DescricaoCentro).Distinct().First(); var centroDeCusto = repositorioDeCusto.ObterPor(codigoDeCentro); if (centroDeCusto == null) { centroDeCusto = new CentroDeCusto(descricaoDeCentroDeCusto) { CodigoDoCentroDeCusto = codigoDeCentro }; } var contas = centrosCustoConta.Where(x => x.CodCentro == codigoDeCentro).Select(y => y.CodConta).Distinct(); foreach (var conta in contas) { centroDeCusto.AdicionarConta(listaContas.Where(x => x.CodigoDaConta == conta).SingleOrDefault()); } repositorioDeCusto.Salvar(centroDeCusto); listaCentrosDeCusto.Add(centroDeCusto); } }
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); } }
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); } }
public void InserirContas(Departamento setor) { var tiposConta = new TiposConta(); var tipoContaOutros = tiposConta.Obter<TipoConta>(1); var maquinario = new Conta("Maquinário", tipoContaOutros); var cabos = new Conta("Cabos", tipoContaOutros); var RecursosExternos = new Conta("Recursos Externos", tipoContaOutros); var HorasExtras = new Conta("Horas Extras", tipoContaOutros); Contas = new List<Conta>(); Contas.Add(maquinario); Contas.Add(cabos); Contas.Add(RecursosExternos); Contas.Add(HorasExtras); var contas = new Contas(); contas.Salvar(maquinario); contas.Salvar(cabos); contas.Salvar(RecursosExternos); contas.Salvar(HorasExtras); }