public JsonResult SaveLimiteAjax(string limiteId, string data, string tetoContribuicao, string tetoRmi, string menorValorTeto, string maiorValorTeto)
        {
            bool   sucess = false;
            string error  = "";

            if (!string.IsNullOrEmpty(data) && !string.IsNullOrEmpty(tetoContribuicao) && !string.IsNullOrEmpty(tetoRmi) &&
                !string.IsNullOrEmpty(menorValorTeto) && !string.IsNullOrEmpty(maiorValorTeto))
            {
                Limite limite = null;
                if (!string.IsNullOrEmpty(limiteId))
                {
                    limite = limitesBusiness.GetLimiteId(Int32.Parse(limiteId));
                    if (limite == null)
                    {
                        sucess = false;
                        error  = "Limite não encontrado";
                        return(Json(new { sucess, error }, JsonRequestBehavior.AllowGet));
                    }
                    //db.Entry(limite).State = EntityState.Modified;
                }
                else
                {
                    limite = new Limite();
                }

                limite.Data = DateTime.ParseExact(data, "MM/yyyy", null);
                double pvalor;
                double.TryParse(tetoContribuicao, System.Globalization.NumberStyles.Number, System.Globalization.CultureInfo.InvariantCulture, out pvalor); //valor;
                limite.TetoContribuicao = pvalor;

                double.TryParse(tetoRmi, System.Globalization.NumberStyles.Number, System.Globalization.CultureInfo.InvariantCulture, out pvalor); //valor;
                limite.TetoRMI = pvalor;

                double.TryParse(menorValorTeto, System.Globalization.NumberStyles.Number, System.Globalization.CultureInfo.InvariantCulture, out pvalor); //valor;
                limite.MenorValorTeto = pvalor;

                double.TryParse(maiorValorTeto, System.Globalization.NumberStyles.Number, System.Globalization.CultureInfo.InvariantCulture, out pvalor); //valor;
                limite.MaiorValorTeto = pvalor;

                if (string.IsNullOrEmpty(limiteId))
                {
                    limitesBusiness.SetLimite(limite);
                }
                else
                {
                    limitesBusiness.UpdateLimite(limite);
                }

                sucess = true;
            }
            else
            {
                sucess = false;
                error  = "Preecher os campos corretamente";
            }

            return(Json(new { sucess, error }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult CreateLimite([Bind(Include = "LimiteID,Data,TetoContribuicao,TetoRMI,MenorValorTeto,MaiorValorTeto")] Limite limite)
        {
            if (ModelState.IsValid)
            {
                limitesBusiness.SetLimite(limite);
                return(RedirectToAction("IndexLimite"));
            }

            return(View(limite));
        }
 public void UpdateLimite(Limite limite)
 {
     try
     {
         limiteRepository.UpdateLimite(limite);
     }
     catch (Exception)
     {
         throw;
     }
 }
 public void SetLimite(Limite limite)
 {
     try
     {
         limiteRepository.SetLimite(limite);
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemple #5
0
        private decimal ObterCapitalAcumuladoPorCobertura(Limite l, List <CapitalSegurado> capitaisAcumuladosCliente)
        {
            if (capitaisAcumuladosCliente == null || !capitaisAcumuladosCliente.Any() || l.Coberturas == null || !l.Coberturas.Any())
            {
                return(0M);
            }

            return(capitaisAcumuladosCliente
                   .Where(cac => l.Coberturas.Contains(cac.CoberturaId))
                   .Sum(cac => cac.ValorCapitalSegurado));
        }
 public ActionResult Edit([Bind(Include = "LimiteID,Data,TetoContribuicao,TetoRMI,MenorValorTeto,MaiorValorTeto")] Limite limite)
 {
     //if (ModelState.IsValid)
     //{
     //    db.Entry(limite).State = EntityState.Modified;
     //    db.SaveChanges();
     //    return RedirectToAction("Index");
     //}
     //return View(limite);
     return(View());
 }
 public void UpdateLimite(Limite limite)
 {
     try
     {
         db.Entry(limite).State = EntityState.Modified;
         db.SaveChanges();
     }
     catch (Exception)
     {
         throw;
     }
 }
 public void SetLimite(Limite limite)
 {
     try
     {
         db.Limites.Add(limite);
         db.SaveChanges();
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemple #9
0
        private LimiteDisponivel CalcularLimiteDisponivel(Limite l, List <CapitalSegurado> capitaisAcumuladosCliente, decimal valorMaximoCapitalSegurado, string tipoLimite, List <Model.Produto> produtos, short prazoCerto = 0)
        {
            var capitalAcumulado = ObterCapitalAcumuladoPorCobertura(l, capitaisAcumuladosCliente);
            var valorMaximo      = valorMaximoCapitalSegurado - capitalAcumulado;
            var retorno          = new LimiteDisponivel()
            {
                Causa       = l.Causa,
                ValorMaximo = valorMaximo <= decimal.Zero ? decimal.Zero : valorMaximo,
                Produtos    = produtos.Where(p =>
                {
                    return(p.Coberturas.Any(c => l.Coberturas.Contains(c.IdCoberturaEsim.GetValueOrDefault())));
                }).Select(p => new ContratacaoProduto()
                {
                    IdProduto        = p.IdEsim.Value,
                    Descricao        = p.Descricao,
                    Obrigatorio      = p.Obrigatorio,
                    CoberturasLimite = p.Coberturas.Select(c => new ContratacaoCobertura()
                    {
                        Descricao           = c.Descricao,
                        IdItemProduto       = c.IdEsim.Value,
                        Obrigatorio         = c.Obrigatoria.Value,
                        Tipo                = c.Tipo,
                        TipoRelacaoSegurado = c.TipoRelacaoSegurado,
                        TipoCapitalBase     = c.TaxaFixa ? TipoCapitalBase.CapitalFixo : TipoCapitalBase.CapitalVariavel,
                        CapitalBase         = c.TaxaFixa ? (decimal)c.CapitalFixo.GetValueOrDefault() : 1000M,
                        PrazoCerto          = c.PrazoCerto.Contains(prazoCerto) ? prazoCerto : 0
                    }).ToList()
                }).ToList()
            };

            //excedeu o limite
            if (valorMaximo >= valorMaximoCapitalSegurado)
            {
                Mensagens.Add(new Observacao(descricao: $"O proponente excedeu o limite de contração por {tipoLimite} que está configurado com o valor R$ {valorMaximoCapitalSegurado} para a causa '{l.Causa}'"));
            }

            //limite reduzido
            if (valorMaximo > decimal.Zero && valorMaximo < valorMaximoCapitalSegurado)
            {
                Mensagens.Add(new Observacao(descricao: $"O limite por {tipoLimite} do proponente para a causa '{l.Causa}' foi reduzido de R$ {valorMaximoCapitalSegurado} para R$ {valorMaximo} por ele já ter outras coberturas de mesmo tipo contratadas"));
            }

            //tem limite total
            if (valorMaximo == decimal.Zero && valorMaximoCapitalSegurado > decimal.Zero)
            {
                Mensagens.Add(new Observacao(descricao: $"O proponente possui limite total de R$ {valorMaximoCapitalSegurado} para o tipo de cobertura '{l.Causa}' disponível para contratação"));
            }

            return(retorno);
        }
 public Limite GetLimiteId(int?id)
 {
     try
     {
         Limite limite = db.Limites.Find(id);
         if (limite == null)
         {
             return(null);
         }
         return(limite);
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemple #11
0
 public override void GetData(int opcion = 0)
 {
     base.GetData(opcion);
     TablaOVista = " FN_ACCESOS_USUARIOS_X_OFICINAS('" + nombreUsuario + "', " + empresaID.ToString() + "," + Limite.ToString() + ") ";
 }
Exemple #12
0
 void Start()
 {
     componente_rb = GetComponent <Rigidbody> ();
     limite        = new Limite();
 }
        public String SolveQuest(HttpContext context)
        {
            context.Request.InputStream.Position = 0;
            var jsonString = String.Empty;

            using (var inputStream = new StreamReader(context.Request.InputStream))
            {
                jsonString = inputStream.ReadToEnd();
            }

            JavaScriptSerializer        deserializer = new JavaScriptSerializer();
            Dictionary <String, Object> contenido    = deserializer.Deserialize <Dictionary <String, Object> >(jsonString);
            String accion = contenido["accion"].ToString();

            if (accion == "paridad")
            {
                int curmone;
                if (!int.TryParse(contenido["pointer"].ToString(), out curmone))
                {
                    pageComm.Add("fail", "Moneda no identificada:" + contenido["pointer"].ToString() + ".");
                }
                else
                {
                    DateTime fecha;
                    if (!DateTime.TryParse(contenido["fecha"].ToString(), out fecha))
                    {
                        pageComm.Add("fail", "Fecha en Malas Condiciones: " + contenido["fecha"].ToString() + ".");
                    }
                    else
                    {
                        Moneda mone   = new Moneda(dataConnectionString);
                        Double parity = mone.ParidadMoneda(curmone, fecha, 1);
                        pageComm.Add("paridad", parity.ToString(CultureInfo.CreateSpecificCulture("en-US")));
                    }
                }
                return(Modelos.Library.JsonInform.PageCommentsToJson(pageComm));
            }
            else if (accion == "relacionlimitecotizacion")
            {
                short    success     = 0;
                String[] conte       = Tools.CryptoTools.Decrypt(contenido["pointer"].ToString()).Split('\t');
                int      codigo      = int.Parse(conte[1]);
                int      correl      = int.Parse(conte[2]);
                String   numPersona  = conte[3];
                Decimal  montoAplica = Decimal.Parse(conte[4],
                                                     NumberStyles.Number, new System.Globalization.CultureInfo("en-US"));
                String   tipOper = conte[5];
                DateTime fecha   = DateTime.Today;
                Dictionary <String, Object> answer = new Dictionary <string, object>();
                answer.Add("fecha", fecha.ToShortDateString());
                answer.Add("targkey", contenido["pointer"].ToString());
                if (codigo == 2)
                {
                    answer.Add("nombre", "Límites Capítulo IIIB5");
                    answer.Add("moneda", "DOLAR AMERICANO");
                }
                else
                {
                    Limite limite = new Limite(dataConnectionString);
                    if (limite.Obtener(codigo, correl, fecha) == 0)
                    {
                        answer.Add("nombre", limite.Nombre);
                        Moneda mon = new Moneda(dataConnectionString);
                        if (mon.Obtener(limite.Moneda) == 0)
                        {
                            answer.Add("moneda", mon.Nombre);
                        }
                    }
                }

                RelacionLimiteCotizacion rela = new RelacionLimiteCotizacion(dataConnectionString);
                DataTable dRel = rela.GetList(ref success, codigo, correl);
                if (success == 0)
                {
                    DataTable infor = rela.PackInfo(dRel, tipOper, numPersona, montoAplica, true);


                    answer.Add("lista", infor);
                }
                else if (success == 3)
                {
                    answer.Add("vacio", "No Existen Cotizaciones para este Límite");
                }
                String result = JsonConvert.SerializeObject(answer);
                return(result);
            }
            else if (accion == "listaclientes")
            {
                short  success    = 0;
                String numPersona = contenido["numcli"].ToString();
                String nomPersona = contenido["nomcli"].ToString();
                short  rowsppage  = 14;
                short  currpage   = Convert.ToInt16(contenido["pointer"].ToString() == string.Empty ? "0" : contenido["pointer"].ToString());
                if (currpage == 0)
                {
                    currpage = 1;
                }
                Persona               per    = new Persona(dataConnectionString);
                DataTable             dt     = per.GetList(ref success, 0);
                string                filter = (nomPersona != "")? "nom_prsna_etcdo like '%" + nomPersona + "%'": "";
                string                sort   = "nom_prsna_etcdo ASC";
                IEnumerable <DataRow> qry    = dt.Select(filter, sort);
                short     rowstotal          = (short)qry.ToList().Count();
                DataTable ndt = new DataTable("clientes");
                ndt = dt.Clone();
                int toma  = rowsppage;
                int eskip = (rowsppage) * (currpage - 1);
                if (eskip > rowstotal)
                {
                    currpage--; eskip = (rowsppage) * (currpage - 1);
                }
                if (qry.Count() > 0)
                {
                    ndt = qry.Skip(eskip).Take(toma).CopyToDataTable <DataRow>();
                }
                DataTable pdt = new DataTable("paginacion");
                pdt.Columns.Add("actual", typeof(short));
                pdt.Columns.Add("total", typeof(short));
                pdt.Columns.Add("totalpages", typeof(short));
                int totpages = rowstotal / rowsppage;
                if (totpages * rowsppage < rowstotal)
                {
                    totpages++;
                }
                pdt.Rows.Add(currpage, rowstotal, totpages);
                DataSet nds = new DataSet();
                ndt.TableName = "clientes";
                nds.Tables.Add(ndt); nds.Tables.Add(pdt);
                String result = JsonConvert.SerializeObject(nds);
                return(result);
            }
            else
            {
                pageComm.Add("fail", "Accion No Identificada: " + accion + ".");
            }
            return(Modelos.Library.JsonInform.PageCommentsToJson(pageComm));
        }
 public void createLimite()
 {
     limite = Instantiate(GameCore.createGameScriptComponent(GameCore.GameComponentNames.Limite), new Vector3(0.0f, -7.0f, 0.0f), Quaternion.identity) as Limite;
        limite.gameObject.name = GameCore.RenameGameObject(limite.gameObject);
 }
        public void RegistraCliente()
        {
            iView.Comanda.Value = string.Empty;
            String  ruCliente = iView.Argumento.Value;
            Persona pCliente  = new Persona(dataConnectionString);
            Persona pMatriz   = new Persona(dataConnectionString);

            iView.SinLineaCliente.Text = string.Empty;

            if (0 == pCliente.Obtener(ruCliente))
            {
                iView.RutCliente.Text = Global.ConvertirNroRut(ruCliente);

                iView.NombreCliente.Text = pCliente.NombreEstructurado;
                iView.NombreCliente.Attributes.Add("data-tag", pCliente.Numero);

                Limite llimLimite;
                llimLimite = new Limite(dataConnectionString);
                int liRespuesta = 0;
                liRespuesta = llimLimite.ObtenerLineaCliente(pCliente.Numero);
                if (liRespuesta != 0)
                {
                    //MessageBox.Show("Está por generar una Simulación para un Cliente Nuevo o Sin Línea " + fCliente.NombreEstructurado, "ALERTA!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    pageComm.Add("linea", "Está por generar una Simulación para un Cliente Nuevo o Sin Línea " + pCliente.NombreEstructurado);
                    iView.SinLineaCliente.Text = "<-sin linea";
                    // bOk = EnviaMensajeMail("AVISO", "CLE -> Aviso Vencimiento Línea", MsgVig)
                    // Exit Sub
                }
                //
                // test lineas
                bool   bOk;
                string MsgVig = "";
                MsgVig = pCliente.TieneLineasVigentes();
                if (!("OK" == MsgVig))
                {
                    pageComm.Add("lineas", "Está por generar una Simulación para un Cliente Nuevo o Sin Línea: " + pCliente.NombreEstructurado);
                    iView.SinLineaCliente.Text = "<-sin lineas";
                    //bOk = modMailing.EnviaMensajeMail("AVISO", "CLE -> Aviso Vencimiento Línea", MsgVig);
                    // MsgBox "Testeo Lineas Vigencia: " & MsgVig
                    // ShellExecute 0, vbNullString, "mailto: " & "?subject=Aviso&body=" & MsgVig, vbNullString, vbNullString, vbNormalFocus
                }
                Pais pPais = new Pais(dataConnectionString);
                if (0 == pPais.Obtener(pCliente.CodigoPais))
                {
                    String nroMatr = pCliente.NroCasaMatriz(Global.ConvertirNroRut(ruCliente));
                    if (nroMatr == string.Empty)
                    {
                        iView.CargoCasaMatriz.Checked = false;
                        iView.CargoCasaMatriz.Visible = false;
                        //iView.CargoCasaMatriz.Enabled = false;
                        iView.CasaMatriz.Text = string.Empty;
                        iView.CasaMatriz.Attributes.Add("data-tag", string.Empty);
                    }
                    else
                    {
                        iView.CargoCasaMatriz.Checked = true;
                        iView.CargoCasaMatriz.Visible = true;
                        iView.CargoCasaMatriz.Enabled = false;
                        short q = pMatriz.Obtener(nroMatr);
                        iView.CasaMatriz.Text = pMatriz.NombreEstructurado;;
                        iView.CasaMatriz.Attributes.Add("data-tag", nroMatr);
                    }
                    //SSTab1.Enabled = true;
                    // iView.Nota.Enabled = true;
                    iView.OperPuntual.Enabled = true;
                    iView.Pais.Text           = pPais.Nombre;
                    iView.Pais.Attributes.Add("data-tag", pCliente.CodigoPais.ToString());
                    Categoria pCategoria = new Categoria(dataConnectionString);
                    if (0 == pCategoria.Obtener(pPais.Desarrollo))
                    {
                        iView.Categoria.Text = pCategoria.Nombre;
                        iView.Categoria.Attributes.Add("data-tag", pPais.Desarrollo.ToString());
                    }
                    else
                    {
                        iView.Categoria.Text = "Indefinida";
                        iView.Categoria.Attributes.Add("data-tag", string.Empty);
                    }
                    // ControlaPlazos
                    //SSTab1.SelectedIndex = 0;
                    //cboTipoOperacion.Focus();
                    //iView.Cotizar.Enabled = false;
                }
            }
            else
            {
                pageComm.Add("errordatos", "Ocurrió un error al intentar obtener los datos del Cliente.");
            }

            iView.pageContent = Modelos.Library.JsonInform.PageCommentsToJson(pageComm);
        }
        public void RegistraSubyacente()
        {
            iView.Comanda.Value = string.Empty;
            String  ruCliente = iView.Argumento.Value;
            Persona pCliente  = new Persona(dataConnectionString);

            iView.SinLineaSuby.Text = string.Empty;

            if (0 == pCliente.Obtener(ruCliente))
            {
                iView.NroPerSuby.Text = Global.ConvertirNroRut(ruCliente);

                iView.NomSuby.Text = pCliente.NombreEstructurado;
                iView.NomSuby.Attributes.Add("data-tag", pCliente.Numero);

                //nroMatr = fCliente.NroCasaMatriz(modGlobal.ConvertirNroRut(modGlobal.gtCodigoEncontrado));
                //if (nroMatr == string.Empty)
                //{
                //    chkCargoMatrizSubyacente.CheckState = CheckState.Unchecked;
                //    chkCargoMatrizSubyacente.Visible = false;
                //    chkCargoMatrizSubyacente.Enabled = false;
                //    txCasaMatrizSuby.Text = string.Empty;
                //    txCasaMatrizSuby.Tag = string.Empty;
                //}
                //else
                //{
                //    chkCargoMatrizSubyacente.CheckState = CheckState.Checked;
                //    chkCargoMatrizSubyacente.Visible = true;
                //    chkCargoMatrizSubyacente.Enabled = false;
                //    q = fMatriz.Obtener(nroMatr);
                //    txCasaMatrizSuby.Text = fMatriz.NombreEstructurado;
                //    txCasaMatrizSuby.Tag = nroMatr;
                //}
                Pais pPais = new Pais(dataConnectionString);
                if (0 == pPais.Obtener(pCliente.CodigoPais))
                {
                    iView.PaisSuby.Text = pPais.Nombre;
                    iView.PaisSuby.Attributes.Add("data-tag", pCliente.CodigoPais.ToString());

                    Categoria pCategoria = new Categoria(dataConnectionString);
                    if (0 == pCategoria.Obtener(pPais.Desarrollo))
                    {
                        iView.CategSuby.Text = pCategoria.Nombre;
                        iView.CategSuby.Attributes.Add("data-tag", pPais.Desarrollo.ToString());
                    }
                    else
                    {
                        iView.CategSuby.Text = "Indefinida";
                        iView.CategSuby.Attributes.Add("data-tag", string.Empty);
                    }
                    iView.Nota.Checked = true;
                    //this.cboTipoOperSuby.Focus();
                }
                Limite llimLimite;
                llimLimite = new Limite(dataConnectionString);
                int liRespuesta = 0;
                liRespuesta = llimLimite.ObtenerLineaCliente(ruCliente);
                if (liRespuesta != 0)
                {
                    pageComm.Add("lineasuby", "Está por generar una Simulación para un Deudor Subyacente Nuevo o Sin Línea " + pCliente.NombreEstructurado);
                    iView.SinLineaSuby.Text = "<-sin linea";
                }
                //
            }
            else
            {
                pageComm.Add("errordatos", "Ocurrió un error al intentar obtener los datos del Deudor Subyacente.");
            }

            iView.pageContent = Modelos.Library.JsonInform.PageCommentsToJson(pageComm);
        }