Esempio n. 1
0
        public ActionResult CotizadorEnLinea(string nombre, string paterno, string materno, string email, string telefono, string medio)
        {
            try
            {

                if (!HttpContext.User.Identity.IsAuthenticated || Session["UserObj"]==null)
                {
                    Logear acceso = new Logear();
                    var user = acceso.LoginAgenteWeb(4, "a");
                    string name = user.Tables["catAgentes"].Rows[0]["cNombre"].ToString();
                    VarProcAMC VarProcAMC = new VarProcAMC();
                    VarProcAMC.IniciarCarga();
                    Session["UserObj"] = user;
                    Session["Periodo"] = "Periodo: " + VarProcAMC.strPeriodo;
                    Session["UserRol"] = "";

                    System.Web.Security.FormsAuthentication.SetAuthCookie(name, false);
                }

                var CtExp = NuevaCotizacionExpress();
                CtExp.cotizacion.nombres = nombre;
                CtExp.cotizacion.apellidoPaterno = paterno;
                CtExp.cotizacion.apellidoMaterno = materno;
                CtExp.cotizacion.email = email;
                CtExp.cotizacion.codigoNegro = medio.Length > 4 ? medio.Remove(4) : medio;//medios
                CtExp.Telefonos.cTel = telefono;

                return View("CotExpress", CtExp);
            }
            catch (Exception err)
            {
                Response.StatusCode = (int)(System.Net.HttpStatusCode.InternalServerError);
                LogDeErrores.RegistroErrorWeb(err, DatoUsuario.idAgente, DatoUsuario.nomAgente, DatoUsuario.sIp, DatoUsuario.sHostName);
                return Json("ErrInterno");
            }
        }
Esempio n. 2
0
        public void Calculo(ref GenericoViewModel model, string Tipo)
        {
            try
            {
                model.conductores.Remove(model.conductores.FirstOrDefault(x => x.nombre == "-- Seleccione un conductor asignado --"));
                switch (Tipo)
                {
                    case "C":
                        /************************************************************/
                        if (model.vehiculos.Count == model.numVehiculos && model.conductores.Count == model.numConductores)
                        {
                            var logged = (DataSet)Session["UserObj"];
                            ClsComplemento Modi = new ClsComplemento();
                            VarProcAMC objVarProcAMC = new VarProcAMC();
                            model.periodo = VarProcAMC.strPeriodo;
                            double curDerechoEndoso = 0;
                            if (!string.IsNullOrEmpty(model.ModulodeTrabajo))
                            {
                                model.calculos = new List<ClsCalculo>();
                            }
                            //rCtz.cotizacion.CalculaCotizacion(rCtz.cotizacion, logged.Tables["catAgentes"].Rows[0]["nAgenteID"].ToString(), MnInf.ConvierteCobertura100(rCtz.cotizacion, "C"), MnInf.ConvierteTersa(rCtz.cotizacion, "C"), false);
                            //MnInf.LlenarlvCot(FrmDetalleGeneral.objCotizacion, strOrigen, "lvCot");
                            if (model.calculos == null)
                                model.calculos = new List<ClsCalculo>();
                            else
                            {
                                if (model.nQuitarPorPrima != 0)
                                {
                                    model.calculos.Clear();
                                }
                            }

                            for (int i = 1; i < 5; )
                            {
                                ClsCalculo ObjCalculo = new ClsCalculo();
                                int contCober = 0;
                                int contCond = 0;
                                int cobertura100 = VldVeh.ValidaConvierteCobertura100(ref contCober, ref contCond, model.cobertura100, model.vehiculos, model.conductores, "C");
                                int contTerssa = 0;
                                int terssa = VldVeh.ValidaConvierteTerssa(ref contTerssa, model.tersa, model.vehiculos, "C");
                                MnInf.LlenaObjetoCalculo(CentralAgentesMvc.App_Start.CastObject.Cast<ClsCotizacion>(model), "C", ref ObjCalculo, i);
                                if (objVarProcAMC.CalculaPrimas(ref ObjCalculo, ref curDerechoEndoso, VarProcAMC.strPeriodo, 0, "A", true, 0, 0, contCober, contTerssa, "") == true)
                                {
                                    model.ObjCalculo = ObjCalculo;
                                    model.complemento.precioAguila = ObjCalculo.mTotal;
                                }
                                else
                                {
                                    //MessageBox.Show("Error en cálculo");
                                    //return;
                                }
                                model.calculos.Add(ObjCalculo);
                                i++;
                            }
                            if (model.formaPago > 0)
                            {
                                model.ObjCalculo = model.calculos[model.formaPago - 1];
                                objVarProcAMC = new VarProcAMC();
                                model.RevisaCedeComision(CentralAgentesMvc.App_Start.CastObject.Cast<ClsCotizacion>(model), model.QuiereCederComision, model.ObjCalculo.primaNeta, "C");
                                model.vehiculos = model.ObjCalculo.vehiculos;
                            }
                        }
                        else
                        {
                            if (model.vehiculos.Count != model.numVehiculos)
                                MensajesError.ErroresCalculo.Add("No se han capturado todos los vehiculos especificados.");

                            if (model.conductores.Count != model.numConductores)
                                MensajesError.ErroresCalculo.Add("No se han capturado todos los conductores especificados.");
                        }
                        /************************************************************************/
                        break;
                    case "R":
                        break;
                }
            }
            catch (Exception err)
            {
                Response.StatusCode = (int)(System.Net.HttpStatusCode.InternalServerError);
                LogDeErrores.RegistroErrorWeb(err, DatoUsuario.idAgente, DatoUsuario.nomAgente, DatoUsuario.sIp, DatoUsuario.sHostName);
                throw err;
            }
        }
