//aprueba una solicitud de afiliación public bool Aprobar(Afiliado afiliado) { string RespuestaCardsJson = WSL.Cards.addClient(afiliado.docnumber.Substring(2), (afiliado.name + " " + afiliado.lastname1).ToUpper(), afiliado.phone1, "Plazas Baruta"); if (ExceptionServicioCards(RespuestaCardsJson)) { return false; } RespuestaCards RespuestaCards = (RespuestaCards)JsonConvert.DeserializeObject<RespuestaCards>(RespuestaCardsJson); using (LealtadEntities db = new LealtadEntities()) { if (RespuestaCards.excode == "0" || RespuestaCards.excode == "7") { //Se buscan los datos de Tarjeta del AFILIADO en Cards //SERVICIO WSL.Cards.getClient ! string clienteCardsJson = WSL.Cards.getClient(afiliado.docnumber.Substring(2)); if (ExceptionServicioCards(clienteCardsJson)) { return false; } ClienteCards clienteCards = (ClienteCards)JsonConvert.DeserializeObject<ClienteCards>(clienteCardsJson); afiliado.pan = clienteCards.pan; afiliado.printed = clienteCards.printed; afiliado.estatustarjeta = clienteCards.tarjeta; afiliado.statusid = db.SumaStatuses.FirstOrDefault(s => (s.value == ID_ESTATUS_AFILIACION_ACTIVA) && (s.tablename == "Affiliatte")).id;//ID_ESTATUS_AFILIACION_ACTIVA; return SaveChanges(afiliado); } else { return false; } } }
//acredita más en la cuenta del afiliado public bool Acreditar(Afiliado afiliado, string monto) { string RespuestaCardsJson = WSL.Cards.addBatch(afiliado.docnumber.Substring(2), monto, "318", (string)HttpContext.Current.Session["login"]); if (ExceptionServicioCards(RespuestaCardsJson)) { return false; } RespuestaCards RespuestaCards = (RespuestaCards)JsonConvert.DeserializeObject<RespuestaCards>(RespuestaCardsJson); if (RespuestaCards.excode == "0") { return true; } else { return false; } }
//bloquea la tarjeta actual y genera una nueva tarjeta para el afiliado public bool BloquearTarjeta(Afiliado afiliado) { string RespuestaCardsJson = WSL.Cards.addCard(afiliado.docnumber.Substring(2)); if (ExceptionServicioCards(RespuestaCardsJson)) { return false; } RespuestaCards RespuestaCards = (RespuestaCards)JsonConvert.DeserializeObject<RespuestaCards>(RespuestaCardsJson); if (RespuestaCards.excode == "0") { if (BorrarTarjeta(afiliado.pan)) { //Se buscan los datos de la nueva Tarjeta del AFILIADO en Cards //SERVICIO WSL.Cards.getClient ! string clienteCardsJson = WSL.Cards.getClient(afiliado.docnumber.Substring(2)); if (ExceptionServicioCards(clienteCardsJson)) { return false; } ClienteCards clienteCards = (ClienteCards)JsonConvert.DeserializeObject<ClienteCards>(clienteCardsJson); afiliado.pan = clienteCards.pan; afiliado.printed = clienteCards.printed; afiliado.estatustarjeta = clienteCards.tarjeta; return SaveChanges(afiliado); } else { return false; } } else { return false; } }
//suspende temporalmente la tarjeta del afiliado public bool SuspenderTarjeta(Afiliado afiliado) { string RespuestaCardsJson = WSL.Cards.cardStatus(afiliado.docnumber.Substring(2), ID_ESTATUS_TARJETA_SUSPENDIDA); if (ExceptionServicioCards(RespuestaCardsJson)) { return false; } RespuestaCards RespuestaCards = (RespuestaCards)JsonConvert.DeserializeObject<RespuestaCards>(RespuestaCardsJson); if (RespuestaCards.excode == "0") { //Se buscan los datos de Tarjeta del AFILIADO en Cards //SERVICIO WSL.Cards.getClient ! string clienteCardsJson = WSL.Cards.getClient(afiliado.docnumber.Substring(2)); if (ExceptionServicioCards(clienteCardsJson)) { return false; } ClienteCards clienteCards = (ClienteCards)JsonConvert.DeserializeObject<ClienteCards>(clienteCardsJson); afiliado.pan = clienteCards.pan; afiliado.printed = clienteCards.printed; afiliado.estatustarjeta = clienteCards.tarjeta; return SaveChanges(afiliado); } else { return false; } }
//actualiza los datos en SumaPlazasStatuses public bool SaveChanges(Afiliado afiliado) { using (LealtadEntities db = new LealtadEntities()) { // Entidad: Affiliate Affiliate affiliate = db.Affiliates.FirstOrDefault(a => a.id == afiliado.id); if (affiliate != null) { affiliate.storeid = afiliado.storeid; affiliate.channelid = afiliado.channelid; affiliate.typeid = afiliado.typeid; affiliate.typedelivery = afiliado.typedelivery; affiliate.storeiddelivery = afiliado.storeiddelivery; affiliate.modifieduserid = (int)HttpContext.Current.Session["userid"]; affiliate.modifieddate = System.DateTime.Now; affiliate.statusid = afiliado.statusid; affiliate.reasonsid = afiliado.reasonsid; affiliate.twitter_account = afiliado.twitter_account; affiliate.facebook_account = afiliado.facebook_account; affiliate.instagram_account = afiliado.instagram_account; affiliate.comments = afiliado.comments; } // Entidad: CLIENTE CLIENTE cliente = db.CLIENTES.FirstOrDefault(c => c.TIPO_DOCUMENTO + "-" + c.NRO_DOCUMENTO == afiliado.docnumber); if (cliente != null) { cliente.NACIONALIDAD = afiliado.nationality; cliente.NOMBRE_CLIENTE1 = afiliado.name; cliente.NOMBRE_CLIENTE2 = afiliado.name2; cliente.APELLIDO_CLIENTE1 = afiliado.lastname1; cliente.APELLIDO_CLIENTE2 = afiliado.lastname2; cliente.FECHA_NACIMIENTO = DateTime.ParseExact(afiliado.birthdate, "dd-MM-yyyy", CultureInfo.InvariantCulture); cliente.SEXO = afiliado.gender; cliente.EDO_CIVIL = afiliado.maritalstatus; cliente.OCUPACION = afiliado.occupation; cliente.TELEFONO_HAB = afiliado.phone1; cliente.TELEFONO_OFIC = afiliado.phone2; cliente.TELEFONO_CEL = afiliado.phone3; cliente.COD_SUCURSAL = afiliado.storeid; cliente.COD_ESTADO = afiliado.cod_estado; cliente.COD_CIUDAD = afiliado.cod_ciudad; cliente.COD_MUNICIPIO = afiliado.cod_municipio; cliente.COD_PARROQUIA = afiliado.cod_parroquia; cliente.COD_URBANIZACION = afiliado.cod_urbanizacion; } // Entida: TARJETA TARJETA tarjeta = db.TARJETAS.FirstOrDefault(t => t.NRO_AFILIACION.Equals(afiliado.id)); if (tarjeta != null) { tarjeta.ESTATUS_TARJETA = afiliado.estatustarjeta; tarjeta.COD_USUARIO = (int)HttpContext.Current.Session["userid"]; tarjeta.FECHA_CREACION = DateTime.Now; } else if (afiliado.pan != null && afiliado.estatustarjeta != null) { tarjeta = new TARJETA() { NRO_TARJETA = Convert.ToDecimal(afiliado.pan), NRO_AFILIACION = afiliado.id, TIPO_DOCUMENTO = afiliado.docnumber.Substring(0, 1), NRO_DOCUMENTO = afiliado.docnumber.Substring(2), ESTATUS_TARJETA = afiliado.estatustarjeta, SALDO_PUNTOS = null, OBSERVACIONES = null, COD_USUARIO = (int)HttpContext.Current.Session["userid"], TRACK1 = null, TRACK2 = null, CVV2 = null, FECHA_CREACION = DateTime.Now }; db.TARJETAS.Add(tarjeta); } // Entidad: CustomerInterest foreach (var m in db.CustomerInterests.Where(f => f.customerid == afiliado.id)) { db.CustomerInterests.Remove(m); } foreach (var interes in afiliado.Intereses.Where(x => x.Checked == true)) { CustomerInterest customerInterest = new CustomerInterest() { customerid = afiliado.id, interestid = interes.id, comments = "" }; db.CustomerInterests.Add(customerInterest); } //Entidad: AffiliateAud int statusidactual = (from a in db.Affiliates where a.id.Equals(afiliado.id) select a.statusid ).SingleOrDefault(); //Solo inserto registros cuando hay cambio de estado de Afiliación if (statusidactual != afiliado.statusid) { var affiliateAuditoria = new AffiliateAud() { id = AfilliateAudID(), affiliateid = afiliado.id, modifieduserid = (int)HttpContext.Current.Session["userid"], modifieddate = System.DateTime.Now, statusid = afiliado.statusid, reasonsid = ID_REASONS_INICIAL, comments = afiliado.comments }; db.AffiliateAuds.Add(affiliateAuditoria); } if (SaveWebPlazas(afiliado)) { db.SaveChanges(); return true; } else { return false; } } }
//crea el afiliado en SumaPlazas (solicitud de afiliación) public bool Save(Afiliado afiliado, HttpPostedFileBase file) { using (LealtadEntities db = new LealtadEntities()) { //ENTIDAD Affiliatte var Affiliate = new Affiliate() { id = AfilliatesID(), customerid = afiliado.customerid, docnumber = afiliado.docnumber, clientid = afiliado.clientid, storeid = afiliado.storeid, channelid = afiliado.channelid, typeid = afiliado.typeid, affiliatedate = System.DateTime.Now, typedelivery = afiliado.typedelivery, storeiddelivery = afiliado.storeiddelivery, estimateddatedelivery = new DateTime(), creationdate = DateTime.Now, creationuserid = (int)HttpContext.Current.Session["userid"], modifieddate = DateTime.Now, modifieduserid = (int)HttpContext.Current.Session["userid"], statusid = db.SumaStatuses.FirstOrDefault(s => (s.value == ID_ESTATUS_AFILIACION_INICIAL) && (s.tablename=="Affiliatte")).id,//ID_ESTATUS_AFILIACION_INICIAL, reasonsid = null, twitter_account = afiliado.twitter_account, facebook_account = afiliado.facebook_account, instagram_account = afiliado.instagram_account, comments = afiliado.comments }; db.Affiliates.Add(Affiliate); //ENTIDAD CLIENTE var CLIENTE = new CLIENTE() { TIPO_DOCUMENTO = afiliado.docnumber.Substring(0, 1), NRO_DOCUMENTO = afiliado.docnumber.Substring(2), NACIONALIDAD = afiliado.nationality, NOMBRE_CLIENTE1 = afiliado.name, NOMBRE_CLIENTE2 = afiliado.name2 == null ? "" : afiliado.name2, APELLIDO_CLIENTE1 = afiliado.lastname1, APELLIDO_CLIENTE2 = afiliado.lastname2 == null ? "" : afiliado.lastname2, FECHA_NACIMIENTO = DateTime.ParseExact(afiliado.birthdate, "dd-MM-yyyy", CultureInfo.InvariantCulture), SEXO = afiliado.gender, EDO_CIVIL = afiliado.maritalstatus, OCUPACION = afiliado.occupation == null ? "" : afiliado.occupation, TELEFONO_HAB = afiliado.phone1, TELEFONO_OFIC = afiliado.phone2 == null ? "" : afiliado.cod_estado, TELEFONO_CEL = afiliado.phone3 == null ? "" : afiliado.cod_estado, E_MAIL = afiliado.email, COD_SUCURSAL = afiliado.storeid, COD_ESTADO = afiliado.cod_estado, COD_CIUDAD = afiliado.cod_ciudad, COD_MUNICIPIO = afiliado.cod_municipio, COD_PARROQUIA = afiliado.cod_parroquia, COD_URBANIZACION = afiliado.cod_urbanizacion, FECHA_CREACION = DateTime.Now }; db.CLIENTES.Add(CLIENTE); //ENTIDAD CustomerInterest foreach (var interes in afiliado.Intereses.Where(x => x.Checked == true)) { CustomerInterest customerInterest = new CustomerInterest() { customerid = Affiliate.id, interestid = interes.id, comments = "" }; db.CustomerInterests.Add(customerInterest); } //ENTIDAD Photos_Affiliate if (file != null) { try { int length = file.ContentLength; byte[] buffer = new byte[length]; file.InputStream.Read(buffer, 0, length); var Photos_Affiliate = new Photos_Affiliate() { photo = buffer, photo_type = file.ContentType, Affiliate_id = Affiliate.id }; db.Photos_Affiliates.Add(Photos_Affiliate); } catch { return false; } } else { return false; } //ENTIDAD CompanyAffiliate var companyaffiliate = new CompanyAffiliate() { affiliateid = Affiliate.id, companyid = afiliado.companyid, begindate = DateTime.Now, enddate = new DateTime(), comments = afiliado.comments, active = true }; db.CompanyAffiliates.Add(companyaffiliate); //ENTIDAD AffiliateAud var affiliateauditoria = new AffiliateAud() { id = AfilliateAudID(), affiliateid = Affiliate.id, modifieduserid = (int)HttpContext.Current.Session["userid"], modifieddate = System.DateTime.Now, statusid = Affiliate.statusid, reasonsid = ID_REASONS_INICIAL, comments = afiliado.comments }; db.AffiliateAuds.Add(affiliateauditoria); if (SaveWebPlazas(afiliado)) { db.SaveChanges(); return true; } else { return false; } } }
//busca los saldos y movimientos de las cuentas de un afiliado public SaldosMovimientos FindSaldosMovimientos(Afiliado afiliado) { SaldosMovimientos SaldosMovimientos = new SaldosMovimientos(); SaldosMovimientos.DocId = afiliado.docnumber; string saldosJson = WSL.Cards.getBalance(SaldosMovimientos.DocId.Substring(2)); if (ExceptionServicioCards(saldosJson)) { return null; } SaldosMovimientos.Saldos = (List<Saldo>)JsonConvert.DeserializeObject<List<Saldo>>(saldosJson); string movimientosPrepagoJson = WSL.Cards.getBatch(SaldosMovimientos.Saldos.First().accounttype, SaldosMovimientos.DocId.Substring(2)); if (ExceptionServicioCards(movimientosPrepagoJson)) { return null; } SaldosMovimientos.MovimientosPrepago = (List<Movimiento>)JsonConvert.DeserializeObject<List<Movimiento>>(movimientosPrepagoJson); List<Movimiento> MovimientosPrepagoOrdenados = SaldosMovimientos.MovimientosPrepago.OrderByDescending(x => x.batchid).ToList(); SaldosMovimientos.MovimientosPrepago = MovimientosPrepagoOrdenados.Take(3).ToList(); foreach (Movimiento mov in SaldosMovimientos.MovimientosPrepago) { mov.fecha = mov.fecha.Substring(6, 2) + "-" + mov.fecha.Substring(4, 2) + "-" + mov.fecha.Substring(0, 4); } string movimientosLealtadJson = WSL.Cards.getBatch(SaldosMovimientos.Saldos.Skip(1).First().accounttype, SaldosMovimientos.DocId.Substring(2)); if (ExceptionServicioCards(movimientosLealtadJson)) { return null; } SaldosMovimientos.MovimientosSuma = (List<Movimiento>)JsonConvert.DeserializeObject<List<Movimiento>>(movimientosLealtadJson); List<Movimiento> MovimientosSumaOrdenados = SaldosMovimientos.MovimientosSuma.OrderByDescending(x => x.batchid).ToList(); SaldosMovimientos.MovimientosSuma = MovimientosSumaOrdenados.Take(3).ToList(); foreach (Movimiento mov in SaldosMovimientos.MovimientosSuma) { mov.fecha = mov.fecha.Substring(6, 2) + "-" + mov.fecha.Substring(4, 2) + "-" + mov.fecha.Substring(0, 4); } return SaldosMovimientos; }
//actualiza los datos en WebPlazas private bool SaveWebPlazas(Afiliado afiliado) { string RespuestaWebPlazasJson = WSL.WebPlazas.UpdateClient(afiliado); if (ExceptionServicioWebPlazas(RespuestaWebPlazasJson)) { return false; } RespuestaWebPlazas RespuestaWebPlazas = (RespuestaWebPlazas)JsonConvert.DeserializeObject<RespuestaWebPlazas>(RespuestaWebPlazasJson); return (RespuestaWebPlazas.excode == "0"); }
//busca un cliente en la WebPlazas a partir del documento de identificación public Afiliado Find(string numdoc, int typeid = ID_TYPE_SUMA, int companyid = ID_COMPANY_PLAZAS) { //Primero se buscan los datos de CLIENTE en WebPlazas //SERVICIO WSL.WebPlazas.getClientByNumDoc Afiliado afiliado = new Afiliado() { docnumber = numdoc }; string clienteWebPlazasJson = WSL.WebPlazas.getClientByNumDoc(afiliado.docnumber); if (ExceptionServicioWebPlazas(clienteWebPlazasJson)) { return null; } ClienteWebPlazas clienteWebPlazas = (ClienteWebPlazas)JsonConvert.DeserializeObject<ClienteWebPlazas>(clienteWebPlazasJson); if (clienteWebPlazas == null) { //No está en WebPlazas afiliado.clientid = 0; } else { afiliado.nationality = clienteWebPlazas.nationality.Replace("/","").Replace("\\",""); afiliado.name = clienteWebPlazas.name.Replace("/", "").Replace("\\", ""); afiliado.name2 = clienteWebPlazas.name2.Replace("/", "").Replace("\\", ""); afiliado.lastname1 = clienteWebPlazas.lastname1.Replace("/", "").Replace("\\", ""); afiliado.lastname2 = clienteWebPlazas.lastname2.Replace("/", "").Replace("\\", ""); afiliado.birthdate = clienteWebPlazas.birthdate.Value.ToString("dd-MM-yyyy"); afiliado.gender = clienteWebPlazas.gender.Replace("/", "").Replace("\\", ""); afiliado.clientid = clienteWebPlazas.id; afiliado.maritalstatus = clienteWebPlazas.maritalstatus.Replace("/", "").Replace("\\", ""); afiliado.occupation = clienteWebPlazas.occupation.Replace("/", "").Replace("\\", ""); afiliado.phone1 = clienteWebPlazas.phone1.Replace("/", "").Replace("\\", ""); afiliado.phone2 = clienteWebPlazas.phone2.Replace("/", "").Replace("\\", ""); afiliado.phone3 = clienteWebPlazas.phone3.Replace("/", "").Replace("\\", ""); afiliado.email = clienteWebPlazas.email.Replace("/", "").Replace("\\", ""); afiliado.WebType = clienteWebPlazas.type; afiliado.ListaEstados = GetEstados(); //++ } //Segundo se buscan los datos del AFILIADO en SumaPlazas using (LealtadEntities db = new LealtadEntities()) { //Entidad Affiliate afiliado.id = (from a in db.Affiliates where a.docnumber.Equals(afiliado.docnumber) select a.id ).SingleOrDefault(); if (afiliado.id == 0) { //No está en SumaPlazas afiliado.Intereses = chargeInterestList(); afiliado.typeid = typeid; afiliado.type = db.Types.FirstOrDefault(t => t.id == afiliado.typeid).name; afiliado.companyid = companyid; } else { //Esta en Suma, busco compañia asociada //Entidad CompanyAffiliate afiliado.companyid = (from co in db.CompanyAffiliates where co.affiliateid.Equals(afiliado.id) select co.companyid ).SingleOrDefault(); //ENTIDAD TYPE //afiliado.typeid = TipoAfiliacionUsuario((int)HttpContext.Current.Session["userid"]); afiliado.typeid = (from a in db.Affiliates where a.id.Equals(afiliado.id) select a.typeid ).SingleOrDefault(); afiliado.type = db.Types.FirstOrDefault(t => t.id == afiliado.typeid).name; if (afiliado.typeid != typeid) { //EL AFILIADO EXISTE Y NO PERTENECE AL TIPO DE AFILIACION SUMINISTRADO afiliado.id = -1; } else if (afiliado.companyid != companyid) { //EL AFILIADO EXISTE Y NO PERTENECE A LA COMPAÑIA SUMINISTRADA afiliado.id = -2; } else { //AFILIADO EXISTE Y PERTENECE AL TIPO DE AFILIACION Y A LA COMPAÑIA SUMINISTRADOS, se busca lo necesario para llenar el index de editar //afiliado.statusid = (from a in db.Affiliates // where a.docnumber.Equals(afiliado.docnumber) // select a.statusid // ).SingleOrDefault(); afiliado.statusid = db.Affiliates.FirstOrDefault(a => a.docnumber == afiliado.docnumber).statusid; //afiliado.estatus = (from s in db.Status // where s.id.Equals(afiliado.statusid) // select s.name // ).SingleOrDefault(); afiliado.estatus = db.Statuses.FirstOrDefault(s => s.id == afiliado.statusid).name; } } } return afiliado; }
public ActionResult Edit(Afiliado afiliado) { ViewModel viewmodel = new ViewModel(); if (!repAfiliado.SaveChanges(afiliado)) { viewmodel.Title = "Afiliado / Revisar Afiliación"; viewmodel.Message = "Existen campos que son requeridos para procesar el formulario."; viewmodel.ControllerName = "Afiliado"; viewmodel.ActionName = "Index"; viewmodel.RouteValues = afiliado.docnumber; } else { viewmodel.Title = "Afiliado / Revisar Afiliación"; viewmodel.Message = "La información del afiliado ha sido actualizada satisfactoriamente."; viewmodel.ControllerName = "Afiliado"; viewmodel.ActionName = "Index"; viewmodel.RouteValues = afiliado.docnumber; } return RedirectToAction("GenericView", viewmodel); }
public ActionResult Create(Afiliado afiliado, HttpPostedFileBase file) { ViewModel viewmodel = new ViewModel(); if (repAfiliado.Save(afiliado, file)) { #region validacion de carga de archivo //if (file != null && file.ContentLength > 0) // try // { // string path = Server.MapPath(AppModule.GetPathPicture().Replace("@filename@", afiliado.docnumber)); // file.SaveAs(path); // } // catch (Exception ex) // { // viewmodel.Title = "Afiliado / Crear Afiliación"; // viewmodel.Message = "Error de aplicacion: No se pudo cargar archivo (" + ex.Message + ")"; // viewmodel.ControllerName = "Afiliado"; // viewmodel.ActionName = "Filter"; // return RedirectToAction("GenericView", viewmodel); // } //else //{ // viewmodel.Title = "Afiliado / Crear Afiliación"; // viewmodel.Message = "Error de aplicacion: No se pudo cargar archivo (archivo inválido)"; // viewmodel.ControllerName = "Afiliado"; // viewmodel.ActionName = "Filter"; // return RedirectToAction("GenericView", viewmodel); //} #endregion viewmodel.Title = "Afiliado / Crear Afiliación"; viewmodel.Message = "Solicitud de afiliación creada exitosamente."; viewmodel.ControllerName = "Afiliado"; viewmodel.ActionName = "Index"; viewmodel.RouteValues = afiliado.docnumber; } else { viewmodel.Title = "Afiliado / Crear Afiliación"; viewmodel.Message = "Error de aplicacion: No se pudo crear solicitud de afiliación."; viewmodel.ControllerName = "Afiliado"; viewmodel.ActionName = "Filter"; } return RedirectToAction("GenericView", viewmodel); }
public ActionResult Filter(int companyid) { Afiliado afiliado = new Afiliado(); afiliado.companyid = companyid; return View(afiliado); }
public ActionResult EditBeneficiario(Afiliado afiliado) { string companyid = afiliado.companyid.ToString(); ViewModel viewmodel = new ViewModel(); if (!repAfiliado.SaveChanges(afiliado)) { viewmodel.Title = "Prepago / Beneficiario / Revisar Afiliación"; viewmodel.Message = "Existen campos que son requeridos para procesar el formulario."; viewmodel.ControllerName = "CompanyPrepago"; //viewmodel.ActionName = "CargarBeneficiarios"; viewmodel.ActionName = "Beneficiarios"; viewmodel.RouteValues = companyid; } else { viewmodel.Title = "Prepago / Beneficiario / Revisar Afiliación"; viewmodel.Message = "La información del beneficiario ha sido actualizada satisfactoriamente."; viewmodel.ControllerName = "CompanyPrepago"; //viewmodel.ActionName = "CargarBeneficiarios"; viewmodel.ActionName = "Beneficiarios"; viewmodel.RouteValues = companyid; } return RedirectToAction("GenericView", viewmodel); }
public ActionResult CreateBeneficiario(Afiliado afiliado, HttpPostedFileBase file) { string companyid = afiliado.companyid.ToString(); ViewModel viewmodel = new ViewModel(); if (repAfiliado.Save(afiliado, file)) { viewmodel.Title = "Prepago / Beneficiario / Crear Afiliación"; viewmodel.Message = "Solicitud de afiliación creada exitosamente."; viewmodel.ControllerName = "CompanyPrepago"; //viewmodel.ActionName = "CargarBeneficiarios"; viewmodel.ActionName = "Beneficiarios"; viewmodel.RouteValues = companyid; } else { viewmodel.Title = "Prepago / Beneficiario / Crear Afiliación"; viewmodel.Message = "Error de aplicacion: No se pudo crear solicitud de afiliación."; viewmodel.ControllerName = "CompanyPrepago"; //viewmodel.ActionName = "CargarBeneficiarios"; viewmodel.ActionName = "Beneficiarios"; viewmodel.RouteValues = companyid; } return RedirectToAction("GenericView", viewmodel); }