public ActionResult AprobarBeneficiario(int id)
 {
     ViewModel viewmodel = new ViewModel();
     BeneficiarioPrepago beneficiario = repBeneficiario.Find(id);
     //SI ES AFILIADO SUMA, SE CAMBIA EL TIPO Y YA NO SE BLOQUEA LA TARJETA ACTUAL
     if (beneficiario.Afiliado.type == "Suma")
     {
         if (repAfiliado.Aprobar(beneficiario.Afiliado))
         {
             beneficiario.Afiliado = repAfiliado.CambiarAPrepago(beneficiario.Afiliado);
             //if (repAfiliado.BloquearTarjeta(beneficiario.Afiliado) == true)
             //{
             //    repAfiliado.SaveChanges(beneficiario.Afiliado);
             //    viewmodel.Title = "Prepago / Beneficiario / Aprobar Afiliación:";
             //    viewmodel.Message = "Afiliación Aprobada. Se creó una nueva tarjeta Prepago Plaza's";
             //    viewmodel.ControllerName = "BeneficiarioPrepago";
             //    viewmodel.ActionName = "FilterReview";
             //}
             //else
             //{
             //    repAfiliado.SaveChanges(beneficiario.Afiliado);
             //    viewmodel.Title = "Prepago / Beneficiario / Eliminar Beneficiario";
             //    viewmodel.Message = "Afiliación Aprobada. No se pudo crear una nueva tarjeta Prepago Plaza's";
             //    viewmodel.ControllerName = "BeneficiarioPrepago";
             //    viewmodel.ActionName = "FilterReview";
             //}
             repAfiliado.SaveChanges(beneficiario.Afiliado);
             viewmodel.Title = "Prepago / Beneficiario / Aprobar Afiliación:";
             viewmodel.Message = "Afiliación Prepago Aprobada.";
             viewmodel.ControllerName = "BeneficiarioPrepago";
             viewmodel.ActionName = "FilterReview";
         }
         else
         {
             viewmodel.Title = "Prepago / Beneficiario / Aprobar Afiliación:";
             viewmodel.Message = "Error de aplicacion: No se pudo aprobar afiliación.";
             viewmodel.ControllerName = "BeneficiarioPrepago";
             viewmodel.ActionName = "FilterReview";
         }
     }
     else
     {
         if (repAfiliado.Aprobar(beneficiario.Afiliado))
         {
             viewmodel.Title = "Prepago / Beneficiario / Aprobar Afiliación:";
             viewmodel.Message = "Afiliación Prepago Aprobada.";
             viewmodel.ControllerName = "BeneficiarioPrepago";
             viewmodel.ActionName = "FilterReview";
         }
         else
         {
             viewmodel.Title = "Prepago / Beneficiario / Aprobar Afiliación:";
             viewmodel.Message = "Error de aplicacion: No se pudo aprobar afiliación.";
             viewmodel.ControllerName = "BeneficiarioPrepago";
             viewmodel.ActionName = "FilterReview";
         }
     }
     return RedirectToAction("GenericView", viewmodel);
 }
