public static List <string> ExportSolicitationFuncText(ExportFuncionario exportFuncionario) { List <string> stringsReturned = new List <string>(); foreach (var relatorioFunc in exportFuncionario.RelFuncionarios) { double total = 0; StringBuilder stb = new StringBuilder(); stb.AppendLine("Prezado, "); stb.AppendLine(""); stb.AppendLine(""); stb.AppendLine("através desta declaração de pagamentos, a empresa SOLL - Serviços, Obras e Locações LTDA solicita o reembolso da quantia contingenciada pelo contrato " + (relatorioFunc.Contrato == null ? relatorioFunc.Cliente.Name : relatorioFunc.Contrato.Name) + "."); stb.AppendLine("Nome do Funcionário: " + exportFuncionario.Funcionario.Name + "."); stb.AppendLine("Discriminação dos pagamentos efetuados: "); if (exportFuncionario.Verba.Codigo == -1) { string moneyAF = String.Format("{0:C}", relatorioFunc.AcumuladoFerias); stb.AppendLine("Férias: " + moneyAF); string moneyAD = String.Format("{0:C}", relatorioFunc.AcumuladoDecimo); stb.AppendLine("Décimo Salário: " + moneyAD); string moneyAM = String.Format("{0:C}", relatorioFunc.AcumuladoMulta); stb.AppendLine("Multa: " + moneyAM); string moneyAL = String.Format("{0:C}", relatorioFunc.AcumuladoLucro); stb.AppendLine("Lucro: " + moneyAL); string moneyAES = String.Format("{0:C}", relatorioFunc.AcumuladoEncSociais); stb.AppendLine("Encargos Sociais: " + moneyAES); total = relatorioFunc.AcumuladoFerias + relatorioFunc.AcumuladoDecimo + relatorioFunc.AcumuladoMulta + relatorioFunc.AcumuladoLucro + relatorioFunc.AcumuladoEncSociais; } else { if (exportFuncionario.Verba.Codigo == 1) //Férias { string moneyAF = String.Format("{0:C}", relatorioFunc.AcumuladoFerias); stb.AppendLine("Férias: " + moneyAF); total = relatorioFunc.AcumuladoFerias; } else if (exportFuncionario.Verba.Codigo == 2) { string moneyAD = String.Format("{0:C}", relatorioFunc.AcumuladoDecimo); stb.AppendLine("Décimo Salário: " + moneyAD); total = relatorioFunc.AcumuladoDecimo; } else if (exportFuncionario.Verba.Codigo == 3) { string moneyAM = String.Format("{0:C}", relatorioFunc.AcumuladoMulta); stb.AppendLine("Multa: " + moneyAM); total = relatorioFunc.AcumuladoMulta; } else if (exportFuncionario.Verba.Codigo == 4) { string moneyAL = String.Format("{0:C}", relatorioFunc.AcumuladoLucro); stb.AppendLine("Lucro: " + moneyAL); total = relatorioFunc.AcumuladoLucro; } else if (exportFuncionario.Verba.Codigo == 5) { string moneyAES = String.Format("{0:C}", relatorioFunc.AcumuladoEncSociais); stb.AppendLine("Encargos Sociais: " + moneyAES); total = relatorioFunc.AcumuladoEncSociais; } } stb.AppendLine(""); stb.AppendLine(""); stb.AppendLine("A discriminação de gastos é referente ao " + exportFuncionario.Periodo); stb.AppendLine("Em anexo, envio todos os comprovantes dos gastos a serem reembolsados."); stb.AppendLine(""); stb.AppendLine(""); stb.AppendLine("Cordialmente,"); stringsReturned.Add(stb.ToString()); } return(stringsReturned); }
private void searchFuncionario(string funcionarioMatr, DateTime start, DateTime end) { Funcionario funcionario = _facade.GetFuncionarioByMatricula(funcionarioMatr); txtResult.Clear(); exportFuncionario = new ExportFuncionario(); exportFuncionario.Funcionario = funcionario; string periodo = "Período: " + start.Month + "/" + start.Year + " até " + end.Month + "/" + end.Year; exportFuncionario.Periodo = periodo; Verba selectedVerba = (Verba)this.cbVerbasFilter.SelectedItem; exportFuncionario.Verba = selectedVerba; int verbaId = selectedVerba.Id; List <ContratoAliquota> filteredContratoAliquotas; //Filtra o tipo de VERBA em filteredContratoAliquotas if (verbaId != -1) { filteredContratoAliquotas = FilteredContratoAliquotas(verbaId, allContratosAliquotas); } else { filteredContratoAliquotas = allContratosAliquotas; } List <HistoricoFuncionario> histFuncList = _facade.GetHistoricoByFuncAndDatas( funcionario.Id, start, end); StringBuilder stb = new StringBuilder(); stb.AppendLine("Foram encontradas " + histFuncList.Count + " ocorrências"); stb.AppendLine("ID: " + funcionario.Id); stb.AppendLine("Nome: " + funcionario.Name); stb.AppendLine("Matrícula: " + funcionario.Matriculation); stb.AppendLine("Verba para cálculo: " + selectedVerba.Nome); stb.AppendLine(periodo); stb.AppendLine("---------------------------------------------------------------"); List <RelatorioFunc> relatorioFuncs = new List <RelatorioFunc>(); List <ContratoAliquota> aliquotasList = new List <ContratoAliquota>(); RelatorioFunc relFunc; foreach (var histFunc in histFuncList) { if (histFunc.Contrato == null) { relFunc = new RelatorioFunc(histFunc.Cliente, histFunc.Data.Year); } else { relFunc = new RelatorioFunc(histFunc.Contrato, histFunc.Data.Year); } if (!relatorioFuncs.Contains(relFunc)) { aliquotasList = RelatoriosUtil.FilterAliquotas(histFunc, filteredContratoAliquotas); foreach (var aliqObj in aliquotasList) { relFunc.computarValores(histFunc.SalarioBase, aliqObj.Verba, aliqObj.Aliquota); } relatorioFuncs.Add(relFunc); } else { int index = relatorioFuncs.IndexOf(relFunc); foreach (var aliqObj in aliquotasList) { relatorioFuncs[index].computarValores(histFunc.SalarioBase, aliqObj.Verba, aliqObj.Aliquota); } } //stb.AppendLine(histFunc.Data.Month + "/" + histFunc.Data.Year); //stb.AppendLine(histFunc.SalarioBase.ToString()); } foreach (var relF in relatorioFuncs) { stb.AppendLine("********************************************************"); if (relF.Contrato == null) { stb.AppendLine("Cliente: " + relF.Cliente.Name); } else { stb.AppendLine("Contrato: " + relF.Contrato.Name); } stb.AppendLine("Ano: " + relF.Ano); //stb.AppendLine("Férias: " + relF.AcumuladoFerias); //stb.AppendLine("Décimo Salário: " + relF.AcumuladoDecimo); //stb.AppendLine("Multa: " + relF.AcumuladoMulta); //stb.AppendLine("Lucro: " + relF.AcumuladoLucro); //stb.AppendLine("Encargos Sociais: " + relF.AcumuladoEncSociais); if (verbaId == -1) //calcular todas { string moneyAF = String.Format("{0:C}", relF.AcumuladoFerias); stb.AppendLine("Férias: " + moneyAF); string moneyAD = String.Format("{0:C}", relF.AcumuladoDecimo); stb.AppendLine("Décimo Salário: " + moneyAD); string moneyAM = String.Format("{0:C}", relF.AcumuladoMulta); stb.AppendLine("Multa: " + moneyAM); string moneyAL = String.Format("{0:C}", relF.AcumuladoLucro); stb.AppendLine("Lucro: " + moneyAL); string moneyAES = String.Format("{0:C}", relF.AcumuladoEncSociais); stb.AppendLine("Encargos Sociais: " + moneyAES); } else { if (selectedVerba.Codigo == 1) //Férias { string moneyAF = String.Format("{0:C}", relF.AcumuladoFerias); stb.AppendLine("Férias: " + moneyAF); } else if (selectedVerba.Codigo == 2) { string moneyAD = String.Format("{0:C}", relF.AcumuladoDecimo); stb.AppendLine("Décimo Salário: " + moneyAD); } else if (selectedVerba.Codigo == 3) { string moneyAM = String.Format("{0:C}", relF.AcumuladoMulta); stb.AppendLine("Multa: " + moneyAM); } else if (selectedVerba.Codigo == 4) { string moneyAL = String.Format("{0:C}", relF.AcumuladoLucro); stb.AppendLine("Lucro: " + moneyAL); } else if (selectedVerba.Codigo == 5) { string moneyAES = String.Format("{0:C}", relF.AcumuladoEncSociais); stb.AppendLine("Encargos Sociais: " + moneyAES); } } stb.AppendLine("********************************************************"); exportFuncionario.RelFuncionarios.Add(relF); } txtResult.Text = stb.ToString(); }