Esempio n. 3
0
        public ActionResult CalculoCotizacionCedida(bool ejecutaCalculo)
        {
            try
            {
                MensajesError.ErroresCalculo = new List<string>();
                ResumenCotizar rCtz = new ResumenCotizar();
                rCtz.calculos = new List<ClsCalculo>();
                rCtz.Origen = (string)Session["RsmClc"];
                GenericoViewModel model = new GenericoViewModel();
                model = (GenericoViewModel)Session["ModeloEnUso"];
                if (model.nQuitarPorPrima != 0)
                {
                    rCtz.QuiereCederComision = model.QuiereCederComision = false;
                    rCtz.porcentajeCede = model.nQuitarPorPrima;
                    //model.porcentajecomision = model.nQuitarPorPrima;
                }
                rCtz.PorcentajeComisionSource = new Dictionary<int, string>();
                for (int i = 0; i < 21; i++)
                {
                    rCtz.PorcentajeComisionSource.Add(i, i.ToString());
                }

                //rCtz.PorcentajeComisionSource = model.PorcentajeComisionSource;
                if (!ejecutaCalculo)
                {
                    DefaultCalculos(ref rCtz);

                    model.CalculoCotizacion = rCtz;
                    Session["ModeloEnUso"] = model;
                    return PartialView("_CotizarPartial", rCtz);
                }
                // Realiza el calculo
                string modulo = "C";
                Calculo(ref model, modulo);
                if (!CedeComision.cargado)
                {
                    CedeComision.ProcarOriginal = model.control;
                    CedeComision.primanetaOriginal = model.ObjCalculo.PrimaNetaInicial;
                    CedeComision.subtotalOriginal = model.ObjCalculo.mSubtotal;
                    CedeComision.totaloriginal = model.ObjCalculo.mTotal;
                    CedeComision.cargado = true;
                }

                ClsCotizacion cot = CentralAgentesMvc.App_Start.CastObject.Cast<ClsCotizacion>(model);
                rCtz.QuiereCederComision = model.QuiereCederComision = true;
                double nvoprocar = 0;
                double quitarprima = 0;
                VarProcAMC objVarProcAMC = new VarProcAMC();
                objVarProcAMC.CedeComision(CedeComision.ProcarOriginal, CedeComision.primanetaOriginal, nvoprocar, ref quitarprima, rCtz.porcentajeCede, "C", cot);
                cot.control = Math.Round(cot.control, 2);
                string ModulodeTrabajo = model.ModulodeTrabajo;
                model = CentralAgentesMvc.App_Start.CastObject.Cast<GenericoViewModel>(cot);
                model.ModulodeTrabajo = ModulodeTrabajo;

                Calculo(ref model, modulo);
                if (model.formaPago == 0) model.formaPago = 1;
                ClsCalculo ObjCalculoRes = (ClsCalculo)model.calculos[model.formaPago - 1];
                rCtz.DerechoPoliza = decimal.Parse(ObjCalculoRes.dchosPoliza.ToString());
                rCtz.ExtensionRC = decimal.Parse(ObjCalculoRes.mcurExtRC.ToString());
                rCtz.AccidentesPersonales = decimal.Parse(ObjCalculoRes.mAP.ToString());
                rCtz.Recargos = decimal.Parse(ObjCalculoRes.RecPagFrac.ToString());
                rCtz.SubTotal = decimal.Parse(ObjCalculoRes.mSubtotal.ToString());
                rCtz.IVA = ObjCalculoRes.IVA;
                rCtz.PorcentajeIVA = ObjCalculoRes.PorcentajeIVA;
                rCtz.TotalCotizacion = decimal.Parse(ObjCalculoRes.mTotal.ToString());

                rCtz.mPago1de = (model.formaPago == 1 ? ObjCalculoRes.mTotal : ObjCalculoRes.mPago1de);
                rCtz.Descripcion2Pago = (model.formaPago == 3 ? "3" : ObjCalculoRes.nPago2de.ToString().Trim()) + " Pago(s) de.:";
                rCtz.mPago2de = (model.formaPago == 3 ? ObjCalculoRes.mPago1de : ObjCalculoRes.mPago2de);

                rCtz.OpcionesPagoInfo = new List<ClsOpcionesPago>();
                rCtz.VehiculosInfo = new List<ClsVehiculo>();

                rCtz.OpcionesPagoInfo.Add(new ClsOpcionesPago()
                {
                    OpcionPagoID = 1,
                    DescripcionRubro = "Pago Inicial:",
                    PagoContado = string.Format("{0:C2}", ((ClsCalculo)model.calculos[0]).mTotal),
                    PagoSemestral = string.Format("{0:C2}", ((ClsCalculo)model.calculos[1]).mPago1de),
                    PagoTrimestral = string.Format("{0:C2}", ((ClsCalculo)model.calculos[2]).mPago1de),
                    PagoMensual = string.Format("{0:C2}", ((ClsCalculo)model.calculos[3]).mPago1de)
                });

                rCtz.OpcionesPagoInfo.Add(new ClsOpcionesPago()
                {
                    OpcionPagoID = 2,
                    DescripcionRubro = "Pagos Subsecuentes:",
                    PagoContado = string.Format("{0}", ""),
                    PagoSemestral = string.Format("{0:C2}", ((ClsCalculo)model.calculos[1]).mPago2de),
                    PagoTrimestral = string.Format("{0:C2}", ((ClsCalculo)model.calculos[2]).mPago1de),
                    PagoMensual = string.Format("{0:C2}", ((ClsCalculo)model.calculos[3]).mPago2de)
                });

                rCtz.OpcionesPagoInfo.Add(new ClsOpcionesPago()
                {
                    OpcionPagoID = 3,
                    DescripcionRubro = "Número de Pagos Subsecuentes:",
                    PagoContado = string.Format("{0}", ""),
                    PagoSemestral = string.Format("{0}", ((ClsCalculo)model.calculos[1]).nPago2de),
                    PagoTrimestral = string.Format("3"),
                    PagoMensual = string.Format("{0}", ((ClsCalculo)model.calculos[3]).nPago2de)
                });

                rCtz.OpcionesPagoInfo.Add(new ClsOpcionesPago()
                {
                    OpcionPagoID = 4,
                    DescripcionRubro = "<strong><i>Total:</i></strong>",
                    PagoContado = string.Format("<strong><i>{0:C2}</i></strong>", ((ClsCalculo)model.calculos[0]).mTotal),
                    PagoSemestral = string.Format("<strong><i>{0:C2}</i></strong>", ((ClsCalculo)model.calculos[1]).mTotal),
                    PagoTrimestral = string.Format("<strong><i>{0:C2}</i></strong>", ((ClsCalculo)model.calculos[2]).mTotal),
                    PagoMensual = string.Format("<strong><i>{0:C2}</i></strong>", ((ClsCalculo)model.calculos[3]).mTotal)
                });

                foreach (ClsVehiculo vehiculoCal in model.ObjCalculo.vehiculos)
                {
                    rCtz.VehiculosInfo.Add(new ClsVehiculo()
                    {
                        subRamo = vehiculoCal.subRamo,
                        nNumVehi = vehiculoCal.nNumVehi,
                        tpoEspecifAuto = vehiculoCal.DescripcionTipo.Trim(),
                        mSUVA = vehiculoCal.mSUVA,
                        mRespCivil = vehiculoCal.mRespCivil,
                        mAyDLegal = vehiculoCal.mAyDLegal,
                        mDañosMateria = vehiculoCal.mDañosMateria,
                        mRoboTot = vehiculoCal.mRoboTot,
                        mEquiEspec = vehiculoCal.mEquiEspec,
                        mAsisViaje = vehiculoCal.mAsisViaje,
                        mVehiSustitu = vehiculoCal.mVehiSustitu,
                        mTotCoberturas = vehiculoCal.mTotCoberturas,
                        mSA = vehiculoCal.mSA,
                        mcurExtRC = vehiculoCal.mcurExtRC,
                        mSubtotal = vehiculoCal.mSubtotal,
                        PorcentajeIVA = vehiculoCal.PorcentajeIVA,
                        mTotal = vehiculoCal.mTotal,
                    });
                }

                if (MensajesError.ErroresCalculo != null)
                {
                    if (MensajesError.ErroresCalculo.Count() > 0)
                        rCtz.WarningCalculoInfo = MensajesError.ErroresCalculo;
                }

                model.CalculoCotizacion = rCtz;
                Session["ModeloEnUso"] = model;
                return PartialView("_CotizarPartial", rCtz);
            }
            catch (Exception err)
            {
                Response.StatusCode = (int)(System.Net.HttpStatusCode.InternalServerError);
                LogDeErrores.RegistroErrorWeb(err, DatoUsuario.idAgente, DatoUsuario.nomAgente, DatoUsuario.sIp, DatoUsuario.sHostName);
                return Json("ErrInterno");
            }
        }