Exemple #2
0
 public ActionResult CambiarPassword(CambiarPasswordViewModel cambiarpassword)
 {
     if (cambiarpassword.NewPassword1 == null || cambiarpassword.NewPassword2 == null)
     {
         ModelState.Clear();
         ModelState.AddModelError("NewPassword1", "Debe ingresar la Nueva Contraseña y su confirmación");
     }
     if (ModelState.IsValid)
     {
         if (cambiarpassword.NewPassword1 != cambiarpassword.NewPassword2)
         {
             ModelState.Clear();
             ModelState.AddModelError("NewPassword1", "La Nueva Contraseña y su confirmación no coinciden");
             return View(cambiarpassword);
         }
         using (LealtadEntities db = new LealtadEntities())
         {
             db.Database.Connection.ConnectionString = AppModule.ConnectionString("SumaLealtad");
             User user = (from u in db.Users
                          where u.login.Equals(cambiarpassword.UserName)
                          select u).FirstOrDefault();
             ViewModel viewmodel = new ViewModel();
             if (user != null)
             {
                 user.passw = cambiarpassword.NewPassword1;
                 db.SaveChanges();
                 viewmodel.Title = "Usuario / Cambio de Contraseña";
                 viewmodel.Message = "Contraseña actualizada correctamente.";
                 viewmodel.ControllerName = "Home";
                 viewmodel.ActionName = "Login";
             }
             else
             {
                 viewmodel.Title = "Usuario / Cambio de Contraseña";
                 viewmodel.Message = "No se pudo actulizar la contraseña correctamente.";
                 viewmodel.ControllerName = "Home";
                 viewmodel.ActionName = "Login";
             }
             return RedirectToAction("GenericView", viewmodel);
         }
     }
     else
     {
         return View(cambiarpassword);
     }
 }
 public ActionResult AprobarOrden(int id, IList<DetalleOrdenRecargaPrepago> detalleOrden, decimal MontoTotalRecargas, string indicadorGuardar, string DocumentoReferencia, string Observaciones)
 {
     ViewModel viewmodel = new ViewModel();
     detalleOrden.First().documentoOrden = DocumentoReferencia;
     detalleOrden.First().observacionesOrden = Observaciones;
     if (indicadorGuardar == "Aprobar")
     {
         if (repOrden.AprobarOrden(detalleOrden.ToList(), MontoTotalRecargas))
         {
             viewmodel.Title = "Prepago / Ordenes de Recarga / Detalle de la Orden";
             viewmodel.Message = "Orden Aprobada.";
             viewmodel.ControllerName = "OrdenRecargaPrepago";
             viewmodel.ActionName = "FilterReview";
             return RedirectToAction("GenericView", viewmodel);
             //return RedirectToAction("DetalleOrden", new { id = id, idOrden = idOrden });
         }
         else
         {
             viewmodel.Title = "Prepago / Ordenes de Recarga / Detalle de la Orden";
             viewmodel.Message = "Falló el proceso de aprobación de la Orden.";
             viewmodel.ControllerName = "OrdenRecargaPrepago";
             viewmodel.ActionName = "FilterReview";
             return RedirectToAction("GenericView", viewmodel);
         }
     }
     else
     {
         if (repOrden.GuardarOrden(detalleOrden.ToList(), MontoTotalRecargas))
         {
             viewmodel.Title = "Prepago / Ordenes de Recarga / Detalle de la Orden";
             viewmodel.Message = "Datos de la Orden actualizados.";
             viewmodel.ControllerName = "OrdenRecargaPrepago";
             viewmodel.ActionName = "FilterReview";
             return RedirectToAction("GenericView", viewmodel);
             //return RedirectToAction("DetalleOrden", new { id = id, idOrden = idOrden });
         }
         else
         {
             viewmodel.Title = "Prepago / Ordenes de Recarga / Detalle de la Orden";
             viewmodel.Message = "Falló el proceso de guardado de la Orden.";
             viewmodel.ControllerName = "OrdenRecargaPrepago";
             viewmodel.ActionName = "FilterReview";
             return RedirectToAction("GenericView", viewmodel);
         }
     }
 }
 public ActionResult Aprobar(int id)
 {
     ViewModel viewmodel = new ViewModel();
     AfiliadoSuma afiliado = repAfiliado.Find(id);
     if (repAfiliado.Aprobar(afiliado))
     {
         viewmodel.Title = "Afiliado / Aprobar Afiliación:";
         viewmodel.Message = "Afiliación Aprobada.";
         viewmodel.ControllerName = "AfiliadoSuma";
         viewmodel.ActionName = "FilterReview";
     }
     else
     {
         viewmodel.Title = "Afiliado / Aprobar Afiliación:";
         viewmodel.Message = "Error de aplicacion: No se pudo aprobar afiliación.";
         viewmodel.ControllerName = "AfiliadoSuma";
         viewmodel.ActionName = "FilterReview";
     }
     return RedirectToAction("GenericView", viewmodel);
 }
 public ActionResult BloquearTarjeta(int id, string mode = "post")
 {
     ViewModel viewmodel = new ViewModel();
     AfiliadoSuma afiliado = repAfiliado.Find(id);
     if (repAfiliado.BloquearTarjeta(afiliado))
     {
         viewmodel.Title = "Afiliado / Bloquear Tarjeta";
         viewmodel.Message = "Tarjeta bloqueada correctamente";
         viewmodel.ControllerName = "AfiliadoSuma";
         viewmodel.ActionName = "FilterReview";
     }
     else
     {
         viewmodel.Title = "Afiliado / Bloquear Tarjeta";
         viewmodel.Message = "Falló el proceso de bloqueo de la Tarjeta";
         viewmodel.ControllerName = "AfiliadoSuma";
         viewmodel.ActionName = "FilterReview";
     }
     return RedirectToAction("GenericView", viewmodel);
 }
 public ActionResult AprobarTransferencia(Transferencia transferencia)
 {
     ViewModel viewmodel = new ViewModel();
     int idOrderHistory = repOrden.OrdersHistoryId();
     if (repOperaciones.AprobarTransferencia(transferencia))
     {
         viewmodel.Title = "Operaciones / Transferencia de Saldo / Aprobar Transferencia";
         viewmodel.Message = "Orden Aprobada.";
         viewmodel.ControllerName = "OrdenRecargaPrepago";
         viewmodel.ActionName = "FilterReview";
         //return RedirectToAction("DetalleOrden", new { id = id, idOrden = idOrden });
     }
     else
     {
         viewmodel.Title = "Operaciones / Transferencia de Saldo / Aprobar Transferencia";
         viewmodel.Message = "Falló el proceso de aprobación de la Orden.";
         viewmodel.ControllerName = "OrdenRecargaPrepago";
         viewmodel.ActionName = "FilterReview";
     }
     return RedirectToAction("GenericView", viewmodel);
 }
 public ActionResult AprobarOrden(int companyid, int id)
 {
     ViewModel viewmodel = new ViewModel();
     if (rep.AprobarOrden(id))
     {
         viewmodel.Title = "Prepago / Beneficiario / Ordenes de Recarga / Aprobar Orden";
         viewmodel.Message = "Orden Aprobada.";
         viewmodel.ControllerName = "CompanyPrepago";
         viewmodel.ActionName = "Ordenes";
         viewmodel.RouteValues = companyid.ToString();
     }
     else
     {
         viewmodel.Title = "Prepago / Beneficiario / Ordenes de Recarga / Aprobar Orden";
         viewmodel.Message = "No se pudo Aprobar Orden.";
         viewmodel.ControllerName = "CompanyPrepago";
         viewmodel.ActionName = "Ordenes";
         viewmodel.RouteValues = companyid.ToString();
     }
     return RedirectToAction("GenericView", viewmodel);
 }
 public ActionResult Acreditar(int id, string monto)
 {
     ViewModel viewmodel = new ViewModel();
     AfiliadoSuma afiliado = repAfiliado.Find(id);
     string respuesta = repAfiliado.Acreditar(afiliado, monto);
     if (respuesta != null)
     {
         viewmodel.Title = "Afiliado / Acreditar";
         viewmodel.Message = "Acreditación exitosa. Clave de aprobación: " + respuesta;
         viewmodel.ControllerName = "AfiliadoSuma";
         viewmodel.ActionName = "FilterReview";
     }
     else
     {
         viewmodel.Title = "Afiliado / Acreditar ";
         viewmodel.Message = "Falló el proceso de acreditación";
         viewmodel.ControllerName = "AfiliadoSuma";
         viewmodel.ActionName = "FilterReview";
     }
     return RedirectToAction("GenericView", viewmodel);
 }
        public ActionResult AddNew(BeneficiarioPrepagoViewModel model)
        {
            if (ModelState.IsValid)
            {

                if (decimal.Parse(model.monto) <= 0)
                {
                    ModelState.AddModelError("Monto", "El Monto de Transacción debe ser superior a cero.");
                }
                else if (model.monto.IndexOf(",") == -1)
                {
                    ModelState.AddModelError("Monto", "El Monto de Transacción debe contener coma (,) como símbolo separador decimal.");
                }
                else if (decimal.Parse(model.saldoactual) <= 0 || decimal.Parse(model.monto) > decimal.Parse(model.saldoactual))
                {
                    ModelState.AddModelError("Monto", "El Monto de Transacción supera el Saldo Disponible.");
                }
                else
                {
                    ViewModel viewmodel = new ViewModel();
                    string respuesta = repBeneficiario.CompraFueraLinea(model.documento, model.montotrx, model.storeid, model.observaciones);
                    if (respuesta == null)
                    {
                        viewmodel.Title = "Prepago / Fuera de Línea / Crear Transacción de Compra";
                        viewmodel.Message = "La Transacción no pudo ser efectuada. Revise los estatus de la Tarjeta o Cuenta e intente de nuevo.";
                        viewmodel.ControllerName = "FueraLineaPrepago";
                        viewmodel.ActionName = "Filter";
                    }
                    else
                    {
                        viewmodel.Title = "Prepago / Fuera de Línea / Crear Transacción de Compra";
                        viewmodel.Message = "La Transacción ha sido efectuada satisfactoriamente. Clave de aprobación: " + respuesta;
                        viewmodel.ControllerName = "FueraLineaPrepago";
                        viewmodel.ActionName = "Filter";
                    }
                    return RedirectToAction("GenericView", viewmodel);
                }
            }
            return View(model);
        }
 public ActionResult Acreditar(int id, string monto)
 {
     ViewModel viewmodel = new ViewModel();
     Afiliado afiliado = repAfiliado.Find(id);
     if (repAfiliado.Acreditar(afiliado, monto))
     {
         viewmodel.Title = "Prepago / Beneficiario / Acreditar";
         viewmodel.Message = "Acreditación exitosa";
         viewmodel.ControllerName = "CompanyPrepago";
         viewmodel.ActionName = "FilterBeneficiarios";
         viewmodel.RouteValues = afiliado.companyid.ToString();
     }
     else
     {
         viewmodel.Title = "Prepago / Beneficiario / Acreditar ";
         viewmodel.Message = "Falló el proceso de acreditación";
         viewmodel.ControllerName = "CompanyPrepago";
         viewmodel.ActionName = "FilterBeneficiarios";
         viewmodel.RouteValues = afiliado.companyid.ToString();
     }
     return RedirectToAction("GenericView", viewmodel);
 }
 public ActionResult Aprobar(int id)
 {
     ViewModel viewmodel = new ViewModel();
     Afiliado afiliado = repAfiliado.Find(id);
     if (repAfiliado.Aprobar(afiliado))
     {
         viewmodel.Title = "Afiliado / Aprobar Afiliación:";
         viewmodel.Message = "Afiliación Aprobada.";
         viewmodel.ControllerName = "Afiliado";
         viewmodel.ActionName = "Index";
         viewmodel.RouteValues = afiliado.docnumber;
     }
     else
     {
         viewmodel.Title = "Afiliado / Aprobar Afiliación:";
         viewmodel.Message = "Aprobación Fallida.";
         viewmodel.ControllerName = "Afiliado";
         viewmodel.ActionName = "Index";
         viewmodel.RouteValues = afiliado.docnumber;
     }
     return RedirectToAction("GenericView", viewmodel);
 }
 public ActionResult Acreditar(int id, string monto)
 {
     ViewModel viewmodel = new ViewModel();
     Afiliado afiliado = repAfiliado.Find(id);
     if (repAfiliado.Acreditar(afiliado, monto))
     {
         viewmodel.Title = "Afiliado / Acreditar";
         viewmodel.Message = "Acreditación exitosa";
         viewmodel.ControllerName = "Afiliado";
         viewmodel.ActionName = "Index";
         viewmodel.RouteValues = afiliado.docnumber;
     }
     else
     {
         viewmodel.Title = "Afiliado / Acreditar ";
         viewmodel.Message = "Falló el proceso de acreditación";
         viewmodel.ControllerName = "Afiliado";
         viewmodel.ActionName = "Index";
         viewmodel.RouteValues = afiliado.docnumber;
     }
     return RedirectToAction("GenericView", viewmodel);
 }
 public ActionResult AprobarBeneficiario(int id)
 {
     ViewModel viewmodel = new ViewModel();
     Afiliado afiliado = repAfiliado.Find(id);
     string companyid = afiliado.companyid.ToString();
     if (repAfiliado.Aprobar(afiliado))
     {
         viewmodel.Title = "Prepago / Beneficiario / Aprobar Afiliación:";
         viewmodel.Message = "Afiliación Aprobada.";
         viewmodel.ControllerName = "CompanyPrepago";
         viewmodel.ActionName = "Beneficiarios";
         viewmodel.RouteValues = companyid;
     }
     else
     {
         viewmodel.Title = "Afiliado / Aprobar Afiliación:";
         viewmodel.Message = "Aprobación Fallida.";
         viewmodel.ControllerName = "CompanyPrepago";
         viewmodel.ActionName = "Beneficiarios";
         viewmodel.RouteValues = companyid;
     }
     return RedirectToAction("GenericView", viewmodel);
 }
 public ActionResult FilterAnulacion(string batchid)
 {
     List<DetalleOrdenRecargaPrepago> detalleOrden = repOrden.DetalleParaOrdenAnulacion(batchid);
     if (detalleOrden.Count != 1)
     {
         ViewModel viewmodel = new ViewModel();
         viewmodel.Title = "Prepago / Ordenes de Recarga / Crear Orden de Anulación";
         viewmodel.Message = "No se encontró Recarga con la Referencia indicada";
         viewmodel.ControllerName = "OrdenRecargaPrepago";
         viewmodel.ActionName = "FilterAnulacion";
         return RedirectToAction("GenericView", viewmodel);
     }
     else if (detalleOrden.First().batchid == "Ya tiene Anulación")
     {
         ViewModel viewmodel = new ViewModel();
         viewmodel.Title = "Prepago / Ordenes de Recarga / Crear Orden de Anulación";
         viewmodel.Message = "La Referencia indicada ya tiene Orden de Anulación";
         viewmodel.ControllerName = "OrdenRecargaPrepago";
         viewmodel.ActionName = "FilterAnulacion";
         return RedirectToAction("GenericView", viewmodel);
     }
     else
     {
         return View("CreateAnulacion",detalleOrden);
     }
 }
 public ActionResult CreateArchivo(int idCliente, HttpPostedFileBase file)
 {
     ViewModel viewmodel = new ViewModel();
     //subir y guardar archivo
     string path = "";
     string idtemp = System.Web.HttpContext.Current.Session.SessionID + ".xls";
     if (file != null && file.ContentLength > 0)
     {
         try
         {
             path = Server.MapPath("~/App_Data/" + idtemp);
             file.SaveAs(path);
         }
         catch (Exception ex)
         {
             viewmodel.Title = "Prepago / Ordenes de Recarga / Crear Orden desde Archivo";
             viewmodel.Message = "Error de aplicacion: No se pudo cargar archivo (" + ex.Message + ")";
             viewmodel.ControllerName = "OrdenRecargaPrepago";
             viewmodel.ActionName = "Filter";
             return RedirectToAction("GenericView", viewmodel);
         }
         ClientePrepago cliente = repCliente.Find(idCliente);
         List<BeneficiarioPrepagoIndex> beneficiarios = repCliente.FindBeneficiarios(idCliente,"", "", "", "", "").ToList();
         if (beneficiarios.Count == 0)
         {
             if (System.IO.File.Exists(path))
             {
                 System.IO.File.Delete(path);
             }
             viewmodel.Title = "Prepago / Ordenes de Recarga / Crear Orden";
             viewmodel.Message = "No se puede crear Orden. El cliente no tiene beneficiarios activos con tarjeta activa.";
             viewmodel.ControllerName = "OrdenRecargaPrepago";
             viewmodel.ActionName = "Filter";
             return RedirectToAction("GenericView", viewmodel);
         }
         else
         {
             //leer el archivo
             List<DetalleOrdenRecargaPrepago> detalleOrdenArchivo = repOrden.GetBeneficiariosArchivo(path);
             //borrar el archivo
             if (System.IO.File.Exists(path))
             {
                 System.IO.File.Delete(path);
             }
             if (detalleOrdenArchivo == null)
             {
                 viewmodel.Title = "Prepago / Ordenes de Recarga / Crear Orden desde Archivo";
                 viewmodel.Message = "Error de aplicacion: No se pudo leer el archivo.";
                 viewmodel.ControllerName = "OrdenRecargaPrepago";
                 viewmodel.ActionName = "Filter";
                 return RedirectToAction("GenericView", viewmodel);
             }
             else
             {
                 List<DetalleOrdenRecargaPrepago> detalleOrden = repOrden.DetalleParaOrdenArchivo(cliente, beneficiarios.FindAll(b => b.Afiliado.estatus == "Activa" && b.Afiliado.estatustarjeta == "Activa"), detalleOrdenArchivo);
                 return View("Create", detalleOrden);
             }
         }
     }
     else
     {
         //borrar el archivo
         if (System.IO.File.Exists(path))
         {
             System.IO.File.Delete(path);
         }
         viewmodel.Title = "Prepago / Ordenes de Recarga / Crear Orden desde Archivo";
         viewmodel.Message = "Error de aplicacion: El archivo está vacío";
         viewmodel.ControllerName = "OrdenRecargaPrepago";
         viewmodel.ActionName = "Filter";
         return RedirectToAction("GenericView", viewmodel);
     }
 }
 public ActionResult CreateAnulacion(int idCliente, IList<DetalleOrdenRecargaPrepago> detalleOrden)
 {
     decimal MontoAnulacion = detalleOrden.First().montoRecarga;
     int idOrden = repOrden.CrearOrden(idCliente, detalleOrden.ToList(), MontoAnulacion);
     if (idOrden != 0)
     {
         //viewmodel.Title = "Prepago / Cliente / Ordenes de Recarga / Detalle de la Orden";
         //viewmodel.Message = "Orden Aprobada.";
         //viewmodel.ControllerName = "ClientePrepago";
         //viewmodel.ActionName = "FilterOrdenes";
         //viewmodel.RouteValues = id.ToString();
         return RedirectToAction("DetalleOrden", new { id = idOrden });
     }
     else
     {
         ViewModel viewmodel = new ViewModel();
         viewmodel.Title = "Prepago / Ordenes de Recarga / Crear Orden de Anulación";
         viewmodel.Message = "Falló el proceso de creación de la Orden.";
         viewmodel.ControllerName = "OrdenRecargaPrepago";
         viewmodel.ActionName = "FilterAnulacion";
         return RedirectToAction("GenericView", viewmodel);
     }
 }
 public ActionResult SuspenderTarjeta(int id, string observaciones, string mode = "post")
 {
     ViewModel viewmodel = new ViewModel();
     AfiliadoSuma afiliado = repAfiliado.Find(id);
     if (repAfiliado.SuspenderTarjeta(afiliado, observaciones))
     {
         viewmodel.Title = "Afiliado / Suspender Tarjeta";
         viewmodel.Message = "Tarjeta suspendida correctamente";
         viewmodel.ControllerName = "AfiliadoSuma";
         viewmodel.ActionName = "FilterReview";
     }
     else
     {
         viewmodel.Title = "Afiliado / Suspender Tarjeta";
         viewmodel.Message = "Falló el proceso de suspensión de la Tarjeta";
         viewmodel.ControllerName = "AfiliadoSuma";
         viewmodel.ActionName = "FilterReview";
     }
     return RedirectToAction("GenericView", viewmodel);
 }
        public ActionResult SaldosMovimientos(int id)
        {
            AfiliadoSuma afiliado = repAfiliado.Find(id);
            SaldosMovimientos SaldosMovimientos = repAfiliado.FindSaldosMovimientos(afiliado);
            if (SaldosMovimientos != null)
            {

                AfiliadoSumaSaldosMovimientos AfiliadoSaldosMovimientos = new AfiliadoSumaSaldosMovimientos()
                {
                    denominacionPrepago = "Bs.",
                    denominacionSuma = "Más",
                    Afiliado = afiliado,
                    SaldosMovimientos = SaldosMovimientos
                };
                return View(AfiliadoSaldosMovimientos);
            }
            else
            {
                //ERROR EN METODO FIND
                ViewModel viewmodel = new ViewModel();
                viewmodel.Title = "Afiliado / Saldos y Movimientos";
                viewmodel.Message = "Ha ocurrido un error de aplicación (FindSaldosMovimientos). Notifique al Administrador.";
                viewmodel.ControllerName = "AfiliadoSuma";
                viewmodel.ActionName = "FilterReview";
                return RedirectToAction("GenericView", viewmodel);
            }
        }
 public ActionResult ReImprimirTarjeta(int id)
 {
     ViewModel viewmodel = new ViewModel();
     AfiliadoSuma afiliado = repAfiliado.Find(id);
     if (repAfiliado.BloquearTarjeta(afiliado))
     {
         return View("ImpresoraImprimirTarjeta", afiliado);
     }
     else
     {
         viewmodel.Title = "Afiliado / ReImprimir Tarjeta";
         viewmodel.Message = "Falló el proceso de reimpresión de la Tarjeta";
         viewmodel.ControllerName = "AfiliadoSuma";
         viewmodel.ActionName = "FilterReview";
         return RedirectToAction("GenericView", viewmodel);
     }
 }
        public ActionResult CambiarTipoDocumento(int id, string tipoDocumento)
        {
            AfiliadoSuma afiliado = repAfiliado.Find(id);

            //VERIFICO QUE EL NUMERO DE DOCUMENTO NO EXISTA PARA PODER REGISTRARLO
            string validacion = repAfiliado.VerificarNumeroDeDocumentoCambiarTipo(tipoDocumento + afiliado.docnumber.Substring(1));
            if (validacion != null)
            {
                ViewModel viewmodel = new ViewModel();
                viewmodel.Title = "Afiliado / Revisar Afiliación / Cambiar Tipo de Documento";
                viewmodel.Message = "La combinación Tipo de Documento-Número de Documento (" + tipoDocumento + afiliado.docnumber.Substring(1) + ") ya está registrada, no se puede realizar el cambio de Tipo de Documento.";
                viewmodel.ControllerName = "AfiliadoSuma";
                viewmodel.ActionName = "FilterReview";
                return RedirectToAction("GenericView", viewmodel);
            }

            if (repAfiliado.CambiarTipoDocumento(afiliado, tipoDocumento))
            {
                return RedirectToAction("Edit", new { id = id });
            }
            else
            {
                ViewModel viewmodel = new ViewModel();
                viewmodel.Title = "Afiliado / Revisar Afiliación / Cambiar Tipo de Documento";
                viewmodel.Message = "Error de aplicacion: No se pudo cambiar tipo de documento.";
                viewmodel.ControllerName = "AfiliadoSuma";
                viewmodel.ActionName = "FilterReview";
                return RedirectToAction("GenericView", viewmodel);
            }
        }
 public ActionResult ImprimirTarjeta(int id, string mode = "post")
 {
     ViewModel viewmodel = new ViewModel();
     AfiliadoSuma afiliado = repAfiliado.Find(id);
     if (repAfiliado.ImprimirTarjeta(afiliado))
     {
         viewmodel.Title = "Afiliado / Operaciones con la Impresora / Imprimir Tarjeta";
         viewmodel.Message = "Tarjeta impresa y activada correctamente";
         viewmodel.ControllerName = "AfiliadoSuma";
         viewmodel.ActionName = "FilterReview";
     }
     else
     {
         viewmodel.Title = "Afiliado / Operaciones con la Impresora / Imprimir Tarjeta";
         viewmodel.Message = "Falló el proceso de impresión y activación de la Tarjeta";
         viewmodel.ControllerName = "AfiliadoSuma";
         viewmodel.ActionName = "FilterReview";
     }
     return RedirectToAction("GenericView", viewmodel);
 }
 public ActionResult RechazarOrden(int id)
 {
     ViewModel viewmodel = new ViewModel();
     if (repOrden.RechazarOrden(id))
     {
         viewmodel.Title = "Prepago / Ordenes de Recarga / Detalle de la Orden";
         viewmodel.Message = "Orden Rechazada.";
         viewmodel.ControllerName = "OrdenRecargaPrepago";
         viewmodel.ActionName = "FilterReview";
     }
     else
     {
         viewmodel.Title = "Prepago / Ordenes de Recarga / Detalle de la Orden";
         viewmodel.Message = "Falló el proceso de rechazo de la Orden.";
         viewmodel.ControllerName = "OrdenRecargaPrepago";
         viewmodel.ActionName = "FilterReview";
     }
     return RedirectToAction("GenericView", viewmodel);
 }
 public ActionResult GenericView(ViewModel viewmodel)
 {
     return View(viewmodel);
 }
 public ActionResult Edit(AfiliadoSuma afiliado, HttpPostedFileBase fileNoValidado)
 {
     ViewModel viewmodel = new ViewModel();
     if (!repAfiliado.SaveChanges(afiliado, fileNoValidado))
     {
         viewmodel.Title = "Afiliado / Revisar Afiliación";
         viewmodel.Message = "Error de aplicacion: No se pudo actualizar afiliación.";
         viewmodel.ControllerName = "AfiliadoSuma";
         viewmodel.ActionName = "FilterReview";
     }
     else
     {
         viewmodel.Title = "Afiliado / Revisar Afiliación";
         viewmodel.Message = "La información del afiliado ha sido actualizada satisfactoriamente.";
         viewmodel.ControllerName = "AfiliadoSuma";
         viewmodel.ActionName = "FilterReview";
     }
     return RedirectToAction("GenericView", viewmodel);
 }
 public ActionResult CreateConTarjeta(AfiliadoSuma afiliado, HttpPostedFileBase file)
 {
     ViewModel viewmodel = new ViewModel();
     if (repAfiliado.Save(afiliado, file))
     {
         int idafiliado = repAfiliado.Find(afiliado.docnumber, "", "", "", "").First().id;
         afiliado = repAfiliado.Find(idafiliado);
         if (repAfiliado.Aprobar(afiliado))
         {
             viewmodel.Title = "Afiliado / Crear Afiliación";
             viewmodel.Message = "Solicitud de afiliación creada y aprobada exitosamente.";
             viewmodel.ControllerName = "AfiliadoSuma";
             viewmodel.ActionName = "FilterReview";
         }
         else
         {
             viewmodel.Title = "Afiliado / Crear Afiliación";
             viewmodel.Message = "Solicitud de afiliación creada, pero no se pudo aprobar automáticamente.";
             viewmodel.ControllerName = "AfiliadoSuma";
             viewmodel.ActionName = "FilterReview";
         }
     }
     else
     {
         viewmodel.Title = "Afiliado / Crear Afiliación";
         viewmodel.Message = "Error de aplicacion: No se pudo crear solicitud de afiliación.";
         viewmodel.ControllerName = "AfiliadoSuma";
         viewmodel.ActionName = "FilterReview";
     }
     return RedirectToAction("GenericView", viewmodel);
 }
 public ActionResult Create(AfiliadoSuma afiliado, HttpPostedFileBase file)
 {
     ViewModel viewmodel = new ViewModel();
     if (repAfiliado.Save(afiliado, file))
     {
         viewmodel.Title = "Afiliado / Crear Afiliación";
         viewmodel.Message = "Solicitud de afiliación creada exitosamente.";
         viewmodel.ControllerName = "AfiliadoSuma";
         viewmodel.ActionName = "FilterReview";
     }
     else
     {
         viewmodel.Title = "Afiliado / Crear Afiliación";
         viewmodel.Message = "Error de aplicacion: No se pudo crear solicitud de afiliación.";
         viewmodel.ControllerName = "AfiliadoSuma";
         viewmodel.ActionName = "FilterReview";
     }
     return RedirectToAction("GenericView", viewmodel);
 }
 public ActionResult ProcesarOrden(int id)
 {
     if (repOrden.ProcesarOrden(id))
     {
         //ViewModel viewmodel = new ViewModel();
         //viewmodel.Title = "Prepago / Cliente / Ordenes de Recarga / Detalle de la Orden / Procesar Orden";
         //viewmodel.Message = "Orden Procesada.";
         //viewmodel.ControllerName = "ClientePrepago";
         //viewmodel.ActionName = "FilterOrdenes";
         //viewmodel.RouteValues = id.ToString();
         //return RedirectToAction("GenericView", viewmodel);
         //List<DetalleOrdenRecargaPrepago> detalleOrden = repOrden.FindDetalleOrden(idOrden);
         //return View("ResultadoOrden", detalleOrden);
         List<DetalleOrdenRecargaPrepago> detalleOrden = repOrden.FindDetalleOrden(id);
         return View("DetalleOrden", detalleOrden);
     }
     else
     {
         ViewModel viewmodel = new ViewModel();
         viewmodel.Title = "Prepago / Ordenes de Recarga / Detalle de la Orden / Procesar Orden";
         viewmodel.Message = "Falló el procesamiento de la Orden.";
         viewmodel.ControllerName = "OrdenRecargaPrepago";
         viewmodel.ActionName = "FilterReview";
         return RedirectToAction("GenericView", viewmodel);
     }
 }
 public ActionResult EliminarAfiliacion(int id, string estatustarjeta, string observaciones)
 {
     ViewModel viewmodel = new ViewModel();
     AfiliadoSuma afiliado = repAfiliado.Find(id);
     if (repAfiliado.EliminarAfiliacion(afiliado, observaciones))
     {
         if (estatustarjeta == "Activa")
         {
             if (repAfiliado.SuspenderTarjeta(afiliado, observaciones))
             {
                 viewmodel.Title = "Afiliado / Eliminar Afiliación";
                 viewmodel.Message = "La Afiliación fué eliminada con éxito";
                 viewmodel.ControllerName = "AfiliadoSuma";
                 viewmodel.ActionName = "FilterReview";
             }
             else
             {
                 viewmodel.Title = "Afiliado / Eliminar Afiliación";
                 viewmodel.Message = "Falló el proceso de suspender Tarjeta";
                 viewmodel.ControllerName = "AfiliadoSuma";
                 viewmodel.ActionName = "FilterReview";
             }
         }
         else
         {
             viewmodel.Title = "Afiliado / Eliminar Afiliación";
             viewmodel.Message = "La Afiliación fué eliminada con éxito";
             viewmodel.ControllerName = "AfiliadoSuma";
             viewmodel.ActionName = "FilterReview";
         }
     }
     else
     {
         viewmodel.Title = "Afiliado / Acreditar ";
         viewmodel.Message = "Falló el proceso de eliminar Afiliación";
         viewmodel.ControllerName = "AfiliadoSuma";
         viewmodel.ActionName = "FilterReview";
     }
     return RedirectToAction("GenericView", viewmodel);
 }
 public ActionResult Create(int idCliente)
 {
     ClientePrepago cliente = repCliente.Find(idCliente);
     List<BeneficiarioPrepagoIndex> beneficiarios = repCliente.FindBeneficiarios(idCliente,"", "", "", "", "").ToList();
     List<DetalleOrdenRecargaPrepago> detalleOrden = repOrden.DetalleParaOrden(cliente, beneficiarios.FindAll(b => b.Afiliado.estatus == "Activa" && b.Afiliado.estatustarjeta == "Activa"));
     if (detalleOrden.Count == 0)
     {
         ViewModel viewmodel = new ViewModel();
         viewmodel.Title = "Prepago / Ordenes de Recarga / Crear Orden";
         viewmodel.Message = "No se puede crear Orden. El cliente no tiene beneficiarios activos con tarjeta activa.";
         viewmodel.ControllerName = "OrdenRecargaPrepago";
         viewmodel.ActionName = "Filter";
         return RedirectToAction("GenericView", viewmodel);
     }
     else
     {
         return View(detalleOrden);
     }
 }
        public ActionResult Filter(string numdoc)
        {
            AfiliadoSuma afiliado = repAfiliado.Find(numdoc);
            if (afiliado.id == 0)
            {
                //NO ESTA EN SUMA

                //VERIFICO QUE EL NUMERO DE DOCUMENTO NO EXISTA PARA PODER REGISTRARLO
                string validacion = repAfiliado.VerificarNumeroDeDocumentoCrear(numdoc.Substring(2));
                if (validacion != null)
                {
                    ViewModel viewmodel = new ViewModel();
                    viewmodel.Title = "Afiliado / Crear Afiliación";
                    viewmodel.Message = "El número de documento indicado (" + numdoc + ") ya está registrado como otro tipo de identificación (" + validacion + "), no se puede afiliar.";
                    viewmodel.ControllerName = "AfiliadoSuma";
                    viewmodel.ActionName = "Filter";
                    return RedirectToAction("GenericView", viewmodel);
                }

                afiliado.typeid = Globals.ID_TYPE_SUMA;
                afiliado.type = "Suma";
                //CARGO VALOR POR DEFECTO EN LISTA DE ESTADOS
                afiliado.ListaEstados.Insert(0, new ESTADO { COD_ESTADO = " ", DESCRIPC_ESTADO = "Seleccione un Estado" });
                //verifico si tiene tarjeta en Cards
                if (afiliado.pan != "0" && afiliado.estatustarjeta == "Activa")
                {
                    ViewModel viewmodel = new ViewModel();
                    viewmodel.Title = "Afiliado / Crear Afiliación";
                    viewmodel.Message = "El número de documento indicado ya posee una Tarjeta Activa con el número " + afiliado.pan;
                    viewmodel.ControllerName = "AfiliadoSuma";
                    viewmodel.ActionName = "CreateConTarjeta";
                    viewmodel.RouteValues = "?numdoc=" + numdoc;
                    return RedirectToAction("GenericView", viewmodel);
                }
                else
                {
                    return View("Create", afiliado);
                }
            }
            else
            {
                //ESTA EN SUMA
                afiliado = repAfiliado.Find(afiliado.id);
                //SI ESTA ELIMINADO, NO SE PUEDE HACER OPERACIONES, SE MUESTRA MENSAJE
                if (afiliado.estatus == "Eliminada")
                {
                    ViewModel viewmodel = new ViewModel();
                    viewmodel.Title = "Afiliado / Crear Afiliación";
                    viewmodel.Message = "El número de documento indicado posee un Afiliación Eliminada. No puede realizar operaciones.";
                    viewmodel.ControllerName = "AfiliadoSuma";
                    viewmodel.ActionName = "Filter";
                    return RedirectToAction("GenericView", viewmodel);
                }
                else
                {
                    return View("Edit", afiliado);
                }
            }
        }