Exemple #1
0
        public List <ParcelaProdutosController> ProdutosParcelaID(long TB016_id)
        {
            List <ParcelaProdutosController> Retorno = new List <ParcelaProdutosController>();

            try
            {
                SqlConnection con  = new SqlConnection(ParametrosDAO.StringConexao);
                StringBuilder sSQL = new StringBuilder();


                sSQL.Append("SELECT * ");
                sSQL.Append("FROM dbo.TB017_ParcelaProduto ");
                sSQL.Append("WHERE TB016_id = ");
                sSQL.Append(TB016_id);

                SqlCommand command = new SqlCommand(sSQL.ToString(), con);
                command.CommandTimeout = 300;

                con.Open();
                SqlDataReader reader = command.ExecuteReader();

                while (reader.Read())
                {
                    ParcelaProdutosController obj = new ParcelaProdutosController();
                    obj.TB017_id            = Convert.ToInt64(reader["TB017_id"]);
                    obj.TB017_Item          = reader["TB017_Item"].ToString();
                    obj.TB017_IdProteus     = reader["TB017_IdProteus"] is DBNull ? reader["TB017_id"].ToString() : reader["TB017_IdProteus"].ToString().TrimEnd();
                    obj.TB017_ValorUnitario = Convert.ToDouble(reader["TB017_ValorUnitario"]);
                    obj.TB017_ValorDesconto = Convert.ToDouble(reader["TB017_ValorDesconto"]);
                    obj.TB017_ValorFinal    = Convert.ToDouble(reader["TB017_ValorFinal"]);
                    obj.TB017_TipoS         = reader["TB017_Tipo"].ToString();

                    Retorno.Add(obj);
                }

                con.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(Retorno);
        }
        private void RenovarPlanoFamiliar()
        {
            try
            {
                txtMensagens.Focus();
                txtMensagens.Text = "Iniciando processo de renovação.";
                for (int y = 0; y < dgwLista.RowCount; y++)
                {
                    if (Convert.ToBoolean(dgwLista.Rows[y].Cells["Renovar"].Value) == true)
                    {
                        List <ParcelaController> Parcelas = new List <ParcelaController>();

                        /*Dados da Ultima Parcela*/
                        ParcelaNegocios   Parcela_N     = new ParcelaNegocios();
                        ParcelaController UltimaParcela = new ParcelaController();
                        UltimaParcela = Parcela_N.UltimaParcelaRenovacao(Convert.ToInt64(dgwLista.Rows[y].Cells["TB012_id"].Value.ToString()));


                        /****************************************************/
                        try
                        {
                            for (int i = 0; i < 12; i++)
                            {
                                ParcelaController Parcela  = new ParcelaController();
                                PlanoController   objPlano = new PlanoController();

                                Parcela.Plano = objPlano;

                                if (cnkExportarArquivo.Checked == true)
                                {
                                    Parcela.TB016_LoteExportacao = 0;
                                }
                                else
                                {
                                    Parcela.TB016_LoteExportacao = -1;
                                }



                                List <ParcelaProdutosController> ParcelaItens_L = new List <ParcelaProdutosController>();

                                //Recuperar Empresa Pelo Local de Cadastro
                                PontoDeVendaNegocios PontoDeVenda_N = new PontoDeVendaNegocios();

                                EmpresaNegocios Empresa_N = new EmpresaNegocios();



                                PontoDeVendaController Ponto = new PontoDeVendaNegocios().PontoDeVendaEmpresa(Convert.ToInt64(dgwLista.Rows[y].Cells["TB002_id"].Value.ToString()));



                                Parcela.Empresa = new EmpresaNegocios().Empresa(Ponto.Empresa.TB001_id);



                                PessoaNegocios Titular_N = new PessoaNegocios();

                                Parcela.Pessoa = Titular_N.pessoaSelectId(Convert.ToInt64(dgwLista.Rows[y].Cells["TB013_id"].Value.ToString()));

                                Parcela.Pessoa.Municipio.TB006_Municipio     = Parcela.Pessoa.Municipio.TB006_Municipio;
                                Parcela.Pessoa.Municipio.Estado.TB005_Estado = Parcela.Pessoa.Municipio.Estado.TB005_Estado;
                                Parcela.Pessoa.TB013_CPFCNPJ = dgwLista.Rows[y].Cells["TB013_CPFCNPJ"].Value.ToString().Replace(".", "").Replace(",", "").Replace("/", "").Replace("-", "").Trim();

                                Parcela.TB012_id      = Convert.ToInt64(dgwLista.Rows[y].Cells["TB012_id"].Value.ToString());
                                Parcela.TB016_Parcela = i + 1;
                                Parcela.TB016_Emissao = DateTime.Now;



                                Int32 Ano = Convert.ToInt32(cmbPesquisaCiclo.Text.Substring(cmbPesquisaCiclo.Text.Length - 4, 4));
                                Int16 Mes = Convert.ToInt16(cmbPesquisaCiclo.Text.Replace(Ano.ToString(), ""));
                                Ano++;
                                string Ciclo = Mes.ToString() + Ano.ToString();
                                Parcela.TB012_CicloContrato = Convert.ToInt32(Ciclo);

                                Parcela.TB016_FormaPagamentoS = "1";
                                Parcela.TB016_EmitirBoleto    = 1;


                                if (i == 0)
                                {
                                    Parcela.TB016_Vencimento = Convert.ToDateTime(UltimaParcela.TB016_Vencimento.Day + "/" + UltimaParcela.TB016_Vencimento.Month + "/" + UltimaParcela.TB016_Vencimento.Year).AddMonths(1);
                                }
                                else
                                {
                                    Parcela.TB016_Vencimento = Convert.ToDateTime(Parcelas[i - 1].TB016_Vencimento.Day + "/" + Parcelas[i - 1].TB016_Vencimento.Month + "/" + Parcelas[i - 1].TB016_Vencimento.Year).AddMonths(1);
                                }

                                Parcela.TB016_StatusS = "1";

                                //Filtrar Distribuição de major, menor e isento
                                PessoaNegocios Participantes_N = new PessoaNegocios();
                                List <CategoriaIdadeControler> Participantes_L = Participantes_N.MembrosAtivosDoConrato(Convert.ToInt64(dgwLista.Rows[y].Cells["TB012_id"].Value.ToString()), Parcela.TB016_Vencimento);

                                CategoriaIdadeNegocios  CategoriaIdade_N = new CategoriaIdadeNegocios();
                                CategoriaIdadeControler DadosFiltroIdade = CategoriaIdade_N.DistribuicaoIsencaoIdade(Participantes_L);
                                //Localiar Plano's conforme itens de filtro
                                PlanoController        filtro          = new PlanoController();
                                PontoDeVendaController ObjPontoDeVenda = new PontoDeVendaController();
                                filtro.PontoDeVenda = ObjPontoDeVenda;

                                filtro.TB015_Maiores         = DadosFiltroIdade.Maior;
                                filtro.TB015_Menores         = DadosFiltroIdade.Menor;
                                filtro.TB015_Isentos         = DadosFiltroIdade.Isento;
                                filtro.PontoDeVenda.TB002_id = Convert.ToInt64(Convert.ToInt64(dgwLista.Rows[y].Cells["TB002_id"].Value.ToString()));

                                PlanoNegocios Plano_N = new PlanoNegocios();
                                DataSet       Plano   = new DataSet();

                                Plano = Plano_N.PlanoVendaContezino(filtro, 1, 0, 1);

                                Parcela.Plano.TB015_Maiores = filtro.TB015_Maiores;
                                Parcela.Plano.TB015_Menores = filtro.TB015_Menores;
                                Parcela.Plano.TB015_Isentos = filtro.TB015_Isentos;

                                Parcela.Plano.TB015_IOF              = Convert.ToDouble(Plano.Tables[0].Rows[0]["TB015_IOF"].ToString());
                                Parcela.Plano.TB015_TipoVencimento   = Convert.ToInt16(Plano.Tables[0].Rows[0]["TB015_TipoVencimento"].ToString());
                                Parcela.Plano.TB015_EspecieDocumento = Plano.Tables[0].Rows[0]["TB015_EspecieDocumento"].ToString();
                                Parcela.Plano.TB015_BoletoDesc1      = Plano.Tables[0].Rows[0]["TB015_BoletoDesc1"].ToString();
                                Parcela.Plano.TB015_BoletoDesc2      = Plano.Tables[0].Rows[0]["TB015_BoletoDesc2"].ToString();
                                Parcela.Plano.TB015_BoletoDesc3      = Plano.Tables[0].Rows[0]["TB015_BoletoDesc3"].ToString();
                                Parcela.Plano.TB015_BoletoDesc4      = Plano.Tables[0].Rows[0]["TB015_BoletoDesc4"].ToString();
                                Parcela.Plano.TB015_BoletoDesc5      = Plano.Tables[0].Rows[0]["TB015_BoletoDesc5"].ToString();
                                Parcela.TB016_Juros         = Convert.ToDouble(Plano.Tables[0].Rows[0]["TB015_Juros"].ToString());
                                Parcela.TB016_Multa         = Convert.ToDouble(Plano.Tables[0].Rows[0]["TB015_Multa"].ToString());
                                Parcela.TB016_DiaVencimento = Parcela.TB016_Vencimento.Day;



                                //Incluir Planos Possiveis para cada Parcela
                                Parcela.TB016_Valor       = Convert.ToDouble(Plano.Tables[0].Rows[0]["ValorPlano"].ToString());
                                Parcela.TB015_id          = Convert.ToInt64(Plano.Tables[0].Rows[0]["TB015_id"].ToString());
                                Parcela.TB015_Plano       = Plano.Tables[0].Rows[0]["TB015_Plano"].ToString();
                                Parcela.TB016_Entrada     = 0;
                                Parcela.TB016_ValorAdesao = 0;

                                ProdutoNegocios          PlanoProduto_N = new ProdutoNegocios();
                                List <ProdutoController> PlanoProduto_L = PlanoProduto_N.ProdutoPlano(Parcela.TB015_id);

                                //*******************Inserir Parcela
                                foreach (ProdutoController Produto in PlanoProduto_L)
                                {
                                    ParcelaProdutosController ParcelaItem = new ParcelaProdutosController();
                                    ParcelaItem.TB017_id        = Produto.TB014_id;
                                    ParcelaItem.TB017_IdProteus = Produto.TB014_IdProtheus;
                                    ParcelaItem.TB017_Item      = Produto.TB014_Produto;
                                    ParcelaItem.TB017_Maior     = Produto.TB014_Maiores;
                                    ParcelaItem.TB017_Menor     = Produto.TB014_Menores;
                                    ParcelaItem.TB017_Isento    = Produto.TB014_Isentos;

                                    if (Produto.TB014_Menores > 0)
                                    {
                                        Produto.TB014_ValorUnitario = Produto.TB014_ValorUnitario * filtro.TB015_Menores;
                                        ParcelaItem.TB017_Item      = ParcelaItem.TB017_Item + "( * " + filtro.TB015_Menores + ")";
                                    }

                                    if (Produto.TB014_Isentos > 0)
                                    {
                                        ParcelaItem.TB017_Item      = ParcelaItem.TB017_Item + "( * " + filtro.TB015_Isentos + ")";
                                        Produto.TB014_ValorUnitario = Produto.TB014_ValorUnitario * filtro.TB015_Isentos;
                                    }

                                    ParcelaItem.TB017_ValorUnitario = Produto.TB014_ValorUnitario;
                                    if (Produto.TB014_ValorMultiplo == 1)
                                    {
                                        ParcelaItem.TB017_ValorUnitario = (ParcelaItem.TB017_ValorUnitario * ParcelaItem.TB017_Maior) + (ParcelaItem.TB017_ValorUnitario * ParcelaItem.TB017_Menor);
                                        Produto.TB014_ValorUnitario     = (Produto.TB014_ValorUnitario * ParcelaItem.TB017_Maior) + (Produto.TB014_ValorUnitario * ParcelaItem.TB017_Menor);
                                    }

                                    ParcelaItem.TB017_ValorDesconto = 0;

                                    ParcelaItem.TB017_ValorFinal = Produto.TB014_ValorUnitario - ParcelaItem.TB017_ValorDesconto;
                                    string[] vValor = ParcelaItem.TB017_ValorFinal.ToString().Split(',');

                                    string v1 = vValor[0];
                                    string v2 = "0";

                                    if (ParcelaItem.TB017_ValorFinal > 0.01)
                                    {
                                        if (vValor[1].Length > 1)
                                        {
                                            v2 = vValor[1].Substring(0, 2);
                                        }
                                        else
                                        {
                                            v2 = vValor[1];
                                        }
                                    }
                                    ParcelaItem.TB017_ValorFinal = Convert.ToDouble(v1 + "," + v2);

                                    ParcelaItens_L.Add(ParcelaItem);
                                }

                                double Valor = 0;
                                for (int p = 0; p < ParcelaItens_L.Count; p++)
                                {
                                    Valor = Valor + ParcelaItens_L[p].TB017_ValorFinal;
                                }
                                Parcela.TB016_Valor = Valor;

                                /*Inserir Produto da Parcela*/
                                Parcela.ParcelaProduto_L = ParcelaItens_L;

                                Parcelas.Add(Parcela);
                            }

                            Parcela_N.GerarCobrancasParcela(Parcelas, ParametrosInterface.objUsuarioLogado.TB011_Id);
                            /*Alterar Ciclo do contrato*/
                            ContratoNegocios Contrato_N = new ContratoNegocios();
                            Contrato_N.CicloContratoAtualizar(Convert.ToInt64(dgwLista.Rows[y].Cells["TB012_id"].Value.ToString()), Parcelas[0].TB012_CicloContrato, ParametrosInterface.objUsuarioLogado.TB011_Id, UltimaParcela.TB016_Vencimento.AddYears(1));


                            /*Gerar Boletos*/
                            List <ParcelaController> BoletosEmitidos = Parcela_N.ParcelasParaEmissaoBoleto(Convert.ToInt64(dgwLista.Rows[y].Cells["TB012_id"].Value.ToString()), ParametrosInterface.objUsuarioLogado.TB011_Id, 0);
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message, "Erro ao executar operação", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }

                        /*****************************************************/
                    }
                }

                /*Atualizar List*/
                PopularListaParaRenovacao();
                lblExportarTotalDeContratos.Text = "Boletos emitidos, pronto para exportar aquivo";
                mnuListaRenovar.Enabled          = true;

                MessageBox.Show("Operação Concluida", "Renovação", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Erro ao executar operação", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }