public List<DebitoStructure> ListaParcelasCIP(int nCodigo, int nAno) { using (TributacaoEntities db = new TributacaoEntities()) { var reg = (from dp in db.debitoparcela join dt in db.debitotributo on new { p1 = dp.codreduzido, p2 = dp.anoexercicio, p3 = dp.codlancamento, p4 = dp.seqlancamento, p5 = dp.numparcela, p6 = dp.codcomplemento } equals new { p1 = dt.codreduzido, p2 = dt.anoexercicio, p3 = dt.codlancamento, p4 = dt.seqlancamento, p5 = dt.numparcela, p6 = dt.codcomplemento } into dpdt from dt in dpdt.DefaultIfEmpty() join pd in db.parceladocumento on new { p1 = dp.codreduzido, p2 = dp.anoexercicio, p3 = dp.codlancamento, p4 = dp.seqlancamento, p5 = dp.numparcela, p6 = dp.codcomplemento } equals new { p1 = pd.codreduzido, p2 = pd.anoexercicio, p3 = pd.codlancamento, p4 = pd.seqlancamento, p5 = pd.numparcela, p6 = pd.codcomplemento } into dppd from pd in dppd.DefaultIfEmpty() where dp.codreduzido == nCodigo && dp.anoexercicio == nAno && dp.codlancamento == 79 && dp.seqlancamento == 0 && dp.statuslanc == 3 orderby new { dp.numparcela, dp.codcomplemento } select new { dp.codreduzido, dp.anoexercicio, dp.codlancamento, dp.seqlancamento, dp.numparcela, dp.codcomplemento, dp.datavencimento, dt.valortributo, pd.numdocumento }); List<DebitoStructure> Lista = new List<DebitoStructure>(); foreach (var query in reg) { foreach (DebitoStructure item in Lista) { if (item.Numero_Parcela == query.numparcela && item.Complemento == query.codcomplemento) goto Proximo; } DebitoStructure Linha = new DebitoStructure(); Linha.Codigo_Reduzido = query.codreduzido; Linha.Ano_Exercicio = query.anoexercicio; Linha.Codigo_Lancamento = query.codlancamento; Linha.Sequencia_Lancamento = query.seqlancamento; Linha.Numero_Parcela = query.numparcela; Linha.Complemento = query.codcomplemento; Linha.Soma_Principal = Convert.ToDecimal(query.valortributo); Linha.Data_Vencimento = query.datavencimento; Linha.Numero_Documento = query.numdocumento; Lista.Add(Linha); Proximo:; } return Lista; } }
public List<DebitoStructure> ListaParcelasDocumento(int nNumDoc) { using (TributacaoEntities db = new TributacaoEntities()) { var reg = (from p in db.parceladocumento where p.numdocumento==nNumDoc select new { p.codreduzido, p.anoexercicio, p.codlancamento, p.seqlancamento, p.numparcela, p.codcomplemento}); List<DebitoStructure> Lista = new List<DebitoStructure>(); foreach (var query in reg) { DebitoStructure Linha = new DebitoStructure(); Linha.Codigo_Reduzido = query.codreduzido; Linha.Ano_Exercicio = query.anoexercicio; Linha.Codigo_Lancamento = query.codlancamento; Linha.Sequencia_Lancamento = query.seqlancamento; Linha.Numero_Parcela = query.numparcela; Linha.Complemento = query.codcomplemento; Lista.Add(Linha); } return Lista; } }
public List<DebitoStructure> Extrato(int Codigo, short Ano1, short Ano2, short Lanc1, short Lanc2, short Seq1, short Seq2, short Parc1, short Parc2, short Compl1, short Compl2, short nStatus1, short nStatus2, DateTime dDataNow, byte bAjuizado) { // bool bRefis = Convert.ToInt32(clsGlobal.ParametroGti("ANISTIA")) == 1 ? true : false; bool bRefis = true; bool bRefisDI = true; Decimal nPerc = 0; decimal nValorPrincipal, nValorMulta, nValorJuros, nValorCorrecao, nValorTotal; ; DataSet Ds = new DataSet(); using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["GTIconnection"].ConnectionString)) using (var cmd = new SqlCommand("spExtratoNew", con)) { cmd.Parameters.Add(new SqlParameter("@CodReduz1", SqlDbType.Int)).Value = Codigo; cmd.Parameters.Add(new SqlParameter("@CodReduz2", SqlDbType.Int)).Value = Codigo; cmd.Parameters.Add(new SqlParameter("@AnoExercicio1", SqlDbType.Int)).Value = Ano1; cmd.Parameters.Add(new SqlParameter("@AnoExercicio2", SqlDbType.Int)).Value = Ano2; cmd.Parameters.Add(new SqlParameter("@CodLancamento1", SqlDbType.Int)).Value = Lanc1; cmd.Parameters.Add(new SqlParameter("@CodLancamento2", SqlDbType.Int)).Value = Lanc2; cmd.Parameters.Add(new SqlParameter("@SeqLancamento1", SqlDbType.Int)).Value = Seq1; cmd.Parameters.Add(new SqlParameter("@SeqLancamento2", SqlDbType.Int)).Value = Seq2; cmd.Parameters.Add(new SqlParameter("@NumParcela1", SqlDbType.Int)).Value = Parc1; cmd.Parameters.Add(new SqlParameter("@NumParcela2", SqlDbType.Int)).Value = Parc2; cmd.Parameters.Add(new SqlParameter("@CodComplemento1", SqlDbType.Int)).Value = Compl1; cmd.Parameters.Add(new SqlParameter("@CodComplemento2", SqlDbType.Int)).Value = Compl2; cmd.Parameters.Add(new SqlParameter("@StatusLanc1", SqlDbType.Int)).Value = nStatus1; cmd.Parameters.Add(new SqlParameter("@StatusLanc2", SqlDbType.Int)).Value = nStatus2; cmd.Parameters.Add(new SqlParameter("@DataNow", SqlDbType.DateTime)).Value = dDataNow; using (var da = new SqlDataAdapter(cmd)) { cmd.CommandType = CommandType.StoredProcedure; da.Fill(Ds); } con.Open(); //SqlCommand command = new SqlCommand("Select count(*) from protesto where codigo="+Codigo, con); SqlCommand command = new SqlCommand("Select count(*) from debitoparcela where codreduzido=" + Codigo + " and statuslanc=38", con); int result =(Int32) command.ExecuteScalar(); clsGlobal.bCodigoProtesto = result <= 0 ? false : true; command.Dispose(); } List<DebitoStructure> Lista = new List<DebitoStructure>(); List<DebitoStructure> Lista2 = new List<DebitoStructure>(); List<TributoStructure> ListaTributo=new List<TributoStructure>(); int nPos = 0; foreach (DataRow reg in Ds.Tables[0].Rows) { if (Convert.ToInt16(reg["statuslanc"]) != 3 && Convert.ToInt16(reg["statuslanc"]) != 19 && Convert.ToInt16(reg["statuslanc"]) != 38 && Convert.ToInt16(reg["statuslanc"]) != 39) goto Proximo; bool bFind = false; foreach (var item2 in Lista) { if (Convert.ToInt32(reg["anoexercicio"]) == item2.Ano_Exercicio && Convert.ToInt32(reg["codlancamento"]) == item2.Codigo_Lancamento && Convert.ToInt32(reg["seqlancamento"]) == item2.Sequencia_Lancamento && Convert.ToInt16(reg["numparcela"]) == item2.Numero_Parcela && Convert.ToInt16(reg["codcomplemento"]) == item2.Complemento) { bFind = true; break; } } if (!bFind) { DebitoStructure item = new DebitoStructure(); item.Usuario = reg["usuario"].ToString(); item.Numero_Documento = reg["numdocumento"].ToString() == "" ? 0 : Convert.ToDouble(reg["numdocumento"]); item.Codigo_Reduzido = Convert.ToInt32(reg["codreduzido"]); item.Ano_Exercicio = Convert.ToInt32(reg["anoexercicio"]); item.Codigo_Lancamento = Convert.ToInt32(reg["codlancamento"]); item.Sequencia_Lancamento = Convert.ToInt32(reg["seqlancamento"]); item.Numero_Parcela = Convert.ToInt16(reg["numparcela"]); item.Complemento = Convert.ToInt16(reg["codcomplemento"]); item.Codigo_Situacao = Convert.ToInt16(reg["statuslanc"]); item.Usuario = "GTI/Web"; item.Descricao_Lancamento = reg["desclancamento"].ToString(); item.Data_Vencimento = Convert.ToDateTime(reg["datavencimento"]); item.Soma_Principal =Convert.ToDecimal(reg["valortributo"]); item.Soma_Juros = Convert.ToDecimal(reg["valorjuros"]); item.Soma_Multa = Convert.ToDecimal(reg["valormulta"]); item.Soma_Correcao = Convert.ToDecimal(reg["valorcorrecao"]); item.Soma_Total = Convert.ToDecimal(reg["valortotal"]); item.Data_Ajuizamento = (reg["dataajuiza"] is DBNull) ? DateTime.MinValue : Convert.ToDateTime(reg["dataajuiza"]); // if (item.Sequencia_Lancamento == 5 && item.Numero_Parcela == 18) // bRefis = true; if (bRefis) { if (Convert.ToDateTime(reg["datavencimento"]) <= Convert.ToDateTime("31/12/2016")) { Int16 CodLanc = Convert.ToInt16(reg["codlancamento"]); if (CodLanc != 48 || CodLanc != 69 || CodLanc != 78) { if (dDataNow <= Convert.ToDateTime("29/09/2017")) { nPerc = 1M; clsGlobal.nPlano = 16; } else if (dDataNow > Convert.ToDateTime("29/09/2017") && dDataNow <= Convert.ToDateTime("31/10/2017")) { nPerc = 0.8M; clsGlobal.nPlano = 17; } else if (dDataNow > Convert.ToDateTime("31/10/2017") && dDataNow <= Convert.ToDateTime("30/11/2017")) { nPerc = 0.6M; clsGlobal.nPlano = 18; } else if (dDataNow > Convert.ToDateTime("30/11/2017") && dDataNow <= Convert.ToDateTime("22/12/2017")) { nPerc = 0.5M; clsGlobal.nPlano = 19; } item.Soma_Juros = Convert.ToDecimal(reg["valorjuros"]) - (Convert.ToDecimal(reg["valorjuros"]) * nPerc); item.Soma_Multa = Convert.ToDecimal(reg["valormulta"]) - (Convert.ToDecimal(reg["valormulta"]) * nPerc); item.Soma_Total = item.Soma_Principal + item.Soma_Juros + item.Soma_Multa + item.Soma_Correcao; } } } if (bRefisDI) { if (Convert.ToDateTime(reg["datavencimento"]) < Convert.ToDateTime("27/07/2017")) { Int16 CodLanc = Convert.ToInt16(reg["codlancamento"]); if (CodLanc == 81) { item.Soma_Juros = 0; item.Soma_Multa = 0; item.Soma_Total = item.Soma_Principal + item.Soma_Juros + item.Soma_Multa + item.Soma_Correcao; clsGlobal.nPlano = 23; } } } ListaTributo = new List<TributoStructure>(); TributoStructure RegTrib = new TributoStructure(); RegTrib.Codigo = Convert.ToInt32(reg["codtributo"]); RegTrib.Descricao = reg["abrevtributo"].ToString(); RegTrib.Valor_Principal = Convert.ToDecimal(reg["valortributo"]); RegTrib.Valor_Juros = item.Soma_Juros; RegTrib.Valor_Multa = item.Soma_Multa; RegTrib.Valor_Correcao = Convert.ToDecimal(reg["valorcorrecao"]); RegTrib.Valor_Total = item.Soma_Total; ListaTributo.Add(RegTrib); item.Tributos = ListaTributo; nValorPrincipal = 0;nValorMulta = 0;nValorJuros = 0;nValorCorrecao = 0;nValorTotal = 0; foreach (TributoStructure a in ListaTributo) { nValorPrincipal += a.Valor_Principal; nValorJuros += a.Valor_Juros; nValorMulta += a.Valor_Multa; nValorCorrecao += a.Valor_Correcao; nValorTotal += a.Valor_Total; } item.Soma_Principal = nValorPrincipal; item.Soma_Juros = nValorJuros; item.Soma_Multa = nValorMulta; item.Soma_Correcao = nValorCorrecao; item.Soma_Total = nValorTotal; Lista.Add(item); nPos += 1; } else { TributoStructure RegTrib = new TributoStructure(); RegTrib.Codigo = Convert.ToInt32(reg["codtributo"]); RegTrib.Descricao = reg["abrevtributo"].ToString(); RegTrib.Valor_Principal = Convert.ToDecimal(reg["valortributo"]); // RegTrib.Valor_Juros = Convert.ToDecimal(reg["valorjuros"]); // RegTrib.Valor_Multa = Convert.ToDecimal(reg["valormulta"]); RegTrib.Valor_Correcao = Convert.ToDecimal(reg["valorcorrecao"]); // RegTrib.Valor_Total = Convert.ToDecimal(reg["valortotal"]); if (Convert.ToDateTime(reg["datavencimento"]) <= Convert.ToDateTime("31/12/2016")) { if (Convert.ToInt32(reg["codlancamento"]) != 48 || Convert.ToInt32(reg["codlancamento"]) != 69 || Convert.ToInt32(reg["codlancamento"]) != 78) { RegTrib.Valor_Juros = RegTrib.Valor_Juros + (Convert.ToDecimal(reg["valorjuros"]) - ((Convert.ToDecimal(reg["valorjuros"])) * nPerc)); RegTrib.Valor_Multa = RegTrib.Valor_Multa + (Convert.ToDecimal(reg["valormulta"]) - ((Convert.ToDecimal(reg["valormulta"])) * nPerc)); RegTrib.Valor_Total = RegTrib.Valor_Principal + RegTrib.Valor_Juros + RegTrib.Valor_Multa + RegTrib.Valor_Correcao; } else { RegTrib.Valor_Juros = Convert.ToDecimal(reg["valorjuros"]); RegTrib.Valor_Multa = Convert.ToDecimal(reg["valormulta"]); RegTrib.Valor_Total = Convert.ToDecimal(reg["valortotal"]); } }else { RegTrib.Valor_Juros = Convert.ToDecimal(reg["valorjuros"]); RegTrib.Valor_Multa = Convert.ToDecimal(reg["valormulta"]); RegTrib.Valor_Total = Convert.ToDecimal(reg["valortotal"]); } ListaTributo.Add(RegTrib); nValorPrincipal = 0; nValorMulta = 0; nValorJuros = 0; nValorCorrecao = 0; nValorTotal = 0; foreach (TributoStructure a in ListaTributo) { nValorPrincipal += a.Valor_Principal; nValorJuros += a.Valor_Juros; nValorMulta += a.Valor_Multa; nValorCorrecao += a.Valor_Correcao; nValorTotal += a.Valor_Total; } Lista[nPos - 1].Soma_Principal = nValorPrincipal; Lista[nPos - 1].Soma_Juros = nValorJuros; Lista[nPos - 1].Soma_Multa = nValorMulta; Lista[nPos - 1].Soma_Correcao = nValorCorrecao; Lista[nPos - 1].Soma_Total = nValorTotal; Lista[nPos-1].Tributos = ListaTributo; } Proximo:; } return Lista; }