public OrcamentoEmpresas orcamentoEmpresas(int projetoId) { List <AlocacaoRh> alocacaoRhs = AlocacaoRhService.ListarTodos(projetoId).ToList(); List <AlocacaoRm> alocacaoRms = AlocacaoRmService.ListarTodos(projetoId).ToList(); OrcamentoEmpresas orcamentos = new OrcamentoEmpresas(alocacaoRhs, alocacaoRms); return(orcamentos); }
public List <RelatorioEmpresaCsv> FormatRelatorioCsv(OrcamentoEmpresas Relatorios) { var records = new List <RelatorioEmpresaCsv>(); foreach (var empresa in Relatorios.Empresas) { foreach (var relatorio in empresa.Relatorios) { foreach (var item in relatorio.Items) { var newItem = new RelatorioEmpresaCsv(); newItem.NomeRecurso = item.Desc; if (item.RecursoHumano != null) { newItem.CPF = item.RecursoHumano.CPF; newItem.FUNCAO = item.RecursoHumano.FuncaoValor; newItem.TITULACAO = item.RecursoHumano.TitulacaoValor; newItem.CL = item.RecursoHumano.UrlCurriculo; newItem.ValorHora = item.RecursoHumano.ValorHora; newItem.EntidadeRecebedora = (item.RecursoHumano.Empresa.Cnpj == null) ? item.RecursoHumano.Empresa.CatalogEmpresa.Nome : item.RecursoHumano.Empresa.RazaoSocial; newItem.CnpjEntidadeRecebedora = (item.RecursoHumano.Empresa.Cnpj == null) ? null : item.RecursoHumano.Empresa.Cnpj; newItem.CategoriaContabil = CategoriaContabil.RH.ToString(); } if (item.AlocacaoRh != null) { newItem.QtdHoras = item.AlocacaoRh.HrsTotais; newItem.ValorTotal = newItem.ValorHora * newItem.QtdHoras; newItem.Justificativa = item.AlocacaoRh.Justificativa; newItem.EntidadePagadora = (item.AlocacaoRh.Empresa.Cnpj == null) ? item.AlocacaoRh.Empresa.CatalogEmpresa.Nome : item.AlocacaoRh.Empresa.RazaoSocial; newItem.CnpjEntidadePagadora = item.AlocacaoRh.Empresa.Cnpj; } if (item.RecursoMaterial != null) { newItem.CategoriaContabil = item.RecursoMaterial.CategoriaContabilValor; newItem.ValorUnitario = item.RecursoMaterial.ValorUnitario; newItem.EspecificacaoTecnica = item.RecursoMaterial.Especificacao; } if (item.AlocacaoRm != null) { newItem.Unidades = item.AlocacaoRm.Qtd; newItem.ValorTotal = newItem.ValorUnitario * newItem.Unidades; newItem.Justificativa = item.AlocacaoRm.Justificativa; newItem.EntidadePagadora = (item.AlocacaoRm.EmpresaFinanciadora.Cnpj == null) ? item.AlocacaoRm.EmpresaFinanciadora.CatalogEmpresa.Nome : item.AlocacaoRm.EmpresaFinanciadora.RazaoSocial; newItem.CnpjEntidadePagadora = (item.AlocacaoRm.EmpresaFinanciadora.Cnpj == null) ? null : item.AlocacaoRm.EmpresaFinanciadora.Cnpj;; newItem.EntidadeRecebedora = (item.AlocacaoRm.EmpresaRecebedora == null) ? null : (item.AlocacaoRm.EmpresaRecebedora.Cnpj == null) ? item.AlocacaoRm.EmpresaRecebedora.CatalogEmpresa.Nome : item.AlocacaoRm.EmpresaRecebedora.RazaoSocial; newItem.CnpjEntidadeRecebedora = (item.AlocacaoRm.EmpresaRecebedora == null) ? null : (item.AlocacaoRm.EmpresaRecebedora.Cnpj == null) ? null : item.AlocacaoRm.EmpresaRecebedora.Cnpj; } //if (item.RegistroFinanceiro != null) { // newItem.NomeItem = item.RegistroFinanceiro.NomeItem; // newItem.MesReferencia = item.RegistroFinanceiro.Mes.Value.Month.ToString() + "/" + item.RegistroFinanceiro.Mes.Value.Year.ToString(); // newItem.TipoDocumento = item.RegistroFinanceiro.TipoDocumentoValor; // newItem.DataDocumento = item.RegistroFinanceiro.DataDocumento.ToString(); // newItem.ArquivoComprovante = (item.RegistroFinanceiro.Uploads.FirstOrDefault() != null) ? item.RegistroFinanceiro.Uploads.FirstOrDefault().NomeArquivo : null; // newItem.AtividadeRealizada = item.RegistroFinanceiro.AtividadeRealizada; // newItem.Beneficiado = item.RegistroFinanceiro.Beneficiado; // newItem.ObsInternas = (item.RegistroFinanceiro.ObsInternas.LastOrDefault() != null) ? item.RegistroFinanceiro.ObsInternas.LastOrDefault().Texto : null; // newItem.UsuarioAprovacao = (item.RegistroFinanceiro.ObsInternas.LastOrDefault() != null) ? item.RegistroFinanceiro.ObsInternas.LastOrDefault().User.NomeCompleto : null; // newItem.EquiparLabExistente = (item.RegistroFinanceiro.EquiparLabExistente.HasValue) ? "Sim" : "Nao"; // newItem.EquiparLabNovo = (item.RegistroFinanceiro.EquiparLabNovo.HasValue) ? "Sim" : "Nao"; // newItem.ItemNacional = (item.RegistroFinanceiro.ItemNacional.HasValue) ? "Sim" : "Nao"; // newItem.DataAprovacao = (item.RegistroFinanceiro.ObsInternas.LastOrDefault() != null) ? item.RegistroFinanceiro.ObsInternas.LastOrDefault().Created.ToString() : null; //} newItem.Id = item.AlocacaoId; newItem.Etapa = (item.Etapa != null) ? item.Etapa.Nome : null; records.Add(newItem); } } } return(records); }
public XLWorkbook gerarXLSOrcamento(int projetoId) { var projeto = context.Projetos.Find(projetoId); XLWorkbook xls = new XLWorkbook(); var workRH = xls.AddWorksheet("Recursos Humanos"); workRH.ColumnWidth = 40; var workRM = xls.AddWorksheet("Recursos Materiais"); workRM.ColumnWidth = 40; var etapas = context.Etapas.Where(e => e.ProjetoId == projetoId).OrderBy(e => e.Id).ToList(); List <OrcamentoEmpresaItem> items = new List <OrcamentoEmpresaItem>(); OrcamentoEmpresas orcamento = orcamentoEmpresas(projetoId); foreach (var empresa in orcamento.Empresas) { foreach (var categoria in empresa.Relatorios) { foreach (var item in categoria.Items) { items.Add(item); } } } var table = new DataTable("Recursos Humanos"); table.Columns.Add("Nome"); table.Columns.Add("Titulo"); table.Columns.Add("Cpf"); table.Columns.Add("Empresa"); table.Columns.Add("Empresa Recebedora"); table.Columns.Add("Etapa"); table.Columns.Add("Custo Hora", typeof(decimal)); table.Columns.Add("Horas Totais", typeof(int)); table.Columns.Add("Custo", typeof(decimal)); table.Columns.Add("Currículo Lattes"); var rhItems = from i in items where i.RecursoHumano != null let custo = i.RecursoHumano.ValorHora * i.AlocacaoRh.HrsTotais select new { Nome = i.Desc, Titulo = i.RecursoHumano.TitulacaoValor, Cpf = i.RecursoHumano.CPF, EmpresaRecebedora = i.RecursoHumano.Empresa.NomeEmpresa, Etapa = etapas.IndexOf(i.AlocacaoRh.Etapa) + 1, Empresa = i.AlocacaoRh.Empresa.NomeEmpresa, i.RecursoHumano.ValorHora, HorasTotais = i.AlocacaoRh.HrsTotais, custo, i.RecursoHumano.UrlCurriculo }; foreach (var item in rhItems) { table.Rows.Add(item.Nome, item.Titulo, item.Cpf, item.Empresa, item.EmpresaRecebedora, item.Etapa, item.ValorHora, item.HorasTotais, item.custo, item.UrlCurriculo); } workRH.Cell(1, 1).InsertTable(table); table = new DataTable("Recursos Materiais"); table.Columns.Add("Descrição"); table.Columns.Add("Nome"); table.Columns.Add("Categoria"); table.Columns.Add("Especificação"); table.Columns.Add("Atividade"); table.Columns.Add("Quantidade", typeof(int)); table.Columns.Add("Valor Unitário", typeof(decimal)); table.Columns.Add("Custo", typeof(decimal)); table.Columns.Add("Etapa"); table.Columns.Add("Empresa Financiadora"); table.Columns.Add("Empresa Recebedora"); var rmItems = from i in items where i.RecursoMaterial != null select i; foreach (var i in rmItems) { string atividade = i.RecursoMaterial.Atividade != null ? i.RecursoMaterial.Atividade.Nome : String.Empty; decimal custo = i.AlocacaoRm.Qtd * i.RecursoMaterial.ValorUnitario; try { table.Rows.Add( i.Desc, i.RecursoMaterial.Nome, i.RecursoMaterial.categoria, i.RecursoMaterial.Especificacao, atividade, i.AlocacaoRm.Qtd, i.RecursoMaterial.ValorUnitario, custo, etapas.IndexOf(i.AlocacaoRm.Etapa) + 1, i.AlocacaoRm.EmpresaFinanciadora.NomeEmpresa, projeto.Tipo == TipoProjeto.PD ? i.AlocacaoRm.EmpresaRecebedora.NomeEmpresa : i.AlocacaoRm.EmpresaFinanciadora.NomeEmpresa ); } catch (Exception) { } } workRM.Cell(1, 1).InsertTable(table); return(xls); }