Esempio n. 4
0
        private bool SignIn(string userName, string password, bool persistCookie = false)
        {
            FormsAuthentication.SignOut();
            bool success = false;
            Logear acceso = new Logear();

            var userNameOld = (userName.ToLower() == "test" ? "0" : userName);
            var passwordOld = (password == "Test2015k" ? "0" : password);

            var user = acceso.LoginAgenteWeb(int.Parse(userNameOld), passwordOld);

            if (user != null)
            {
                string rol = "";
                string name = user.Tables["catAgentes"].Rows[0]["cNombre"].ToString();
                if (user.Tables["catAgentes"].Rows[0]["nAgenteID"].ToString() == "0")
                {
                    rol = "A";
                    name = (userName.ToLower() == "test" ? "Usuario Test" : "Nancy Martinez");
                }

                VarProcAMC ProcAMC = new VarProcAMC();
                if (!ProcAMC.IniciarCarga())
                {
                    Session["UserObj"] = null;
                    ModelState.AddModelError("", "Error en inicio de la carga de variables");
                }
                else
                {
                    VarProcCentral proCentral = new VarProcCentral();
                    proCentral.IniciaDatos(VarProcAMC.strPeriodo);
                    AccesoSistema accesos = new AccesoSistema();
                    accesos.P_AccesosSistema("03", "E");

                    Session["UserObj"] = user;
                    Session["Periodo"] = "Periodo: " + VarProcAMC.strPeriodo;
                    Session["UserRol"] = rol;
                    if (password.Equals("agente" + userName))
                    {
                        Session["ChangePassword"] = 1;
                    }
                    else {
                        Session["ChangePassword"] = 0;
                    }

                    FormsAuthentication.SetAuthCookie(name, false);
                    success = true;
                }
            }

            return success;
        }