private void PresentaSimulacion() { string rotulo; if (this.iPlazoMinimo == -1) { this.lblDiasMaximo = "-"; } else { this.lblDiasMaximo = Convert.ToString(this.iPlazoMinimo); } this.lblDiasPlazo = Convert.ToString(this.iDiasPlazo); if (this.iPlazoRestringido) { this.clrDiasMaximo = "#FF0000"; //.ForeColor = Color.Red; this.lblDiasMaximo = "NO HAB."; comments.Add("operestringida", "La Operacion esta Restringida por -Plazo No Habilitado- para este Producto/Cliente"); } else { this.clrDiasMaximo = "#000000"; } if (this.tPlzRestringido.Length > 0 || this.tPlzAcotado.Length > 0) { this.clrDiasPlazo = "#FF0000"; if (!this.iPlazoRestringido) { comments.Add("plazorestringido", "El plazo definido para la Operacion sobrepasa las Condiciones Definidas para este Producto/Cliente"); } } else { this.clrDiasPlazo = "#000000"; } // sfv v3 Capitulo 3B5 //DataTable listaafectados //List<string[]> stringList = null; DataTable dt = new DataTable(); DataRow dr = null; dt.Columns.Add("BackColor", System.Type.GetType("System.String")); dt.Columns.Add("Severidad", System.Type.GetType("System.String")); dt.Columns.Add("Nombre", System.Type.GetType("System.String")); dt.Columns.Add("Acuerdo", System.Type.GetType("System.String")); dt.Columns.Add("Moneda", System.Type.GetType("System.String")); dt.Columns.Add("Otorgado", System.Type.GetType("System.String")); dt.Columns.Add("Utilizado", System.Type.GetType("System.String")); dt.Columns.Add("Reservado", System.Type.GetType("System.String")); dt.Columns.Add("Disponible", System.Type.GetType("System.String")); dt.Columns.Add("Excedido", System.Type.GetType("System.String")); dt.Columns.Add("Vigencia", System.Type.GetType("System.String")); dt.Columns.Add("CodigoLimite", System.Type.GetType("System.String")); dt.Columns.Add("ReferenciaLimite", System.Type.GetType("System.String")); dt.Columns.Add("SumaTotal", System.Type.GetType("System.String")); dt.Columns.Add("Formula", System.Type.GetType("System.String")); dt.Columns.Add("LimKey", System.Type.GetType("System.String")); string moned = "US$"; Capitulo3b5 lcapCapitulo3b5; lcapCapitulo3b5 = this.lcapCapitulo3b5; // margen 70 Limite Global char[] cFlagCapitulo3b5 = ("0000" + this.iFlagCapitulo3b5.ToString()).ToCharArray(); if (cFlagCapitulo3b5[cFlagCapitulo3b5.Length - 1] == '1') //if (Strings.Right("000" + Convert.ToString(this.iFlagCapitulo3b5), 1) == "1") { Decimal mont70 = Convert.ToDecimal(this.dMontoAfecta); dr = dt.NewRow(); dr["BackColor"] = "#CCCCCC"; //Color.FromArgb(220, 220, 220); dr["Severidad"] = "NOR"; // CAP3B5" dr["Nombre"] = "GLOBAL (70%) Cap. 3B5"; dr["Acuerdo"] = string.Empty; // acuerdo dr["Moneda"] = " US$"; dr["Otorgado"] = lcapCapitulo3b5.MontoOtorgado70.ToString(new System.Globalization.CultureInfo("en-US")); // string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoOtorgado70)); dr["Utilizado"] = lcapCapitulo3b5.MontoUtilizado70.ToString(new System.Globalization.CultureInfo("en-US")); // sprLimites.Text = string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoUtilizado70)); dr["Reservado"] = lcapCapitulo3b5.MontoReservado70.ToString(new System.Globalization.CultureInfo("en-US")); // string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoReservado70)); dr["Disponible"] = lcapCapitulo3b5.MontoDisponible70.ToString(new System.Globalization.CultureInfo("en-US")); // sprLimites.Text = string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoDisponible70)); dr["Excedido"] = string.Empty; if (lcapCapitulo3b5.MontoDisponible70 < 0) { dr["Excedido"] = "Excedido"; } dr["Vigencia"] = lcapCapitulo3b5.Vigencia; dr["CodigoLimite"] = lcapCapitulo3b5.CodigoLimite.ToString();// Strings.Right("000" + Convert.ToString(lcapCapitulo3b5.CodigoLimite), 3); dr["ReferenciaLimite"] = "1"; dr["SumaTotal"] = lcapCapitulo3b5.SumaPrin.ToString(new System.Globalization.CultureInfo("en-US")); // Text = string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.SumaPrin)); dr["LimKey"] = Tools.CryptoTools.Encrypt(DateTime.Now.ToString() + "\t" + lcapCapitulo3b5.CodigoLimite.ToString() + "\t1" + "\t" + this.personaAfe70 + "\t" + this.dMontoAfe70.ToString(new System.Globalization.CultureInfo("en-US")) + "\t" + this.tTipoProducto ); dt.Rows.Add(dr); if (lcapCapitulo3b5.SumaSec > 0) { dr = dt.NewRow(); dr["BackColor"] = "#CCCCCC"; //Color.FromArgb(220, 220, 220); dr["Severidad"] = "NOR"; // CAP3B5" dr["Nombre"] = "ADICIONAL (70%) Cap. 3B5"; dr["Acuerdo"] = string.Empty; // acuerdo dr["Moneda"] = " US$"; dr["Otorgado"] = lcapCapitulo3b5.MontoOtorgado70Adi.ToString(new System.Globalization.CultureInfo("en-US")); // string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoOtorgado70)); dr["Utilizado"] = lcapCapitulo3b5.MontoUtilizado70Adi.ToString(new System.Globalization.CultureInfo("en-US")); // sprLimites.Text = string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoUtilizado70)); dr["Reservado"] = lcapCapitulo3b5.MontoReservado70Adi.ToString(new System.Globalization.CultureInfo("en-US")); // string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoReservado70)); dr["Disponible"] = lcapCapitulo3b5.MontoDisponible70Adi.ToString(new System.Globalization.CultureInfo("en-US")); // sprLimites.Text = string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoDisponible70)); dr["Excedido"] = string.Empty; if (lcapCapitulo3b5.MontoDisponible70Adi < 0) { dr["Excedido"] = "Excedido"; } dr["Vigencia"] = lcapCapitulo3b5.Vigencia; dr["CodigoLimite"] = lcapCapitulo3b5.CodigoLimite.ToString();// Strings.Right("000" + Convert.ToString(lcapCapitulo3b5.CodigoLimite), 3); dr["ReferenciaLimite"] = "1"; dr["SumaTotal"] = lcapCapitulo3b5.SumaSec.ToString(new System.Globalization.CultureInfo("en-US")); // Text = string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.SumaPrin)); dr["LimKey"] = Tools.CryptoTools.Encrypt(DateTime.Now.ToString() + "\t" + lcapCapitulo3b5.CodigoLimite.ToString() + "\t1" + "\t" + this.personaAfe70 + "\t" + this.dMontoAfe70.ToString(new System.Globalization.CultureInfo("en-US")) + "\t" + this.tTipoProducto ); dt.Rows.Add(dr); } } // margen 30 Limite Grupal if (cFlagCapitulo3b5[cFlagCapitulo3b5.Length - 2] == '1') //if (("000" + this.iFlagCapitulo3b5.ToString()).PadRight(2).PadLeft(1) == "1") //if (Strings.Left(Strings.Right("000" + Convert.ToString(this.iFlagCapitulo3b5), 2), 1) == "1") { dr = dt.NewRow(); dr["BackColor"] = "#CCCCCC"; //Color.FromArgb(220, 220, 220); dr["Severidad"] = "NOR"; // CAP3B5" dr["Nombre"] = "GRUPAL (30%) (D, F, G) Cap. 3B5"; dr["Acuerdo"] = string.Empty; // acuerdo dr["Moneda"] = " US$"; dr["Otorgado"] = lcapCapitulo3b5.MontoOtorgado30.ToString(new System.Globalization.CultureInfo("en-US")); // string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoOtorgado70)); dr["Utilizado"] = lcapCapitulo3b5.MontoUtilizado30.ToString(new System.Globalization.CultureInfo("en-US")); // sprLimites.Text = string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoUtilizado70)); dr["Reservado"] = lcapCapitulo3b5.MontoReservado30.ToString(new System.Globalization.CultureInfo("en-US")); // string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoReservado70)); dr["Disponible"] = lcapCapitulo3b5.MontoDisponible30.ToString(new System.Globalization.CultureInfo("en-US")); // sprLimites.Text = string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoDisponible70)); dr["Excedido"] = string.Empty; if (lcapCapitulo3b5.MontoDisponible30 < 0) { dr["Excedido"] = "Excedido"; } dr["Vigencia"] = lcapCapitulo3b5.Vigencia; dr["CodigoLimite"] = lcapCapitulo3b5.CodigoLimite.ToString();// Strings.Right("000" + Convert.ToString(lcapCapitulo3b5.CodigoLimite), 3); dr["ReferenciaLimite"] = "2"; dr["SumaTotal"] = lcapCapitulo3b5.Suma30.ToString(new System.Globalization.CultureInfo("en-US")); // Text = string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.SumaPrin)); dr["LimKey"] = Tools.CryptoTools.Encrypt(DateTime.Now.ToString() + "\t" + lcapCapitulo3b5.CodigoLimite.ToString() + "\t2" + "\t" + tNumeroCliente + "\t" + this.dMontoAfecta.ToString(new System.Globalization.CultureInfo("en-US")) + "\t" + this.tTipoProducto ); dt.Rows.Add(dr); } // margen 15 Operaciones Tipo G if (cFlagCapitulo3b5[cFlagCapitulo3b5.Length - 3] == '1') //if (("000" + this.iFlagCapitulo3b5.ToString()).PadRight(3).PadLeft(1) == "1") //if (Strings.Left(Strings.Right("000" + Convert.ToString(this.iFlagCapitulo3b5), 3), 1) == "1") { dr = dt.NewRow(); dr["BackColor"] = "#CCCCCC"; //Color.FromArgb(220, 220, 220); dr["Severidad"] = "NOR"; // CAP3B5" dr["Nombre"] = "OPERACIONES TIPO G Cap. 3B5"; dr["Acuerdo"] = string.Empty; // acuerdo dr["Moneda"] = " US$"; dr["Otorgado"] = lcapCapitulo3b5.MontoOtorgado15.ToString(new System.Globalization.CultureInfo("en-US")); // string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoOtorgado70)); dr["Utilizado"] = lcapCapitulo3b5.MontoUtilizado15.ToString(new System.Globalization.CultureInfo("en-US")); // sprLimites.Text = string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoUtilizado70)); dr["Reservado"] = lcapCapitulo3b5.MontoReservado15.ToString(new System.Globalization.CultureInfo("en-US")); // string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoReservado70)); dr["Disponible"] = lcapCapitulo3b5.MontoDisponible15.ToString(new System.Globalization.CultureInfo("en-US")); // sprLimites.Text = string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoDisponible70)); dr["Excedido"] = string.Empty; if (lcapCapitulo3b5.MontoDisponible15 < 0) { dr["Excedido"] = "Excedido"; } dr["Vigencia"] = lcapCapitulo3b5.Vigencia; dr["CodigoLimite"] = lcapCapitulo3b5.CodigoLimite.ToString();// Strings.Right("000" + Convert.ToString(lcapCapitulo3b5.CodigoLimite), 3); dr["ReferenciaLimite"] = "3"; dr["SumaTotal"] = lcapCapitulo3b5.Suma15.ToString(new System.Globalization.CultureInfo("en-US")); // Text = string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.SumaPrin)); dr["LimKey"] = Tools.CryptoTools.Encrypt(DateTime.Now.ToString() + "\t" + lcapCapitulo3b5.CodigoLimite.ToString() + "\t3" + "\t" + tNumeroCliente + "\t" + this.dMontoAfecta.ToString(new System.Globalization.CultureInfo("en-US")) + "\t" + this.tTipoProducto ); dt.Rows.Add(dr); } // capitulo 8-10/11 RAN if (cFlagCapitulo3b5[cFlagCapitulo3b5.Length - 4] == '1') // if (("0000" + this.iFlagCapitulo3b5.ToString()).PadRight(4).PadLeft(1) == "1") //if (Strings.Left(Strings.Right("0000" + Convert.ToString(this.iFlagCapitulo3b5), 4), 1) == "1") { dr = dt.NewRow(); dr["BackColor"] = "#CCCCCC"; //Color.FromArgb(220, 220, 220); dr["Severidad"] = "NOR"; // CAP3B5" dr["Nombre"] = "CAPITULO 8-10/11 RAN"; dr["Acuerdo"] = string.Empty; // acuerdo dr["Moneda"] = " US$"; dr["Otorgado"] = lcapCapitulo3b5.MontoOtorgadoCap8.ToString(new System.Globalization.CultureInfo("en-US")); // string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoOtorgado70)); dr["Utilizado"] = lcapCapitulo3b5.MontoUtilizadoCap8.ToString(new System.Globalization.CultureInfo("en-US")); // sprLimites.Text = string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoUtilizado70)); dr["Reservado"] = lcapCapitulo3b5.MontoReservadoCap8.ToString(new System.Globalization.CultureInfo("en-US")); // string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoReservado70)); dr["Disponible"] = lcapCapitulo3b5.MontoDisponibleCap8.ToString(new System.Globalization.CultureInfo("en-US")); // sprLimites.Text = string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoDisponible70)); dr["Excedido"] = string.Empty; if (lcapCapitulo3b5.MontoDisponibleCap8 < 0) { dr["Excedido"] = "Excedido"; } dr["Vigencia"] = lcapCapitulo3b5.Vigencia; dr["CodigoLimite"] = lcapCapitulo3b5.CodigoLimite.ToString();// Strings.Right("000" + Convert.ToString(lcapCapitulo3b5.CodigoLimite), 3); dr["ReferenciaLimite"] = "3"; dr["SumaTotal"] = lcapCapitulo3b5.Suma08.ToString(new System.Globalization.CultureInfo("en-US")); // Text = string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.SumaPrin)); dr["LimKey"] = Tools.CryptoTools.Encrypt(DateTime.Now.ToString() + "\t" + lcapCapitulo3b5.CodigoLimite.ToString() + "\t4" + "\t" + tNumeroCliente + "\t" + this.dMontoAfecta.ToString(new System.Globalization.CultureInfo("en-US")) + "\t" + this.tTipoProducto ); dt.Rows.Add(dr); } if (lrecLimites != null) { foreach (DataRow row in this.lrecLimites.Rows) { dr = dt.NewRow(); if ((int)row["pge_rgl_lim"] > 0) { dr["Severidad"] = "NOR"; dr["BackColor"] = "#DDDDDD"; //Color.FromArgb(220, 220, 220); } else { dr["Severidad"] = "POL"; dr["BackColor"] = "#FFFFFF"; //Color.FromArgb(220, 220, 220); } rotulo = row["gls_dscrn_limte_indvd"].ToString(); //if (rotulo.Length > 55) rotulo = rotulo.Substring(0, 52) + "..."; dr["Nombre"] = rotulo; dr["Acuerdo"] = row["lim_gls_acu"].ToString(); // acuerdo dr["Moneda"] = row["moneda"].ToString(); dr["Otorgado"] = Decimal.Parse(row["mnt_otgmt_limte"].ToString()).ToString(new System.Globalization.CultureInfo("en-US")); // string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoOtorgado70)); dr["Utilizado"] = Decimal.Parse(row["mnt_utlzd_limte"].ToString()).ToString(new System.Globalization.CultureInfo("en-US")); // sprLimites.Text = string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoUtilizado70)); dr["Reservado"] = Decimal.Parse(row["nuevo_resv"].ToString()).ToString(new System.Globalization.CultureInfo("en-US")); // string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoReservado70)); dr["Disponible"] = Decimal.Parse(row["nuevo_dispo"].ToString()).ToString(new System.Globalization.CultureInfo("en-US")); // sprLimites.Text = string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.MontoDisponible70)); dr["Excedido"] = string.Empty; if (Decimal.Parse(row["nuevo_dispo"].ToString()) < 0) { dr["Excedido"] = "Excedido"; } dr["Vigencia"] = row["status"]; dr["CodigoLimite"] = row["cod_limte"].ToString();// Strings.Right("000" + Convert.ToString(lcapCapitulo3b5.CodigoLimite), 3); dr["ReferenciaLimite"] = row["nro_crtvo_limte"].ToString(); dr["SumaTotal"] = Decimal.Parse(row["tot_afe"].ToString()).ToString(new System.Globalization.CultureInfo("en-US")); // Text = string.Empty + Convert.ToString(modAjuste32.CvCom(lcapCapitulo3b5.SumaPrin)); dr["Formula"] = row["lim_gls_frm_clc"].ToString(); dr["LimKey"] = Tools.CryptoTools.Encrypt(DateTime.Now.ToString() + "\t" + row["cod_limte"].ToString() + "\t" + row["nro_crtvo_limte"].ToString() + "\t" + tNumeroCliente + "\t" + Decimal.Parse(this.dMontoAfecta.ToString(), NumberStyles.Number).ToString(new System.Globalization.CultureInfo("en-US")) + "\t" + this.tTipoProducto ); dt.Rows.Add(dr); } } PruebaCotizar(); this.lcapCapitulo3b5 = null; this.lrecLimites = null; dt.AcceptChanges(); listaafectados = dt; short ok = 0; Persona per = new Persona(dataConnectionString); Pais pai = new Pais(dataConnectionString); restricCliente = per.GetListRestricciones(ref ok, tNumeroCliente); riesgoCliente = per.GetListRiesgo(ref ok, tNumeroCliente); restricPais = pai.GetListRestricciones(ref ok, iCodigoPais); riesgoPais = pai.GetListRiesgo(ref ok, iCodigoPais); per = null; pai = null; }
public bool GenerarSimulacion() { bool success = true; string msgc, msgp; int liResultado; string ltComando; string ltMensaje = ""; Decimal SumaPrin, SumaSec, oto1, oto2; Decimal grp1, grp2, resv_base, resv_adic; Decimal dispo_base, dispo_adic; this.iFlagCapitulo3b5 = 0; // sfv v4 Capitulo 3B5 TipoProducto tipoprod = new TipoProducto(dataConnectionString); GrupoProducto grupprod = new GrupoProducto(dataConnectionString); Capitulo3b5 cap3b5 = new Capitulo3b5(dataConnectionString); string tip70 = this.tTipoProducto; Decimal mont70 = Convert.ToDecimal(this.dMontoAfecta); String per70 = this.tNumeroCliente; this.bSubyacenteAsume70 = false; if (1 == tipoprod.ObtenerModoAfectacion(this.tTipoProducto, this.tTipoProdSuby, "sbyasume70")) { tip70 = this.tTipoProdSuby; mont70 = Convert.ToDecimal(this.dMontoGarantia); this.bSubyacenteAsume70 = true; per70 = this.tNumeroPerSuby; } this.dMontoAfe70 = (double)mont70; this.personaAfe70 = per70; // . liResultado = cap3b5.Obtener(DateTime.Now); if (liResultado == 0) { // margen 70 Limite Global if (grupprod.IsTipInGrupo(tip70, "70MAIN")) { // If chkMargenAdicional.Value = True Then SumaPrin = mont70; SumaSec = 0; if (grupprod.IsTipInGrupo(tip70, "70ADIC")) { SumaSec = mont70; } grp1 = Convert.ToDecimal(cap3b5.MontoReserva70Pri) + Convert.ToDecimal(cap3b5.MontoUtiliza70Pri) + SumaPrin; grp2 = Convert.ToDecimal(cap3b5.MontoReserva70Sec) + Convert.ToDecimal(cap3b5.MontoUtiliza70Sec) + SumaSec; oto1 = Convert.ToDecimal(cap3b5.MontoOtorgado70); oto2 = Convert.ToDecimal(cap3b5.MontoOtorgado70Adi); resv_base = Convert.ToDecimal(cap3b5.MontoReservado70); resv_adic = Convert.ToDecimal(cap3b5.MontoReservado70Adi); if (oto1 - grp1 >= 0) { resv_base += mont70; resv_adic += 0; dispo_base = oto1 - grp1; dispo_adic = oto2; } else if (oto1 - (grp1 - grp2) >= 0) { if (oto1 - grp1 < 0) { resv_base += (SumaPrin - SumaSec); resv_adic += SumaSec; dispo_base = 0; dispo_adic = oto2 - (grp1 - oto1); } else { resv_base += (SumaPrin - SumaSec); resv_adic += SumaSec; dispo_base = 0; dispo_adic = oto2 + oto1 - grp1; } } else { resv_base += (SumaPrin - SumaSec); resv_adic += SumaSec; dispo_base = oto1 - grp1; dispo_adic = oto2 + oto1 - grp1; } cap3b5.MontoReserva70Pri += (double)SumaPrin; cap3b5.MontoReserva70Sec += (double)SumaSec; cap3b5.MontoReservado70 = (double)resv_base; cap3b5.MontoReservado70Adi = (double)resv_adic; cap3b5.MontoDisponible70 = (double)dispo_base; cap3b5.MontoDisponible70Adi = (double)dispo_adic; cap3b5.SumaPrin = (double)SumaPrin; cap3b5.SumaSec = (double)SumaSec; cap3b5.Suma70 = (double)SumaPrin; // Se Afecta margen del 70% del patrimonio efectivo (siempre) this.iFlagCapitulo3b5 += 1; // cap3b5.MontoReservado70 = cap3b5.MontoReservado70 + gSimulacion.dMontoDolares // cap3b5.MontoDisponible70 = cap3b5.MontoOtorgado70 - (cap3b5.MontoUtilizado70 + cap3b5.MontoReservado70) if (cap3b5.SumaSec > 0) { } } // margen 30 Limite Grupal if (grupprod.IsTipInGrupo(tip70, "30PERC")) { // If chkAfecta30.Value = True Then // Afecta margen del 30% del patrimonio efectivo // gSimulacion.iFlagCapitulo3b5 = 2 this.iFlagCapitulo3b5 += 10; cap3b5.MontoReservado30 += (double)mont70; cap3b5.MontoDisponible30 = cap3b5.MontoOtorgado30 - (cap3b5.MontoUtilizado30 + cap3b5.MontoReservado30); cap3b5.Suma30 = (double)mont70; } // margen 15 Operaciones Tipo G if (grupprod.IsTipInGrupo(tip70, "15PERC")) { // If chkAfecta15.Value = True Then // Afecta margen del 15% del patrimonio efectivo this.iFlagCapitulo3b5 += 100; cap3b5.MontoReservado15 += (double)mont70; cap3b5.MontoDisponible15 = cap3b5.MontoOtorgado15 - (cap3b5.MontoUtilizado15 + cap3b5.MontoReservado15); cap3b5.Suma15 = (double)mont70; // sfv } // Cap 8 1o/11 RAN if (grupprod.IsTipInGrupo(tip70, "810RAN")) { // If chkAfecta15.Value = True Then // Afecta margen del 37.5% del patrimonio efectivo this.iFlagCapitulo3b5 += 1000; cap3b5.MontoReservadoCap8 += (double)mont70; cap3b5.MontoDisponibleCap8 = cap3b5.MontoOtorgadoCap8 - (cap3b5.MontoUtilizadoCap8 + cap3b5.MontoReservadoCap8); cap3b5.Suma08 = (double)mont70; // sfv } } else if (liResultado == 3) { ltMensaje = "No existen márgenes del 30% y 70% Aplicables" + "\r" + "Informe al administrador del sistema"; comments.Add("Capitulo3b5", ltMensaje); } else { ltMensaje = "Error al obtener los márgenes del 30% y 70%"; errlist.AddRange(cap3b5.errlist); success = false; } this.lcapCapitulo3b5 = cap3b5; // Limites individuales StringBuilder sb = new StringBuilder(); sb.Append("exec sva_cle_sim_lim_idv_ctz '"); sb.Append(Global.ConvertirRutNro(this.tNumeroCliente)); sb.Append("', '"); sb.Append(Global.ConvertirRutNro(this.tNumeroCasaMatriz)); sb.Append("', "); sb.Append(Convert.ToString(this.iCodigoPais)); sb.Append(", "); sb.Append(Convert.ToString(this.iCodigoCateg)); sb.Append(", '"); sb.Append(this.tTipoProducto); sb.Append("', "); sb.Append(Convert.ToString(this.iCodigoProducto)); sb.Append(", '"); sb.Append(Global.ConvertirRutNro(this.tNumeroPerSuby)); sb.Append("', '"); sb.Append(this.tTipoProdSuby); sb.Append("', "); sb.Append(Convert.ToString(this.iCodigoPaisSuby)); sb.Append(", "); sb.Append(Convert.ToString(this.iCodigoCategSuby)); sb.Append(", "); sb.Append(Convert.ToString(this.iCargoCasaMatriz)); sb.Append(", "); sb.Append((this.iEsNotaEstruct ? 1 : 0)); sb.Append(", "); sb.Append((this.iEsOperPuntual ? 1 : 0)); sb.Append(", "); sb.Append(Convert.ToString(this.dMontoAfecta).Replace(",", ".")); sb.Append(", "); sb.Append(Convert.ToString(this.iDiasPlazo)); sb.Append(", "); sb.Append(Convert.ToString(this.sPorcGarantia).Replace(",", ".")); sb.Append(", "); sb.Append(Convert.ToString(this.dMontoGarantia).Replace(",", ".")); ltComando = sb.ToString(); msgc = string.Empty; msgp = string.Empty; this.iPlazoMinimo = -1; using (DataFinder db = new DataFinder(dataConnectionString)) { DataSet dset = db.GetDataSet(ltComando); if (db.errlist.Count == 0) { this.lrecLimites = dset.Tables[0]; foreach (DataRow row in this.lrecLimites.Rows) { if ((short)row["afe_plz_htd"] == 2) { msgc += "\r\n" + "Plazo Impedido por -> " + row["gls_dscrn_limte_indvd"].ToString(); this.iPlazoRestringido = true; if (this.iPlazoMinimo < 0 || this.iPlazoMinimo > (int)row["afe_plz_can"]) { this.iPlazoMinimo = 0; } } else if ((short)row["afe_plz_htd"] == 1) { if ((int)row["delta_plazo"] < 0) { msgp += "\r\n" + "Plazo Restringido: Maximo = " + row["afe_plz_can"].ToString() + " días -> " + row["gls_dscrn_limte_indvd"].ToString(); } if (this.iPlazoMinimo < 0 || this.iPlazoMinimo > (int)row["afe_plz_can"]) { this.iPlazoMinimo = (int)row["afe_plz_can"]; } } } } else { errlist.AddRange(db.errlist); success = false; } } this.tPlzRestringido = msgc; this.tPlzAcotado = msgp; //this.lrecLimites.Requery(); cap3b5 = null; grupprod = null; tipoprod = null; PresentaSimulacion(); return(success); }