Exemple #1
0
        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();
        }