示例#1
0
        /// <summary>
        /// Método que devuelve la vista parcial del desglose de pagos
        /// </summary>
        /// <returns></returns>
        public ActionResult DetallePagoExpress()
        {
            try
            {
                // Recupero el modelo
                GenericoViewModel d = (GenericoViewModel)Session["ModeloEnUso"];
                var dp = new DesglosePagoModel();
                if (d != null)
                {
                    if (d.TarjetCredito != null)
                    {
                        if (d.TarjetCredito.Count > 0)
                        {
                            dp = CentralAgentesMvc.App_Start.CastObject.Cast<DesglosePagoModel>(d.TarjetCredito.First());
                            dp.dfVigtarjeta = dp.dfVigtarjeta.Substring(3);
                        }
                    }

                    // Coloco los montos
                    if (dp.mMonto == 0)
                    {
                        dp.mMonto = (d.ObjCalculo.mPago1de == 0 ? d.ObjCalculo.mTotal : d.ObjCalculo.mPago1de);
                        dp.mMontoSig = d.ObjCalculo.mPago2de;
                    }
                }
                dp.BancosSource = VarProcInterfazX.arrCatBancos;

                // Redirecciono
                return PartialView("_DatosPagoPartial", dp);
            }
            catch (Exception err)
            {
                Response.StatusCode = (int)(System.Net.HttpStatusCode.InternalServerError);
                LogDeErrores.RegistroErrorWeb(err, DatoUsuario.idAgente, DatoUsuario.nomAgente, DatoUsuario.sIp, DatoUsuario.sHostName);
                return Json("ErrInterno");
            }
        }
示例#2
0
        public ActionResult DesglosePagoEnDocumento(string tipoPago, int pagoID)
        {
            try
            {
                // Busco info del documento
                GenericoViewModel modelComplete = (GenericoViewModel)Session["ModeloEnUso"];
                DesglosePagoModel dp = new DesglosePagoModel();

                switch (tipoPago.ToUpper())
                {
                    case "EFECTIVO":
                    case "DEPOSITO":
                        var pagoE = modelComplete.pagos.pagoOtro.FirstOrDefault(t => t.ID == pagoID);
                        dp = CentralAgentesMvc.App_Start.CastObject.Cast<DesglosePagoModel>(pagoE);
                        dp.ID = pagoE.ID;
                        dp.dfVigtarjeta = "";
                        dp.VigenciaMonth = "";
                        dp.VigenciaYear = "";
                        dp.TipoPagoDesc = tipoPago;
                        break;

                    case "TARJETA DE DEBITO":
                        var pagoD = modelComplete.TarjetaDebito.FirstOrDefault(t => t.ID == pagoID);
                        dp = CentralAgentesMvc.App_Start.CastObject.Cast<DesglosePagoModel>(pagoD);
                        dp.ID = pagoD.ID;
                        dp.dfVigtarjeta = dp.dfVigtarjeta.Substring(3);
                        dp.VigenciaMonth = dp.dfVigtarjeta.Substring(0, 2);
                        dp.VigenciaYear = dp.dfVigtarjeta.Substring(3, 4);
                        dp.TipoPagoDesc = tipoPago;
                        break;

                    case "TARJETA DE CREDITO":
                        var pagoC = modelComplete.TarjetCredito.FirstOrDefault(t => t.ID == pagoID);
                        dp = CentralAgentesMvc.App_Start.CastObject.Cast<DesglosePagoModel>(pagoC);
                        dp.ID = pagoC.ID;
                        dp.dfVigtarjeta = dp.dfVigtarjeta.Substring(3);
                        dp.VigenciaMonth = dp.dfVigtarjeta.Substring(0, 2);
                        dp.VigenciaYear = dp.dfVigtarjeta.Substring(3, 4);
                        dp.TipoPagoDesc = tipoPago;
                        break;
                }

                SetDesgloseListProperties(ref dp);
                if (modelComplete.ObjCalculo != null)
                {
                    dp.mMonto = (modelComplete.ObjCalculo.mPago1de == 0 ? modelComplete.ObjCalculo.mTotal : modelComplete.ObjCalculo.mPago1de);
                    dp.mMontoSig = modelComplete.ObjCalculo.mPago2de;
                }
                // Redirecciono
                return PartialView("DesglosePago", dp);
            }
            catch (Exception err)
            {
                Response.StatusCode = (int)(System.Net.HttpStatusCode.InternalServerError);
                LogDeErrores.RegistroErrorWeb(err, DatoUsuario.idAgente, DatoUsuario.nomAgente, DatoUsuario.sIp, DatoUsuario.sHostName);
                return Json("ErrInterno");
            }
        }
