public ActionResult RegistrarPago(FormCollection Form)
        {
            ADESCOMBUSINESS.DataAccess.Models.ResidenteLoginRS InfoUser = (ADESCOMBUSINESS.DataAccess.Models.ResidenteLoginRS)Session["InfoUser"];

            ADESCOMBUSINESS.AccesoResidentes.RegistroPagos.Models.ING_PagosRealizados Registro = new ADESCOMBUSINESS.AccesoResidentes.RegistroPagos.Models.ING_PagosRealizados();

            //Comprobante
            Registro.PRE_Comprobante = Form["SavedFile"];

            if (String.IsNullOrEmpty(Registro.PRE_Comprobante))
            {
                ModelState.AddModelError("PRE_Comprobante", "La imágen del comprobante es requerida");
            }

            try { Registro.PRE_Monto = Convert.ToDecimal(Form["PRE_Monto"]); }
            catch { ModelState.AddModelError("PRE_Monto", "Formato Incorrecto"); }

            if (Registro.PRE_Monto <= 0)
            {
                ModelState.AddModelError("PRE_Monto", "El monto debe ser mayor a 0");
            }

            Registro.PRE_Referencia = Form["PRE_Referencia"];

            int Cuenta_ID = Convert.ToInt32(ADESCOMBUSINESS.App.Common.GlobalBusiness.ObtConfigParam(InfoUser.Compania_ID, "CuentaCuotas"));

            if (Cuenta_ID == 0)
            {
                ModelState.AddModelError("PRE_Monto", "");
                ViewBag.Error = "Error al obtener la cuenta destino";
            }

            try
            {
                this.PagosRealizadosProxy = new ADESCOMBUSINESS.AccesoResidentes.RegistroPagos.Methods.PagosRealizadosBusiness((ADESCOMBUSINESS.DataAccess.Models.ResidenteLoginRS)Session["InfoUser"]);
            }
            catch (Exception ex) { return(RedirectToAction("SesionExpired", "Inicio", new { Area = "", Mensaje = ex.Message })); }

            List <ADESCOMBUSINESS.AccesoResidentes.RegistroPagos.Models.VwING_PagosRealizados> PagosPendientes = new List <ADESCOMBUSINESS.AccesoResidentes.RegistroPagos.Models.VwING_PagosRealizados>();

            PagosPendientes = PagosRealizadosProxy.GetUnauthorizedByResident(InfoUser.Compania_ID, InfoUser.Direccion_ID);
            if (PagosPendientes != null && PagosPendientes.Count > 0)
            {
                ModelState.AddModelError("PRE_Monto", "");
                ViewBag.Error = "Usted tiene pagos pendientes para su autorización. Si necesita ayuda, comuníquese con la mesa directiva.";
            }

            Registro.Cuenta_ID      = Cuenta_ID;
            Registro.Compania_ID    = InfoUser.Compania_ID;
            Registro.Direccion_ID   = InfoUser.Direccion_ID;
            Registro.Residente_ID   = InfoUser.Residente_ID;
            Registro.PRE_Monto      = Registro.PRE_Monto;
            Registro.PRE_Referencia = InfoUser.Referencia;
            Registro.UsuarioCreo    = InfoUser.UserName;
            Registro.PRE_Estatus    = "ACT";
            Registro.PRE_FechaPago  = ADESCOMBUSINESS.GlobalBusiness.ObtFechaHoraServer();

            if (ModelState.IsValid)
            {
                try
                {
                    try
                    {
                        this.PagosRealizadosProxy = new ADESCOMBUSINESS.AccesoResidentes.RegistroPagos.Methods.PagosRealizadosBusiness((ADESCOMBUSINESS.DataAccess.Models.ResidenteLoginRS)Session["InfoUser"]);
                    }
                    catch (Exception ex) { return(RedirectToAction("SesionExpired", "Inicio", new { Area = "", Mensaje = ex.Message })); }

                    PagosRealizadosProxy.Crear(Registro);

                    ViewBag.Error = "OK";
                }
                catch (Exception ex)
                {
                    ViewBag.Error = ex.Message;
                }
            }

            return(View(Registro));
        }
 public ActionResult RegistrarPago()
 {
     ADESCOMBUSINESS.DataAccess.Models.ResidenteLoginRS InfoUser = (ADESCOMBUSINESS.DataAccess.Models.ResidenteLoginRS)Session["InfoUser"];
     ADESCOMBUSINESS.AccesoResidentes.RegistroPagos.Models.ING_PagosRealizados pago = new ADESCOMBUSINESS.AccesoResidentes.RegistroPagos.Models.ING_PagosRealizados();
     pago.PRE_Referencia = InfoUser.Referencia;
     return(View(pago));
 }