public String Simul2Json(SimulacionCLE obj) { String result = JsonConvert.SerializeObject(obj); return(result); //DataContractJsonSerializer ser; //MemoryStream ms = new MemoryStream(); //ser = new DataContractJsonSerializer(typeof(Modelos.SimulacionCLE)); //ser.WriteObject(ms, obj); //byte[] json = ms.ToArray(); //ms.Close(); //return Encoding.UTF8.GetString(json, 0, json.Length); }
public bool ObtenerSimulador(bool rechaze) { string ltMensaje; List <string> errs = new List <string>(); int nroCot = 0; nroCot = int.TryParse(iView.NumeroCotizacion.Text, out nroCot) ? nroCot : 0; if (nroCot == 0) { ltMensaje = "Es Nueva"; } else { ltMensaje = "Es Antigua"; } // Verifica el ingreso de los datos basicos if (iView.RutCliente.Text.Trim().Length == 0) { ltMensaje = "Falta identificar el Cliente"; if (rechaze) { errs.Add(ltMensaje); } } if (Array.Exists((new[] { 0, -1 }), element => element == iView.TipoOperacion.SelectedIndex)) { ltMensaje = "Falta establecer El Tipo de Operación"; if (rechaze) { errs.Add(ltMensaje); } } if (iView.TipoCredito.SelectedIndex == -1) { ltMensaje = "Debe elegir un Tipo De Crédito"; if (rechaze) { errs.Add(ltMensaje); } } int test = -1; if (!int.TryParse(iView.PlazoMaxResidualCtg.Text, out test) || test == 0) { ltMensaje = "Falta indicar el Plazo de la Operación"; if (rechaze) { errs.Add(ltMensaje); } } Decimal parMoneda = Decimal.TryParse(iView.Paridad.Value, NumberStyles.Number, CultureInfo.CreateSpecificCulture("en-US"), out parMoneda) ? parMoneda : 0; if (parMoneda == 0) { ltMensaje = "No Existe Paridad para la Moneda de la Operación"; if (rechaze) { errs.Add(ltMensaje); } } if (iView.Moneda.SelectedIndex == -1) { ltMensaje = "Se necesita identificar la Moneda"; if (rechaze) { errs.Add(ltMensaje); } } double montOp = double.TryParse(iView.MontoOperacion.Text, out montOp) ? montOp : 0; //if (montOp==0 && iView.NroCotizacionAjustar.Text.Trim()=="-") { if (montOp == 0) { ltMensaje = "Debe ingresar el Monto que va a afectar Línea"; if (rechaze) { errs.Add(ltMensaje); } //return false; } simu = new SimulacionCLE(dataConnectionString); simu.tNumeroOperacion = iView.NroOperacion.Text.Trim(); simu.tNumeroCliente = iView.RutCliente.Text.Trim(); simu.iCargoCasaMatriz = 0; if (iView.CasaMatriz.Attributes["data-tag"] != null && iView.CasaMatriz.Attributes["data-tag"].ToString().Trim() != string.Empty) { simu.iCargoCasaMatriz = 1; simu.tNumeroCasaMatriz = iView.CasaMatriz.Attributes["data-tag"].ToString().Trim(); } if (iView.Nota.Checked) { if (iView.NomSuby.Attributes["data-tag"] == null || iView.NomSuby.Attributes["data-tag"].ToString().Trim() == string.Empty) { ltMensaje = "Debe Indicar El Deudor Indirecto, Garante o Subyacente"; if (rechaze) { errs.Add(ltMensaje); } } if (Array.Exists((new[] { 0, -1 }), element => element == iView.TipoOperSuby.SelectedIndex)) { ltMensaje = "Debe Indicar El Tipo Operacion Subyacente"; if (rechaze) { errs.Add(ltMensaje); } //return false; } } if (errs.Count > 0) { errores.Add("faltainfo", errs); return(false); } String famcod = iView.TipoOperacion.SelectedValue;// Items[iView.TipoOperacion.SelectedIndex].ToString(); famcod = famcod.Split('-')[0]; simu.tTipoProducto = famcod; // frmLCEDatosSimulacion.TipoOperacion.List(frmLCEDatosSimulacion.TipoOperacion.ListIndex) if (iView.Producto.SelectedIndex >= 0) { simu.iCodigoProducto = int.Parse(iView.Producto.SelectedValue); // Support.GetItemData(iView.Producto, iView.Producto.SelectedIndex); } else { simu.iCodigoProducto = 0; } simu.tCodigoFamilia = iView.CodigoTipoOperacion.Text; simu.iCodigoMoneda = int.Parse(iView.Moneda.SelectedValue); // Support.GetItemData(iView.Moneda, iView.Moneda.SelectedIndex); //Decimal parMoneda = Decimal.TryParse(iView.Paridad.Value, NumberStyles.Number, // CultureInfo.CreateSpecificCulture("en-US"), out parMoneda) ? parMoneda : 0; ; Decimal toleranc = Decimal.TryParse(iView.PorcentajeTolerancia.Text, NumberStyles.Number, CultureInfo.CreateSpecificCulture("en-US"), out toleranc) ? toleranc : 0;; Decimal montOpe = Decimal.TryParse(iView.MontoOperacion.Text, NumberStyles.Number, CultureInfo.CreateSpecificCulture("en-US"), out montOpe) ? montOpe : 0;; Decimal lMontOrigen; lMontOrigen = Decimal.TryParse(iView.Monto.Text, NumberStyles.Number, CultureInfo.CreateSpecificCulture("en-US"), out lMontOrigen) ? lMontOrigen : 0; lMontOrigen = (montOpe * (1 + toleranc / 100)); simu.dMontoOrigen = Convert.ToDouble(lMontOrigen); // tes = double.TryParse(iView.Monto.Text, out tes) ? tes : 0; // ojo: simular solo la diferencia entre la cotizacion original y la modificada CotizacionCLE oldCot = new CotizacionCLE(dataConnectionString); Decimal lMontAplica, lMontGarant; NumberStyles style; style = NumberStyles.AllowDecimalPoint; //number = Decimal.Parse(value, style); // lMontAplica = Decimal.Parse(iView.MontoEquivalente.Text, NumberStyles.Number); //, out lMontAplica) ? lMontAplica : 0; lMontAplica = Decimal.TryParse(iView.MontoEquivalente.Text, NumberStyles.Number, CultureInfo.CreateSpecificCulture("en-US"), out lMontAplica) ? lMontAplica : 0; lMontAplica = (montOpe * (1 + toleranc / 100)) * parMoneda; Decimal porGar = Decimal.TryParse(iView.PorcenGarantia.Text, NumberStyles.Number, CultureInfo.CreateSpecificCulture("en-US"), out porGar) ? porGar : 0; lMontGarant = Decimal.TryParse(iView.MontoGarantia.Text, NumberStyles.Number, CultureInfo.CreateSpecificCulture("en-US"), out lMontGarant) ? lMontGarant : 0; lMontGarant = porGar / 100 * lMontAplica; simu.iNroCotizacion = 0; if (nroCot > 0) { if (oldCot.Obtener(nroCot) == 0) { lMontAplica = Decimal.Parse(iView.MontoEquivalente.Text) - (Decimal)oldCot.MontoDolares; simu.iNroCotizacion = nroCot; } else { errores.Add("ObtenerSimulador.1", oldCot.errlist); } oldCot = null; } simu.dMontoDolares = (double)lMontAplica; // CvNum(frmCotizacionCLE.MontoEquivalente.Text) simu.dMontoAfecta = (double)lMontAplica; simu.iCodigoPais = Convert.ToInt16(iView.Pais.Attributes["data-tag"].ToString().Trim()); // As Integer simu.iCodigoCateg = Convert.ToInt16(iView.Categoria.Attributes["data-tag"].ToString().Trim()); // As Integer simu.iEsNotaEstruct = iView.Nota.Checked; simu.iEsOperPuntual = iView.OperPuntual.Checked; if (simu.iEsNotaEstruct) { famcod = iView.TipoOperSuby.SelectedValue.Split('-')[0]; //.Items[iView.TipoOperSuby.SelectedIndex].ToString(); //famcod = Strings.Trim(Strings.Left(famcod, Strings.InStr(famcod, " > ", CompareMethod.Text/*?*/) - 1)); simu.tTipoProdSuby = famcod; // As String if (iView.ProdSuby.SelectedIndex >= 0) { simu.iCodigoProductoSby = Convert.ToInt32(iView.ProdSuby.SelectedValue); // Support.GetItemData(iView.ProdSuby, iView.ProdSuby.SelectedIndex); } else { } simu.tNumeroPerSuby = Convert.ToString(iView.NomSuby.Attributes["data-tag"].ToString().Trim()); // As String simu.iCodigoPaisSuby = Convert.ToInt16(iView.PaisSuby.Attributes["data-tag"].ToString().Trim()); // As Integer simu.iCodigoCategSuby = Convert.ToInt16(iView.CategSuby.Attributes["data-tag"].ToString().Trim()); // As Integer float pork; simu.sPorcGarantia = (float.TryParse(iView.PorcenGarantia.Text, NumberStyles.Number, new CultureInfo("en-US"), out pork) ? pork : 0) / 100; simu.dMontoGarantia = (double)(lMontGarant); // double.Parse(iView.MontoGarantia.Text); //if (Strings.Trim(Convert.ToString(iView.CasaMatrizSuby.Tag)) != string.Empty) //{ // // gSimulacion.iCargoCasaMatrizSuby = 1 // // gSimulacion.tNumeroCasaMatrizSuby = lperPersona.Obtener(frmCotizacionCLE.CasaMatrizSuby.Tag) //} //else //{ // // gSimulacion.iCargoCasaMatrizSuby = 0 //} } else { simu.sPorcGarantia = 0; simu.dMontoGarantia = 0; } simu.iDiasPlazo = (int)Math.Round(Convert.ToSingle(iView.PlazoMaxResidualCtg.Text)); short ok; String lblCodigoFamilia_Text = simu.tCodigoFamilia; Persona per = new Persona(dataConnectionString); simu.nombreCliente = (per.Obtener(simu.tNumeroCliente) == 0) ? per.NombreEstructurado : string.Empty; per = null; Pais pai = new Pais(dataConnectionString); simu.nombrePaisCliente = (pai.Obtener(simu.iCodigoPais) == 0) ? pai.Nombre : string.Empty; pai = null; TipoProducto tipo = new TipoProducto(dataConnectionString); if (tipo.Obtener(simu.tTipoProducto) == 0) { simu.nombreTipoProducto = tipo.Nombre; } tipo = null; Producto pro = new Producto(dataConnectionString); if (pro.Obtener(simu.iCodigoProducto) == 0) { simu.nombreProducto = pro.Nombre; } pro = null; Moneda mon = new Moneda(dataConnectionString); if (mon.Obtener(simu.iCodigoMoneda) == 0) { simu.nombreMonedaMonto = mon.Nombre; } mon = null; if (simu.iCargoCasaMatriz == 1) { Persona matriz = new Persona(dataConnectionString); if (matriz.Obtener(simu.tNumeroCasaMatriz) == 0) { simu.nombreMatriz = matriz.NombreEstructurado; } matriz = null; } String MontoAfecta_Text = simu.dMontoOrigen.ToString(); String MontoEquivalente_Text = simu.dMontoDolares.ToString(); if (simu.tNumeroPerSuby != null && simu.tNumeroPerSuby != "") { Persona sub = new Persona(dataConnectionString); if (sub.Obtener(simu.tNumeroPerSuby) == 0) { simu.nombreDeudorSubyace = sub.NombreEstructurado; } sub = null; Pais spai = new Pais(dataConnectionString); if (spai.Obtener(simu.iCodigoPaisSuby) == 0) { simu.nombrePaisSubyace = spai.Nombre; } spai = null; TipoProducto stipo = new TipoProducto(dataConnectionString); if (stipo.Obtener(simu.tTipoProdSuby) == 0) { simu.nombreTipoProductoSubyace = stipo.Nombre; } stipo = null; Producto spro = new Producto(dataConnectionString); if (spro.Obtener(simu.iCodigoProductoSby) == 0) { simu.nombreProductoSubyace = spro.Nombre; } spro = null; String sprPorcenGarantia = simu.sPorcGarantia.ToString(); String sprMontoGarantia = simu.dMontoGarantia.ToString(); } else { simu.tNumeroPerSuby = string.Empty; } return(true); }