示例#3
0
        private void SetMediosDePago(ref GenericoViewModel d)
        {
            try
            {
                // Cargo los pagos en una unica colección
                d.DocumentosPago = new List<DesglosePagoModel>();
                if (d.TarjetCredito != null)
                {
                    foreach (var tc in d.TarjetCredito)
                    {
                        var dp = new DesglosePagoModel()
                        {
                            TipoPagoDesc = "TARJETA DE CREDITO",
                            ID = tc.ID,
                            cTpoTarjeta = tc.cTpoTarjeta,
                            cBancoDesc = tc.cBancoDesc,
                            mMonto = tc.mMonto,
                            mMontoSig = tc.mMontoSig,
                            cNoTarjeta = tc.cNoTarjeta,
                            dfVigtarjeta = tc.dfVigtarjeta.Substring(3),
                            VigenciaMonth = tc.dfVigtarjeta.Substring(3, 2),
                            VigenciaYear = tc.dfVigtarjeta.Substring(6),
                            cTitular = tc.cTitular,
                            cCodNegro = tc.cCodNegro,
                        };

                        d.DocumentosPago.Add(dp);
                    }
                }
                if (d.TarjetaDebito != null)
                {
                    foreach (var td in d.TarjetaDebito)
                    {
                        var dp = new DesglosePagoModel()
                        {
                            TipoPagoDesc = "TARJETA DE DEBITO",
                            ID = td.ID,
                            cTpoTarjeta = td.cTpoTarjeta,
                            cBancoDesc = td.cBancoDesc,
                            mMonto = td.mMonto,
                            mMontoSig = td.mMontoSig,
                            cNoTarjeta = td.cNoTarjeta,
                            dfVigtarjeta = td.dfVigtarjeta.Substring(3),
                            VigenciaMonth = td.dfVigtarjeta.Substring(3, 2),
                            VigenciaYear = td.dfVigtarjeta.Substring(6),
                            cTitular = td.cTitular,
                            cCodNegro = "",
                        };
                        d.DocumentosPago.Add(dp);
                    }
                }
                if (d.pagos != null)
                {
                    if (d.pagos.pagoOtro != null)
                    {
                        foreach (var op in d.pagos.pagoOtro)
                        {
                            var dp = new DesglosePagoModel()
                            {
                                TipoPagoDesc = op.nFormaPagoIDDesc,
                                ID = op.ID,
                                cTpoTarjeta = "",
                                cBancoDesc = "",
                                mMonto = op.mMonto,
                                mMontoSig = op.mMontoSig,
                                cNoTarjeta = "",
                                dfVigtarjeta = "",
                                VigenciaMonth = "",
                                VigenciaYear = "",
                                cTitular = "",
                                cCodNegro = "",
                            };
                            d.DocumentosPago.Add(dp);
                        }
                    }
                }
            }
            catch (Exception err)
            {
                Response.StatusCode = (int)(System.Net.HttpStatusCode.InternalServerError);
                LogDeErrores.RegistroErrorWeb(err, DatoUsuario.idAgente, DatoUsuario.nomAgente, DatoUsuario.sIp, DatoUsuario.sHostName);
                throw err;
            }
        }
