public void ValidaCentrosDeCustos(Carga carga, List<Domain.Entities.Monitoramento.Funcionarios.FuncionarioExcel> funcionarios) { try { CentrosDeCustoRepo = new CentrosDeCusto(); CentrosDeCusto = new List<CentroDeCusto>(); foreach (var funcionarioExcel in funcionarios) { if (!CentrosDeCusto.Any(d => d.CodigoDoCentroDeCusto == funcionarioExcel.CodigoCentroDeCusto)) { AdicionarCentroDeCusto(carga, funcionarioExcel); } else { funcionarioExcel.CentroDeCusto = CentrosDeCusto.FirstOrDefault(d => d.CodigoDoCentroDeCusto == funcionarioExcel.CodigoCentroDeCusto); } } } catch (Exception ex) { throw ex; } }
protected void AlterarFuncionario(object sender, EventArgs e) { try { if (!ValidarCampos()) return; Departamentos departamentos = new Departamentos(); CentrosDeCusto centros = new CentrosDeCusto(); var departamentoAtual = departamentos.Obter(int.Parse(DdlDepartamento.SelectedValue)); if (departamentoAtual == null) { Notificacao = "Departamento atual não econtrado, por favor selecione novamente."; EnviarMensagem(); return; } var centroDeCustoAtual = centros.ObterPor(ddlCentrosDeCusto.SelectedValue); if (centroDeCustoAtual == null) { Notificacao = "Centro de custo atual não econtrado, por favor selecione novamente."; EnviarMensagem(); return; } var departamentoDestino = departamentos.Obter(int.Parse(ddlDepartamentoDestino.SelectedValue)); if (departamentoDestino == null) { Notificacao = "Departamento destino não econtrado, por favor selecione novamente."; EnviarMensagem(); return; } var centroDeCustoDestino = centros.ObterPor(ddlCentroDeCustoDestino.SelectedValue); if (centroDeCustoDestino == null) { Notificacao = "Centro de custo destino não econtrado, por favor selecione novamente."; EnviarMensagem(); return; } var funcionario = centroDeCustoAtual.Funcionarios.Where(f => f.Departamento.Id == departamentoAtual.Id && f.Matricula == txtMatricula.Text).FirstOrDefault(); if (funcionario == null) { Notificacao = "Funcionário não existe para este departamento/Centro de custo com esta matricula."; EnviarMensagem(); return; } centroDeCustoAtual.Funcionarios.Remove(funcionario); centroDeCustoDestino.Adicionar(funcionario); centroDeCustoDestino.Adicionar(funcionario); funcionario.Departamento = departamentoDestino; centros.Salvar(centroDeCustoAtual); centros.Salvar(centroDeCustoDestino); Notificacao = "Funcionário foi atualizado."; } catch (Exception ex) { Notificacao = ex.Message; } EnviarMensagem(); }
protected void ProcurarFuncionario(object sender, EventArgs e) { try { if (!ValidarCamposProcurar()) return; Departamentos departamentos = new Departamentos(); CentrosDeCusto centros = new CentrosDeCusto(); var departamentoAtual = departamentos.Obter(int.Parse(DdlDepartamento.SelectedValue)); if (departamentoAtual == null) { Notificacao = "Departamento atual não econtrado, por favor selecione novamente."; EnviarMensagem(); return; } var centroDeCustoAtual = centros.ObterPor(ddlCentrosDeCusto.SelectedValue); if (centroDeCustoAtual == null) { Notificacao = "Centro de custo atual não econtrado, por favor selecione novamente."; EnviarMensagem(); return; } var funcionario = centroDeCustoAtual.Funcionarios.Where(f => f.Departamento.Id == departamentoAtual.Id && f.Matricula == txtMatricula.Text).FirstOrDefault(); if (funcionario == null) { Notificacao = "Funcionário não existe para este departamento/Centro de custo com esta matricula."; EnviarMensagem(); return; } labelNomeFuncionario.Text = funcionario.Nome; labelNomeFuncionario.Visible = true; lblNome.Visible = true; } catch (Exception ex) { Notificacao = ex.ToString(); } EnviarMensagem(); }
private void SalvarCentrosDecusto() { try { var centros = new CentrosDeCusto(); centros.SalvarLista(motor.CentrosDeCusto); carga.AdicionarDetalhe("Carga realizada com sucesso.", "Carga de funcionarios nome : " + carga.NomeArquivo + " .", 0, TipoDetalheEnum.sucesso); } catch (Exception ex) { carga.AdicionarDetalhe("Erro ao Tentar alterar os centros de custo", "Ocorreu um erro ao tentar salvar os funcionarios, veja a excecão.", 0, TipoDetalheEnum.erroDeProcesso, ex.Message); } }
public void atualizar_quadro_de_funcionarios_atualizar_salario_hospitalares() { string _conectionstring; _conectionstring = @"Provider=Microsoft.Jet.OLEDB.4.0;"; _conectionstring += String.Format("Data Source={0};", "D:\\cargaorcamento2014\\FuncionariosHospitalAdicionalSalarial.xls"); _conectionstring += "Extended Properties='Excel 8.0;HDR=NO;'"; var cn = new OleDbConnection(_conectionstring); var cmd = new OleDbCommand("Select * from [carga$]", cn); cn.Open(); var reader = cmd.ExecuteReader(); var funcionarios = new List<FuncionarioExcel>(); int i = 0; while (reader.Read()) { if (i > 0) { if (reader[0] == DBNull.Value) break; var funcionarioExcel = new FuncionarioExcel(); if (reader[5] == DBNull.Value) continue; //if(reader[1].ToString() == "CAXIAS") // continue; funcionarioExcel.Departamento = (string)reader[1]; funcionarioExcel.CodigoCentroDeCusto = (string)reader[2]; funcionarioExcel.NumeroMatricula = Convert.ToInt32(reader[5]).ToString(); 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]; funcionarioExcel.NumeroVaga = int.Parse(reader[13].ToString()); funcionarios.Add(funcionarioExcel); } i++; } var setores = new Hospitais(); var centrosDeCusto = new CentrosDeCusto(); var departamentos = new List<Departamento>(); var centros = new List<CentroDeCusto>(); var centrosNaoEncontrados = new List<string>(); foreach (var funcionarioExcel in funcionarios) { if (!departamentos.Where(d => d != null).Any(d => d.Nome == funcionarioExcel.Departamento)) departamentos.Add(setores.ObterPor(funcionarioExcel.Departamento)); if (!centros.Any(d => d.CodigoDoCentroDeCusto == funcionarioExcel.CodigoCentroDeCusto)) { var centroR = centrosDeCusto.ObterPor(funcionarioExcel.CodigoCentroDeCusto); if (centroR == null) centrosNaoEncontrados.Add(funcionarioExcel.CodigoCentroDeCusto); else { centros.Add(centroR); } } } List<string> centrosNaoEncontradosNew = new List<string>(); foreach (var funcionarioExcel in funcionarios) { var setor = departamentos.Where(d => d != null).FirstOrDefault(d => d.Nome == funcionarioExcel.Departamento); var centro = centros.FirstOrDefault(d => d.CodigoDoCentroDeCusto == funcionarioExcel.CodigoCentroDeCusto); if (centro == null) { centrosNaoEncontradosNew.Add(funcionarioExcel.CodigoCentroDeCusto); continue; } var funcionario = centro.Funcionarios.Where(f=> f.Departamento.Nome == funcionarioExcel.Departamento).Single(f => f.Matricula == funcionarioExcel.NumeroMatricula); funcionario.Salario = funcionarioExcel.Salario; } var teste = centrosNaoEncontradosNew.Distinct(); centrosDeCusto.SalvarLista(centros); }
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 Inicializar() { //string cnn = @"Provider=CRU.Jet.OLEDB.4.0; Data Source=C:\\preco.xls;Extended Properties='Excel 8.0;HDR=NO;'"; //string cnn = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\\preco.xls;Extended Properties='Excel 8.0;HDR=NO;'"; string _conectionstring; _conectionstring = @"Provider=Microsoft.Jet.OLEDB.4.0;"; _conectionstring += String.Format("Data Source={0};", "D:\\Hospital2.xls"); //_conectionstring += "Data Source=" + Server.mappath("~/adm/xls/preço.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); OleDbDataAdapter da = new OleDbDataAdapter(cmd); System.Data.DataTable dt = new System.Data.DataTable(); da.Fill(dt); int i = 0; List<Hospital> registrosDeIntegracao = new List<Hospital>(); string ultimoNomeDeHospital = string.Empty; Hospitais hospitais = new Hospitais(); foreach (DataRow row in dt.Rows) { if (i == 0) { i++; continue; } Hospital hospital = null; if (string.IsNullOrEmpty(ultimoNomeDeHospital) || ultimoNomeDeHospital != (string)row[0]) { hospital = new Hospital(); hospital.Nome = (string)row[0]; } else hospital = hospitais.ObterPor((string)row[0]); CentroDeCusto centroDeCusto = hospital.ObterCentroDeCustoPor(codigoDoCentroCusto: (string)row[1]); if (centroDeCusto == null) { CentrosDeCusto centrosDeCusto = new CentrosDeCusto(); centroDeCusto = centrosDeCusto.ObterPor(codigo: (string)row[1]); if (centroDeCusto == null) { centroDeCusto = new CentroDeCusto(nome: (string)row[2]); centroDeCusto.CodigoDoCentroDeCusto = (string)row[1]; Conta conta = centroDeCusto.ObterContaPor((string)row[4]); if (conta == null) { conta = CriarContaInexistente(row, centroDeCusto, conta); } hospital.Adicionar(centroDeCusto); hospitais.Adicionar(hospital); } else { CriarContaComCentroDeCustoEncontrado(hospitais, row, hospital, centroDeCusto); } } else { CriarContaComCentroDeCustoEncontrado(hospitais, row, hospital, centroDeCusto); } ultimoNomeDeHospital = hospital.Nome; } //var hospitalBarraDor = registrosDeIntegracao.Where(x => x.NomeHospital == "BARRA D'OR"); cn.Close(); cn.Dispose(); cmd.Dispose(); }
public void Executar() { 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]; } registroExcel.Mes = (string)reader[7]; registroExcel.Valor = Convert.ToInt64(reader[6]); 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) { } 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 hospitais = documento.Select(x => x.NomeHospital).Distinct(); var listaHospitais = new List<Departamento>(); var orcamentoNao = new List<Orcamento.Domain.Orcamento>(); foreach (var nomeHospital in hospitais) { var hospital = repositorioDeHospitais.ObterPor(nomeHospital); if (hospital == null) throw new Exception(); listaCentrosDeCusto = new List<CentroDeCusto>(); listaContas = new List<Conta>(); if (!listaHospitais.Any(l => l.Nome == nomeHospital)) { listaHospitais.Add(hospital); foreach (var documentoHospital in documento.Where(d => d.NomeHospital == nomeHospital)) { var centroDeCusto = repositorioDeCusto.ObterPor(documentoHospital.CodigoCentroDeCusto); if (centroDeCusto == null) throw new Exception(); if (!listaCentrosDeCusto.Any(l => l.CodigoDoCentroDeCusto == documentoHospital.CodigoCentroDeCusto)) listaCentrosDeCusto.Add(centroDeCusto); string descricaoDaConta = documento.Where(x => x.CodigoConta == documentoHospital.CodigoConta).Select(y => y.DescricaoConta).Distinct().First(); var conta = repositorioContas.ObterContaPor(documentoHospital.CodigoConta); if (conta == null) throw new Exception(); if (!listaContas.Any(l => l.CodigoDaConta == documentoHospital.CodigoConta)) listaContas.Add(conta); } foreach (var centroDeCusto in listaCentrosDeCusto) { Orcamentos orcamentos = new Orcamentos(); var orcamento = orcamentos.ObterOrcamentoFinalOrcamentoOperacional(centroDeCusto, hospital); if (orcamento == null) { var orcamentosGerenciamento = orcamentos.TodosOrcamentosOperacionaisPor(centroDeCusto, hospital); bool podeCriarMaisUmaVersaoDeOrcamento = PodeCriarMaisUmaVersaoDeOrcamento(hospital, centroDeCusto.Id, orcamentosGerenciamento); if (podeCriarMaisUmaVersaoDeOrcamento) orcamento = this.ServicoOrcamento.CriarOrcamentoOperacional(orcamentosGerenciamento, hospital, centroDeCusto, 2014); else throw new Exception(); foreach (var despesa in orcamento.DespesasOperacionais) { var valor = documento.FirstOrDefault( d => d.CodigoCentroDeCusto == centroDeCusto.CodigoDoCentroDeCusto && d.CodigoConta == despesa.Conta.CodigoDaConta && d.NomeHospital == nomeHospital && d.Mes == ObterMes(despesa.Mes)); if (valor != null) despesa.Valor = valor.Valor; } orcamento.AtribuirVersaoFinal(); orcamentos.Salvar(orcamento); } } } } //ServicoAtualizarDespesasOperacionais servico = new ServicoAtualizarDespesasOperacionais(); //var centrosAbuscar = listaCentrosDeCusto.Distinct(); //foreach (var centro in centrosAbuscar) //{ // servico.AtualizarDespesas(centro); //} }
public void h_importar_usuario_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;'"; OleDbConnection cn = new OleDbConnection(_conectionstring); OleDbCommand cmd = new OleDbCommand("Select * from [Usuarios$]", cn); cn.Open(); OleDbDataReader reader = cmd.ExecuteReader(); List<UsuarioCoorporativoExcel> usuariosExcel = new List<UsuarioCoorporativoExcel>(); int i = 0; while (reader.Read()) { if (i == 2) { if (reader[0] == DBNull.Value) break; UsuarioCoorporativoExcel usuarioExcel = new UsuarioCoorporativoExcel(); usuarioExcel.Usuario = (string)reader[0]; usuarioExcel.Login = (string)reader[1]; usuarioExcel.NomeSetor = (string)reader[3]; usuarioExcel.CodCentro = (string)reader[5]; usuarioExcel.Descricao = (string)reader[6]; usuariosExcel.Add(usuarioExcel); } i++; } var novo = usuariosExcel; Setores setores = new Setores(); CentrosDeCusto centrosDeCusto = new CentrosDeCusto(); TipoUsuarios tipoUsuarios = new TipoUsuarios(); var tipoUsuario = tipoUsuarios.Obter<TipoUsuario>(3); var repositorioUsuarios = new Usuarios(); foreach (var usuarioExcel in usuariosExcel) { Usuario usuario = repositorioUsuarios.ObterAcesso(usuarioExcel.Login, 123456.ToString()); if (usuario == null) { usuario = new Usuario(); usuario.TipoUsuario = tipoUsuario; usuario.Nome = usuarioExcel.Usuario; usuario.Login = usuarioExcel.Login; usuario.Senha = "123456"; } Setor setor = setores.ObterPor(usuarioExcel.NomeSetor); if (setor == null) { setor = new Setor(usuarioExcel.NomeSetor); } if (usuario.Departamentos == null || !usuario.Departamentos.Any(d => d.Nome == setor.Nome)) usuario.ParticiparDe(setor); var centroDecusto = centrosDeCusto.ObterPor(usuarioExcel.CodCentro); if (centroDecusto == null) { setores.Salvar(setor); centroDecusto = new CentroDeCusto(usuarioExcel.Descricao) { CodigoDoCentroDeCusto = usuarioExcel.CodCentro }; centrosDeCusto.Salvar(centroDecusto); } if (setor.CentrosDeCusto == null || setor.CentrosDeCusto.Count == 0 || setor.CentrosDeCusto != null && setor.CentrosDeCusto.Count > 0 && !setor.CentrosDeCusto.Any(c => c.CodigoDoCentroDeCusto == centroDecusto.CodigoDoCentroDeCusto)) setor.AdicionarCentroDeCusto(centroDecusto); //ServicoSalvarDepartamento servico = new ServicoSalvarDepartamento(); //servico.Salvar(setor); setores.Salvar(setor); repositorioUsuarios.Salvar(usuario); } }
//D:\\cargaorcamento2014\\FuncionariosCoorporativoComplementar.xls public void Processar(Carga carga) { var funcionarios = new List<FuncionarioExcel>(); LerExcel(carga, funcionarios); var setores = new Setores(); var centrosDeCusto = new CentrosDeCusto(); var departamentos = new List<Departamento>(); var centros = new List<CentroDeCusto>(); var centrosNaoEncontrados = new List<string>(); foreach (var funcionarioExcel in funcionarios) { if (!departamentos.Any(d => d.Nome == funcionarioExcel.Departamento)) { var setor = setores.ObterPor(funcionarioExcel.Departamento); if (setor == null) throw new Exception(); departamentos.Add(setor); } if (!centros.Any(d => d.CodigoDoCentroDeCusto == funcionarioExcel.CodigoCentroDeCusto)) { var centroR = centrosDeCusto.ObterPor(funcionarioExcel.CodigoCentroDeCusto); if (centroR == null) centrosNaoEncontrados.Add(funcionarioExcel.CodigoCentroDeCusto); else { centros.Add(centroR); } } } List<string> centrosNaoEncontradosNew = new List<string>(); foreach (var funcionarioExcel in funcionarios) { var setor = departamentos.FirstOrDefault(d => d.Nome == funcionarioExcel.Departamento); var centro = centros.FirstOrDefault(d => d.CodigoDoCentroDeCusto == funcionarioExcel.CodigoCentroDeCusto); if (centro == null) { carga.AdicionarDetalhe("Centro de custo nulo", "Centro de custo codigo: " + funcionarioExcel.CodigoCentroDeCusto + " inexistente.", funcionarioExcel.Linha); centrosNaoEncontradosNew.Add(funcionarioExcel.CodigoCentroDeCusto); continue; } var funcionario = new Funcionario(setor); if (funcionarioExcel.Ano == default(int)) carga.AdicionarDetalhe("Ano não preenchido", "Ano do funcionário não preenchido", funcionarioExcel.Linha); else funcionario.AnoAdmissao = funcionarioExcel.Ano; if (string.IsNullOrEmpty(funcionarioExcel.Funcao)) carga.AdicionarDetalhe("Função não preenchida", "Função do funcionário não preenchida", funcionarioExcel.Linha); else funcionario.Cargo = funcionarioExcel.Funcao; if (funcionarioExcel.Mes == default(int)) carga.AdicionarDetalhe("Mês não preenchido", "Mês do funcionário não preenchido", funcionarioExcel.Linha); else funcionario.DataAdmissao = funcionarioExcel.Mes; if (string.IsNullOrEmpty(funcionarioExcel.NumeroMatricula)) carga.AdicionarDetalhe("Número de matrícula não preenchido", "Número de matrícula não preenchido", funcionarioExcel.Linha); else funcionario.Matricula = funcionarioExcel.NumeroMatricula; if (string.IsNullOrEmpty(funcionarioExcel.Nome)) carga.AdicionarDetalhe("Nome não Preenchido", "Nome não Preenchido", funcionarioExcel.Linha); else funcionario.Nome = funcionarioExcel.Nome; if (funcionarioExcel.Salario == default(double)) carga.AdicionarDetalhe("Salário não preenchido", "Salário não preenchido", funcionarioExcel.Linha); else funcionario.Salario = funcionarioExcel.Salario; if (funcionarioExcel.NumeroVaga == default(int)) carga.AdicionarDetalhe("Número de vaga não preenchido", "Número de vaga não preenchido", funcionarioExcel.Linha); else funcionario.NumeroDeVaga = funcionarioExcel.NumeroVaga; centro.Adicionar(funcionario); } var teste = centrosNaoEncontradosNew.Distinct(); // centrosDeCusto.SalvarLista(centros); }
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 Deletar_Departamento_centro_deCusto_coorporativo() { Departamentos departamentos = new Departamentos(); var setores = departamentos.Todos<Setor>().ToList(); List<CentroDeCusto> centros = new List<CentroDeCusto>(); CentrosDeCusto repositorioCentro = new CentrosDeCusto(); Funcionarios repositoriofuncionarios = new Funcionarios(); //foreach (var setor in setores) //{ // var centrosRecuperados = setor.CentrosDeCusto; // if (centrosRecuperados != null && centrosRecuperados.Count > 1) // centros.AddRange(centrosRecuperados); //} departamentos.Deletar(setores); // repositorioCentro.Deletar(centros); }
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 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); } }
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); }