public void s_inserir_novo_centro_de_custo_com_usuarios_coorporativo() { 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:\\UsuarioCentroCustoCoorporativo.xls"); _conectionstring += "Extended Properties='Excel 8.0;HDR=NO;'"; OleDbConnection cn = new OleDbConnection(_conectionstring); OleDbCommand cmd = new OleDbCommand("Select * from [Centros$]", 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>(); Departamentos repositorioDepartamento = new Departamentos(); 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[4]; registroExcel.CodigoConta = (string)reader[3]; 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(); var centro = repositorioDeCusto.ObterPor(codigoDeCentro); if (centro != null) Assert.Fail(); 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) { Departamento departamento = repositorioDepartamento.ObterPor(nomeHospital); if (departamento == null) Assert.Fail(); var centrosDeCusto = documento.Where(x => x.NomeHospital == departamento.Nome).Select(y => y.CodigoCentroDeCusto).Distinct(); foreach (var codigoCentroCusto in centrosDeCusto) { departamento.AdicionarCentroDeCusto(listaCentrosDeCusto.Where(x => x.CodigoDoCentroDeCusto == codigoCentroCusto).SingleOrDefault()); } repositorioDepartamento.Salvar(departamento); } }
public void DeletarCentrosDeCusto() { string _conectionstring; _conectionstring = @"Provider=Microsoft.Jet.OLEDB.4.0;"; _conectionstring += String.Format("Data Source={0};", "D:\\Exclussao.xls"); _conectionstring += "Extended Properties='Excel 8.0;HDR=NO;'"; OleDbConnection cn = new OleDbConnection(_conectionstring); OleDbCommand cmd = new OleDbCommand("Select * from [exclusao$]", cn); cn.Open(); OleDbDataReader reader = cmd.ExecuteReader(); List<UsuarioExcel> usuariosExcel = new List<UsuarioExcel>(); int i = 0; while (reader.Read()) { if (i > 1) { if (reader[5] == DBNull.Value) break; UsuarioExcel usuarioExcel = new UsuarioExcel(); if (reader[0] != DBNull.Value) usuarioExcel.Usuario = (string)reader[0]; if (reader[1] != DBNull.Value) usuarioExcel.Login = (string)reader[1]; if (reader[3] != DBNull.Value) usuarioExcel.Hospital = (string)reader[3]; usuarioExcel.CodigoCentroDeCusto = (string)reader[5]; usuariosExcel.Add(usuarioExcel); } i++; } cn.Close(); cn.Dispose(); cmd.Dispose(); var departamentos = usuariosExcel.Select(x => x.Hospital).Distinct(); Departamentos repositorioDepartamento = new Departamentos(); List<Departamento> listaDepartamentos = new List<Departamento>(); foreach (var nome in departamentos.Where(d => d != null)) { var departamento = repositorioDepartamento.ObterPor(nome); if (departamento == null) Assert.Fail("Departamento não econtrado"); listaDepartamentos.Add(departamento); //TicketsDeOrcamentoPessoal tickets = new TicketsDeOrcamentoPessoal(); //var todosTickets = tickets.Todos(departamento); //TicketsDeProducao ticketis = new TicketsDeProducao(); //var ticketsDeProducao = ticketis.Todos(departamento); //ticketis.Deletar(ticketsDeProducao); //var ticketsDeReceita = new TicketsDeReceita(); //var listaTIcketsDeReceita = ticketsDeReceita.Todos(departamento); //ticketsDeReceita.Deletar(listaTIcketsDeReceita); //tickets.Deletar(todosTickets); Usuarios usuarios = new Usuarios(); var ListaUsuarios = usuarios.Todos<Usuario>(); foreach (var usuario in ListaUsuarios) { if (usuario.Departamentos != null && usuario.Departamentos.Count > 0 && usuario.Departamentos.Any(d => d.Id == departamento.Id)) { usuario.Departamentos.Remove(departamento); usuarios.Salvar(usuario); } } //Orcamentos orcamentos = new Orcamentos(); //var listaOrcamentos = orcamentos.TodosPor(departamento); //orcamentos.Deletar(listaOrcamentos); //departamento.CentrosDeCusto = null; //repositorioDepartamento.Salvar(departamento); //DRES dres = new DRES(); //var dre = dres.Obter(departamento); //dres.Deletar(dre); //AcordosDeConvencao acordos = new AcordosDeConvencao(); //var acordoDeConvencao = acordos.ObterAcordoDeConvencao(departamento); //acordos.Deletar(acordoDeConvencao); //Insumos insumos = new Insumos(); //var insumo = insumos.ObterInsumo(departamento); //insumos.Deletar(insumo); //NovosOrcamentosPessoais novosOrcamentos = new NovosOrcamentosPessoais(); //var orcamentosPessoal = novosOrcamentos.Todos(departamento.Id); //novosOrcamentos.Deletar(orcamentosPessoal.ToList()); } //var codigosDecentrosDeCusto = usuariosExcel.Select(x => x.CodigoCentroDeCusto).Distinct(); //CentrosDeCusto centros = new CentrosDeCusto(); //List<CentroDeCusto> centrosDeCusto = new List<CentroDeCusto>(); //List<NovoOrcamentoPessoal> ListaNovosOrcamentos = new List<NovoOrcamentoPessoal>(); //foreach (var codigoDeCentro in codigosDecentrosDeCusto) //{ // var centroDeCusto = centros.ObterPor(codigoDeCentro); // if (centroDeCusto == null) // Assert.Fail("Centro de Custo não encontrado"); // if (centroDeCusto.Funcionarios != null && centroDeCusto.Funcionarios.Count > 0 && centroDeCusto.Funcionarios.All(d => listaDepartamentos.Any(di => di.Id == d.Departamento.Id))) // { // centroDeCusto.Funcionarios = null; // centros.Salvar(centroDeCusto); // } // if (centroDeCusto.Funcionarios != null && centroDeCusto.Funcionarios.Count > 0) // Assert.Fail("Existe Funcionarios neste centro"); // centrosDeCusto.Add(centroDeCusto); // NovosOrcamentosPessoais novosOrcamentos = new NovosOrcamentosPessoais(); // var orcamentosPessoal = novosOrcamentos.TodosPor(centroDeCusto.Id); // ListaNovosOrcamentos.AddRange(orcamentosPessoal); // // centros.Deletar(centroDeCusto); //} //centros.Deletar(centrosDeCusto); repositorioDepartamento.Deletar(listaDepartamentos); }
public void p_importar_funcionarios_hospitalar_do_excel() { string _conectionstring; _conectionstring = @"Provider=Microsoft.Jet.OLEDB.4.0;"; _conectionstring += String.Format("Data Source={0};", "D:\\Funcionarios.xls"); _conectionstring += "Extended Properties='Excel 8.0;HDR=NO;'"; OleDbConnection cn = new OleDbConnection(_conectionstring); OleDbCommand cmd = new OleDbCommand("Select * from [Hospitalar$]", cn); cn.Open(); OleDbDataReader reader = cmd.ExecuteReader(); List<FuncionarioExcel> funcionarios = new List<FuncionarioExcel>(); int i = 0; while (reader.Read()) { if (i > 1) { if (reader[0] == DBNull.Value) break; FuncionarioExcel funcionarioExcel = new FuncionarioExcel(); funcionarioExcel.Departamento = (string)reader[1]; funcionarioExcel.CodigoCentroDeCusto = (string)reader[2]; funcionarioExcel.NumeroMatricula = (string)reader[5]; funcionarioExcel.Nome = (string)reader[6]; funcionarioExcel.Funcao = (string)reader[7]; funcionarioExcel.Salario = (double)reader[8]; funcionarioExcel.Mes = (int)(double)reader[10]; funcionarioExcel.Ano = (int)(double)reader[11]; funcionarios.Add(funcionarioExcel); } i++; } Departamentos setores = new Departamentos(); CentrosDeCusto centrosDeCusto = new CentrosDeCusto(); List<Departamento> departamentos = new List<Departamento>(); List<CentroDeCusto> centros = new List<CentroDeCusto>(); foreach (var funcionarioExcel in funcionarios) { if (!departamentos.Any(d => d.Nome == funcionarioExcel.Departamento)) departamentos.Add(setores.ObterPor(funcionarioExcel.Departamento)); if (!centros.Any(d => d.CodigoDoCentroDeCusto == funcionarioExcel.CodigoCentroDeCusto)) centros.Add(centrosDeCusto.ObterPor(funcionarioExcel.CodigoCentroDeCusto)); var setor = departamentos.Where(d => d.Nome == funcionarioExcel.Departamento).FirstOrDefault(); var centro = centros.Where(d => d.CodigoDoCentroDeCusto == funcionarioExcel.CodigoCentroDeCusto).FirstOrDefault(); var funcionario = new Funcionario(setor) { AnoAdmissao = funcionarioExcel.Ano, Cargo = funcionarioExcel.Funcao, DataAdmissao = funcionarioExcel.Mes, Matricula = funcionarioExcel.NumeroMatricula, Nome = funcionarioExcel.Nome, Salario = funcionarioExcel.Salario }; centro.Adicionar(funcionario); } centrosDeCusto.SalvarLista(centros); }