示例#4
0
        private void SetDesgloseListProperties(ref DesglosePagoModel dp)
        {
            try
            {
                dp.BancosSource = VarProcInterfazX.arrCatBancos;
                dp.TipoPagoSource = VarProcInterfazX.arrTipoPago;

                dp.Years = new Dictionary<string, string>();
                for (int i = DateTime.Now.Year; i < DateTime.Now.Year + 11; i++)
                {
                    dp.Years.Add(i.ToString(), i.ToString());
                }

                dp.Months = new Dictionary<string, string>();
                for (int i = 1; i < 13; i++)
                {
                    dp.Months.Add(i.ToString().PadLeft(2, '0'), i.ToString().PadLeft(2, '0'));
                }

                // Prevenir valores requeridos
                if (dp.TipoPagoDesc.ToUpper() == "EFECTIVO" || dp.TipoPagoDesc.ToUpper() == "DEPOSITO")
                {
                    dp.cNoTarjeta = "11111";
                    dp.dfVigtarjeta = "01/1900";
                    dp.cCodNegro = "999";
                    dp.cTitular = "XXXX";
                }

                if (dp.TipoPagoDesc.ToUpper() == "TARJETA DE DEBITO")
                {
                    dp.cCodNegro = "999";
                }
            }
            catch (Exception err)
            {
                Response.StatusCode = (int)(System.Net.HttpStatusCode.InternalServerError);
                LogDeErrores.RegistroErrorWeb(err, DatoUsuario.idAgente, DatoUsuario.nomAgente, DatoUsuario.sIp, DatoUsuario.sHostName);
                throw err;
            }
        }
示例#5
0
        public ActionResult CreateDesglosePago()
        {
            try
            {
                // Recupero el modelo
                var modelComplete = (GenericoViewModel)Session["ModeloEnUso"];

                // Consecutivo de Desglose Pagos
                int consec = 1;

                switch (modelComplete.TipoPagoInfo.Descripcion.ToUpper())
                {
                    case "EFECTIVO":
                    case "DEPOSITO":
                        if (modelComplete.pagos != null)
                        {
                            if (modelComplete.pagos.pagoOtro != null)
                                consec = modelComplete.pagos.pagoOtro.Count + 1;
                        }
                        break;

                    case "TARJETA DE DEBITO":
                        if (modelComplete.TarjetaDebito != null)
                            consec = modelComplete.TarjetaDebito.Count + 1;
                        break;

                    case "TARJETA DE CREDITO":
                        if (modelComplete.TarjetCredito != null)
                            consec = modelComplete.TarjetCredito.Count + 1;
                        break;
                }

                var desglosePago = new DesglosePagoModel();
                desglosePago.ID = consec;
                desglosePago.indice = consec;

                if (modelComplete.ObjCalculo != null)
                {
                    desglosePago.mMonto = (modelComplete.ObjCalculo.mPago1de == 0 ? modelComplete.ObjCalculo.mTotal : modelComplete.ObjCalculo.mPago1de);
                    desglosePago.mMontoSig = modelComplete.ObjCalculo.mPago2de;
                }
                desglosePago.TipoPagoDesc = modelComplete.TipoPagoInfo.Descripcion;
                SetDesgloseListProperties(ref desglosePago);

                return PartialView("DesglosePago", desglosePago);
            }
            catch (Exception err)
            {
                Response.StatusCode = (int)(System.Net.HttpStatusCode.InternalServerError);
                LogDeErrores.RegistroErrorWeb(err, DatoUsuario.idAgente, DatoUsuario.nomAgente, DatoUsuario.sIp, DatoUsuario.sHostName);
                return Json("ErrInterno");
            }
        }
示例#6
0
        public ActionResult UpdateDesglosePago(DesglosePagoModel dp)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return Json(new { success = false, errores = GetElementsFromModelState(), validaciones = "" });
                }

                // Recupero el modelo
                var modelComplete = (GenericoViewModel)Session["ModeloEnUso"];

                switch (dp.TipoPagoDesc.ToUpper())
                {
                    case "EFECTIVO":
                    case "DEPOSITO":
                        {
                            // Agregar el pago a la colección
                            if (modelComplete.pagos == null) modelComplete.pagos = new ClsPago();
                            if (modelComplete.pagos.pagoOtro == null) modelComplete.pagos.pagoOtro = new List<ClsPagoOtro>();

                            if (modelComplete.pagos.pagoOtro.FirstOrDefault(t => t.ID == dp.ID) != null)
                            {
                                var remove = modelComplete.pagos.pagoOtro.FirstOrDefault(t => t.ID == dp.ID);
                                modelComplete.pagos.pagoOtro.Remove(remove);
                            }
                            var idT = VarProcInterfazX.arrTipoPago.First(p => p.strDesc == dp.TipoPagoDesc).strCve;
                            var idF = VarProcInterfazX.arrFormaPago.First(f => f.strStat == idT).strCve;
                            ClsPagoOtro pgO = new ClsPagoOtro()
                            {
                                indice = (modelComplete.pagos.pagoOtro.Count + 1),
                                nFormaPagoID = Convert.ToInt32(idF),
                                nFormaPagoIDDesc = dp.TipoPagoDesc,
                                Accion = "A",
                                mMonto = dp.mMonto,
                                mMontoSig = dp.mMontoSig,
                                dfAlta = DateTime.Now.ToString("dd/MM/yyyy"),
                            };
                            modelComplete.pagos.pagoOtro.Add(pgO);
                        }
                        break;

                    case "TARJETA DE DEBITO":
                        {
                            // Agregar Tarjeta de Debito a la Colección
                            if (modelComplete.TarjetaDebito == null) modelComplete.TarjetaDebito = new List<ClsTarjetaDebito>();

                            if (modelComplete.TarjetaDebito.FirstOrDefault(t => t.ID == dp.ID) != null)
                            {
                                var remove = modelComplete.TarjetaDebito.FirstOrDefault(t => t.ID == dp.ID);
                                modelComplete.TarjetaDebito.Remove(remove);
                            }

                            var bncDesc = VarProcInterfazX.arrCatBancos.FirstOrDefault(b => b.strClave == dp.cBanco);
                            var desglose = CentralAgentesMvc.App_Start.CastObject.Cast<ClsTarjetaDebito>(dp);
                            desglose.indice = (modelComplete.TarjetaDebito.Count + 1);
                            desglose.cTitular = desglose.cTitular.ToUpper();
                            desglose.cBancoDesc = (bncDesc != null ? bncDesc.strDescrip : "");
                            desglose.dfVigtarjeta = DateTime.Parse(desglose.dfVigtarjeta).ToString("dd/MM/yyyy");
                            desglose.dfAlta = DateTime.Now.ToString("dd/MM/yyyy");
                            modelComplete.TarjetaDebito.Add(desglose);
                        }
                        break;

                    case "TARJETA DE CREDITO":
                        {
                            // Agregar Tarjeta de Credito a la Colección
                            if (modelComplete.TarjetCredito == null) modelComplete.TarjetCredito = new List<ClsTarjetaCredito>();

                            if (modelComplete.TarjetCredito.FirstOrDefault(t => t.ID == dp.ID) != null)
                            {
                                var remove = modelComplete.TarjetCredito.FirstOrDefault(t => t.ID == dp.ID);
                                modelComplete.TarjetCredito.Remove(remove);
                            }

                            var bncDesc = VarProcInterfazX.arrCatBancos.FirstOrDefault(b => b.strClave == dp.cBanco);
                            var desglose = CentralAgentesMvc.App_Start.CastObject.Cast<ClsTarjetaCredito>(dp);
                            desglose.indice = (modelComplete.TarjetCredito.Count + 1);
                            desglose.cTitular = desglose.cTitular.ToUpper();
                            desglose.cBancoDesc = (bncDesc != null ? bncDesc.strDescrip : "");
                            desglose.dfVigtarjeta = DateTime.Parse(desglose.dfVigtarjeta).ToString("dd/MM/yyyy");
                            desglose.dfAlta = DateTime.Now.ToString("dd/MM/yyyy");
                            desglose.mMonto = dp.mMonto;
                            desglose.mMontoSig = dp.mMontoSig;
                            modelComplete.TarjetCredito.Add(desglose);
                        }
                        break;
                }

                // Guardo el modelo
                GuardaEnMemoria(modelComplete);
                ClearErrors();

                //Redireccionar Vista
                SetDesgloseListProperties(ref dp);
                return View("DesglosePago", dp);
            }
            catch (Exception err)
            {
                Response.StatusCode = (int)(System.Net.HttpStatusCode.InternalServerError);
                LogDeErrores.RegistroErrorWeb(err, DatoUsuario.idAgente, DatoUsuario.nomAgente, DatoUsuario.sIp, DatoUsuario.sHostName);
                return Json("ErrInterno");
            }
        }