public bool Aprobar(AfiliadoSuma afiliado) { string RespuestaCardsJson = WSL.Cards.addClient(afiliado.docnumber.Substring(2), (afiliado.name + " " + afiliado.lastname1).ToUpper(), afiliado.phone1, "Plazas Baruta"); if (WSL.Cards.ExceptionServicioCards(RespuestaCardsJson)) { return false; } RespuestaCards RespuestaCards = (RespuestaCards)JsonConvert.DeserializeObject<RespuestaCards>(RespuestaCardsJson); using (LealtadEntities db = new LealtadEntities()) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("SumaLealtad"); 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 (WSL.Cards.ExceptionServicioCards(clienteCardsJson)) { return false; } ClienteCards clienteCards = (ClienteCards)JsonConvert.DeserializeObject<ClienteCards>(clienteCardsJson); afiliado.pan = clienteCards.pan; afiliado.printed = clienteCards.printed == null ? null : clienteCards.printed.Substring(6, 2) + "/" + clienteCards.printed.Substring(4, 2) + "/" + clienteCards.printed.Substring(0, 4); afiliado.estatustarjeta = clienteCards.tarjeta; afiliado.trackII = Tarjeta.ConstruirTrackII(afiliado.pan); afiliado.cvv2 = "123"; afiliado.sumastatusid = db.SumaStatuses.FirstOrDefault(s => (s.value == Globals.ID_ESTATUS_AFILIACION_ACTIVA) && (s.tablename == "Affiliatte")).id; return SaveChanges(afiliado); } else { return false; } } }
public string Acreditar(AfiliadoSuma afiliado, string monto) { int intentos; string respuesta = ""; //Se llama al servicio para verificar q este activo. Se intenta la operación 3 veces, antes de fallar for (intentos = 0; intentos <= 3; intentos++) { //SERVICIO WSL.Cards.getClient ! string clienteCardsJson = WSL.Cards.getClient(afiliado.docnumber.Substring(2)); if (WSL.Cards.ExceptionServicioCards(clienteCardsJson)) { respuesta = "Servicio no responde"; intentos++; } else { break; } } if (intentos > 3) { return respuesta; } //Se intenta la operación 6 veces, antes de fallar for (intentos = 0; intentos <= 6; intentos++) { string RespuestaCardsJson = WSL.Cards.addBatch(afiliado.docnumber.Substring(2), monto, Globals.TRANSCODE_ACREDITACION_SUMA, "NULL"); if (WSL.Cards.ExceptionServicioCards(RespuestaCardsJson)) { ExceptionJSON exceptionJson = (ExceptionJSON)JsonConvert.DeserializeObject<ExceptionJSON>(RespuestaCardsJson); respuesta = exceptionJson.exdetail + "-" + exceptionJson.exsource; intentos++; } else { RespuestaCards RespuestaCards = (RespuestaCards)JsonConvert.DeserializeObject<RespuestaCards>(RespuestaCardsJson); if (Convert.ToDecimal(RespuestaCards.excode) < 0) { return null; } else { return RespuestaCards.exdetail; } } } return respuesta; }
public static string UpdateClient(AfiliadoSuma record) { string req = WSL_WEBPLAZAS_UPDCLIENT; req = req.Replace("{id}", record.clientid.ToString()); req = req.Replace("{docnumber}", record.docnumber); req = req.Replace("{nationality}", (record.nationality == null || record.nationality == "") ? "NULO" : record.nationality);// + ""); req = req.Replace("{name}", record.name); req = req.Replace("{name2}", (record.name2 == null || record.name2 == "") ? "NULO" : record.name2); req = req.Replace("{lastname1}", record.lastname1); req = req.Replace("{lastname2}", (record.lastname2 == null || record.lastname2 == "") ? "NULO" : record.lastname2); req = req.Replace("{birthdate}", record.birthdate.Substring(6, 4) + record.birthdate.Substring(3, 2) + record.birthdate.Substring(0, 2));// == null ? "19000101" : record.birthdate); 'yyyyMMdd' req = req.Replace("{gender}", record.gender);// + ""); req = req.Replace("{maritalstatus}", record.maritalstatus);// + ""); req = req.Replace("{occupation}", (record.occupation == null || record.occupation == "") ? "NULO" : record.occupation);// + ""); req = req.Replace("{phone1}", record.phone1); req = req.Replace("{phone2}", (record.phone2 == null || record.phone2 == "") ? "NULO" : record.phone2); req = req.Replace("{phone3}", (record.phone3 == null || record.phone3 == "") ? "NULO" : record.phone3); req = req.Replace("{email}", record.email); req = req.Replace("{type}", record.WebType);// + ""); return ConsumirServicioPlazasWeb(req); }
public List<AfiliadoSumaExcel> FindAllExcel() { using (LealtadEntities db = new LealtadEntities()) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("SumaLealtad"); AfiliadoSuma datos = new AfiliadoSuma(); List<AfiliadoSumaExcel> afiliados = new List<AfiliadoSumaExcel>(); var query = (from a in db.Affiliates join c in db.CLIENTES on a.docnumber equals c.TIPO_DOCUMENTO + "-" + c.NRO_DOCUMENTO join t in db.TARJETAS on a.id equals t.NRO_AFILIACION into PRUEBA from prue in PRUEBA.DefaultIfEmpty() select new { //tarjeta pan = prue == null ? new decimal() : prue.NRO_TARJETA, estatustarjeta = prue == null ? "" : prue.ESTATUS_TARJETA, //affiliate id = a.id, docnumber = a.docnumber, typeid = a.typeid, sumastatusid = a.sumastatusid, customerid = a.customerid, clientid = a.clientid, storeid = a.storeid, channelid = a.channelid, typedelivery = a.typedelivery, storeiddelivery = a.storeiddelivery, reasonsid = a.reasonsid, twitter_account = a.twitter_account, facebook_account = a.facebook_account, instagram_account = a.instagram_account, comments = a.comments, //cliente name = c.NOMBRE_CLIENTE1, name2 = c.NOMBRE_CLIENTE2, lastname1 = c.APELLIDO_CLIENTE1, lastname2 = c.APELLIDO_CLIENTE2, fecha_nacimiento = c.FECHA_NACIMIENTO, email = c.E_MAIL, nationality = c.NACIONALIDAD, gender = c.SEXO, maritalstatus = c.EDO_CIVIL, occupation = c.OCUPACION, phone1 = c.TELEFONO_HAB, phone2 = c.TELEFONO_OFIC, phone3 = c.TELEFONO_CEL, cod_estado = c.COD_ESTADO, cod_ciudad = c.COD_CIUDAD, cod_municipio = c.COD_MUNICIPIO, cod_parroquia = c.COD_PARROQUIA, cod_urbanizacion = c.COD_URBANIZACION, fechaAfiliacion = a.creationdate, usuarioAfiliacion = a.creationuserid }).OrderBy(d => d.docnumber); var query2 = (from q in query.AsEnumerable() join s in db.SumaStatuses on q.sumastatusid equals s.id join ty in db.Types on q.typeid equals ty.id select new //AfiliadoSumaExcel() { id = q.id, clientid = q.clientid, estatus = s.name, type = ty.name, docnumber = q.docnumber, nationality = datos.NacionalidadOptions.FirstOrDefault(x => x.id.ToString() == q.nationality).nacionalidad, storeid = datos.StoreOptions.First(x => x.id == q.storeid.ToString()).sucursal, channelid = datos.ChannelOptions.First(x => x.id == q.channelid).channel, typedelivery = q.typedelivery == null ? "" : datos.TypeDeliveryOptions.First(x => x.id.ToString() == q.typedelivery).delivery, storeiddelivery = q.storeiddelivery == null ? "" : datos.StoreOptions.FirstOrDefault(x => x.id == q.storeiddelivery.Value.ToString()).sucursal, name = q.name, name2 = q.name2, lastname1 = q.lastname1, lastname2 = q.lastname2, birthdate = q.fecha_nacimiento == null ? "" : q.fecha_nacimiento.Value.ToString(), gender = datos.SexoOptions.FirstOrDefault(x => x.id.ToString() == q.gender).sexo, edad = q.fecha_nacimiento == null ? 0 : ((DateTime.Now.Subtract(q.fecha_nacimiento.Value)).Days) / 365, maritalstatus = datos.MaritalStatusOptions.FirstOrDefault(x => x.id.ToString() == q.maritalstatus).maritalstatus, occupation = q.occupation, email = q.email, phone1 = q.phone1, phone2 = q.phone2, phone3 = q.phone3, twitter_account = q.twitter_account == null ? "" : q.twitter_account, facebook_account = q.facebook_account == null ? "" : q.facebook_account, instagram_account = q.instagram_account == null ? "" : q.instagram_account, cod_estado = q.cod_estado, cod_ciudad = q.cod_ciudad, cod_municipio = q.cod_municipio, cod_parroquia = q.cod_parroquia, cod_urbanizacion = q.cod_urbanizacion, pan = q.pan == 0 ? "" : q.pan.ToString(), estatustarjeta = q.estatustarjeta, fechaAfiliacion = q.fechaAfiliacion.ToString(), usuarioAfiliacion = q.usuarioAfiliacion }).ToList(); var query3 = (from q in query2.AsEnumerable() join u in db.Users on q.usuarioAfiliacion equals u.id join e in db.ESTADOS on q.cod_estado equals e.COD_ESTADO into estados from estado in estados.DefaultIfEmpty() select new { id = q.id, clientid = q.clientid, estatus = q.estatus, type = q.type, docnumber = q.docnumber, nationality = q.nationality, storeid = q.storeid, channelid = q.channelid, typedelivery = q.typedelivery, storeiddelivery = q.storeiddelivery, name = q.name, name2 = q.name2, lastname1 = q.lastname1, lastname2 = q.lastname2, birthdate = q.birthdate, gender = q.gender, edad = q.edad, maritalstatus = q.maritalstatus, occupation = q.occupation, email = q.email, phone1 = q.phone1, phone2 = q.phone2, phone3 = q.phone3, twitter_account = q.twitter_account, facebook_account = q.facebook_account, instagram_account = q.instagram_account, cod_estado = estado == null ? "" : estado.DESCRIPC_ESTADO, cod_ciudad = q.cod_ciudad, cod_municipio = q.cod_municipio, cod_parroquia = q.cod_parroquia, cod_urbanizacion = q.cod_urbanizacion, pan = q.pan, estatustarjeta = q.estatustarjeta, fechaAfiliacion = q.fechaAfiliacion, usuarioAfiliacion = u.login }).ToList(); var query4 = (from q in query3.AsEnumerable() join c in db.CIUDADES on q.cod_ciudad equals c.COD_CIUDAD into ciudades from ciudad in ciudades.DefaultIfEmpty() select new { id = q.id, clientid = q.clientid, estatus = q.estatus, type = q.type, docnumber = q.docnumber, nationality = q.nationality, storeid = q.storeid, channelid = q.channelid, typedelivery = q.typedelivery, storeiddelivery = q.storeiddelivery, name = q.name, name2 = q.name2, lastname1 = q.lastname1, lastname2 = q.lastname2, birthdate = q.birthdate, gender = q.gender, edad = q.edad, maritalstatus = q.maritalstatus, occupation = q.occupation, email = q.email, phone1 = q.phone1, phone2 = q.phone2, phone3 = q.phone3, twitter_account = q.twitter_account, facebook_account = q.facebook_account, instagram_account = q.instagram_account, cod_estado = q.cod_estado, cod_ciudad = ciudad == null ? "" : ciudad.DESCRIPC_CIUDAD, cod_municipio = q.cod_municipio, cod_parroquia = q.cod_parroquia, cod_urbanizacion = q.cod_urbanizacion, pan = q.pan, estatustarjeta = q.estatustarjeta, fechaAfiliacion = q.fechaAfiliacion, usuarioAfiliacion = q.usuarioAfiliacion }).ToList(); var query5 = (from q in query4.AsEnumerable() join m in db.MUNICIPIOS on q.cod_municipio equals m.COD_MUNICIPIO into municipios from municipio in municipios.DefaultIfEmpty() select new { id = q.id, clientid = q.clientid, estatus = q.estatus, type = q.type, docnumber = q.docnumber, nationality = q.nationality, storeid = q.storeid, channelid = q.channelid, typedelivery = q.typedelivery, storeiddelivery = q.storeiddelivery, name = q.name, name2 = q.name2, lastname1 = q.lastname1, lastname2 = q.lastname2, birthdate = q.birthdate, gender = q.gender, edad = q.edad, maritalstatus = q.maritalstatus, occupation = q.occupation, email = q.email, phone1 = q.phone1, phone2 = q.phone2, phone3 = q.phone3, twitter_account = q.twitter_account, facebook_account = q.facebook_account, instagram_account = q.instagram_account, cod_estado = q.cod_estado, cod_ciudad = q.cod_ciudad, cod_municipio = municipio == null ? "" : municipio.DESCRIPC_MUNICIPIO, cod_parroquia = q.cod_parroquia, cod_urbanizacion = q.cod_urbanizacion, pan = q.pan, estatustarjeta = q.estatustarjeta, fechaAfiliacion = q.fechaAfiliacion, usuarioAfiliacion = q.usuarioAfiliacion }).ToList(); var query6 = (from q in query5.AsEnumerable() join p in db.PARROQUIAS on q.cod_parroquia equals p.COD_PARROQUIA into parroquias from parroquia in parroquias.DefaultIfEmpty() select new { id = q.id, clientid = q.clientid, estatus = q.estatus, type = q.type, docnumber = q.docnumber, nationality = q.nationality, storeid = q.storeid, channelid = q.channelid, typedelivery = q.typedelivery, storeiddelivery = q.storeiddelivery, name = q.name, name2 = q.name2, lastname1 = q.lastname1, lastname2 = q.lastname2, birthdate = q.birthdate, gender = q.gender, edad = q.edad, maritalstatus = q.maritalstatus, occupation = q.occupation, email = q.email, phone1 = q.phone1, phone2 = q.phone2, phone3 = q.phone3, twitter_account = q.twitter_account, facebook_account = q.facebook_account, instagram_account = q.instagram_account, cod_estado = q.cod_estado, cod_ciudad = q.cod_ciudad, cod_municipio = q.cod_municipio, cod_parroquia = parroquia == null ? "" : parroquia.DESCRIPC_PARROQUIA, cod_urbanizacion = q.cod_urbanizacion, pan = q.pan, estatustarjeta = q.estatustarjeta, fechaAfiliacion = q.fechaAfiliacion, usuarioAfiliacion = q.usuarioAfiliacion }).ToList(); afiliados = (from q in query6.AsEnumerable() join u in db.URBANIZACIONES on q.cod_urbanizacion equals u.COD_URBANIZACION into urbanizaciones from urbanizacion in urbanizaciones.DefaultIfEmpty() select new AfiliadoSumaExcel { id = q.id, clientid = q.clientid, estatus = q.estatus, type = q.type, docnumber = q.docnumber, nationality = q.nationality, storeid = q.storeid, channelid = q.channelid, typedelivery = q.typedelivery, storeiddelivery = q.storeiddelivery, name = q.name, name2 = q.name2, lastname1 = q.lastname1, lastname2 = q.lastname2, birthdate = q.birthdate, gender = q.gender, edad = q.edad, maritalstatus = q.maritalstatus, occupation = q.occupation, email = q.email, phone1 = q.phone1, phone2 = q.phone2, phone3 = q.phone3, twitter_account = q.twitter_account, facebook_account = q.facebook_account, instagram_account = q.instagram_account, cod_estado = q.cod_estado, cod_ciudad = q.cod_ciudad, cod_municipio = q.cod_municipio, cod_parroquia = q.cod_parroquia, cod_urbanizacion = urbanizacion == null ? "" : urbanizacion.DESCRIPC_URBANIZACION, pan = q.pan, estatustarjeta = q.estatustarjeta, fechaAfiliacion = q.fechaAfiliacion, usuarioAfiliacion = q.usuarioAfiliacion }).ToList(); return afiliados; } }
public AfiliadoSuma Find(string numdoc) { AfiliadoSuma afiliado = new AfiliadoSuma() { docnumber = numdoc }; //SE CALCULA LA SUCURSAL DE AFILIACION EN FUNCION A LA DIRECCION IP DEL CLIENTE afiliado.storeid = DeterminarSucursalAfiliacion(); //INCLUSION: Se determina si el número de documento ya tiene tarjeta en Cards //Se buscan los datos de Tarjeta del AFILIADO en Cards //SERVICIO WSL.Cards.getClient ! string clienteCardsJson = WSL.Cards.getClient(numdoc.Substring(2)); ClienteCards clienteCards; if (WSL.Cards.ExceptionServicioCards(clienteCardsJson)) { //return null; clienteCards = null; } else { clienteCards = (ClienteCards)JsonConvert.DeserializeObject<ClienteCards>(clienteCardsJson); } if (clienteCards == null) { //No está en Cards o no se pudo leer desde Cards afiliado.pan = "0"; } else { afiliado.pan = clienteCards.pan; afiliado.estatustarjeta = clienteCards.tarjeta; } //Primero se buscan los datos de CLIENTE en WebPlazas //SERVICIO WSL.WebPlazas.getClientByNumDoc string clienteWebPlazasJson = WSL.WebPlazas.getClientByNumDoc(afiliado.docnumber); ClienteWebPlazas clienteWebPlazas; if (WSL.WebPlazas.ExceptionServicioWebPlazas(clienteWebPlazasJson)) { //return null; clienteWebPlazas = null; } else { if (clienteWebPlazasJson.Contains("\"id\":null")) { //no se pudo leer desde la web clienteWebPlazas = null; } else { clienteWebPlazas = (ClienteWebPlazas)JsonConvert.DeserializeObject<ClienteWebPlazas>(clienteWebPlazasJson); } } if (clienteWebPlazas == null) { //No está en WebPlazas ó no se pudo leer desde la web afiliado.clientid = 0; afiliado.ListaEstados = GetEstados(); } else { //Si está en la WebPlazas //afiliado.nationality = clienteWebPlazas.nationality.Replace("/", "").Replace("\\", ""); if (afiliado.docnumber.Substring(0, 1).ToUpper() == "V") { afiliado.nationality = "1"; } else if (afiliado.docnumber.Substring(0, 1).ToUpper() == "E" || afiliado.docnumber.Substring(0, 1).ToUpper() == "P") { afiliado.nationality = "2"; } else { afiliado.nationality = "0"; } 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("\\", "").Length > 30 ? clienteWebPlazas.occupation.Replace("/", "").Replace("\\", "").Substring(0, 30) : 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()) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("SumaLealtad"); //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(); } else { //Esta en SumaPlazas //ENTIDAD TYPE afiliado.typeid = db.Affiliates.FirstOrDefault(a => a.id == afiliado.id).typeid; afiliado.type = db.Types.FirstOrDefault(t => t.id == afiliado.typeid).name; afiliado.sumastatusid = db.Affiliates.FirstOrDefault(a => a.docnumber == afiliado.docnumber).sumastatusid.Value; afiliado.estatus = db.SumaStatuses.FirstOrDefault(s => s.id == afiliado.sumastatusid).name; afiliado.Intereses = chargeInterestList(afiliado.id); } } //cargar listas de selección afiliado.NacionalidadOptions = GetNacionalidades(); afiliado.ChannelOptions = GetChannels(); afiliado.SexoOptions = GetSexos(); afiliado.StoreOptions = GetStores(); afiliado.MaritalStatusOptions = GetMaritalStatuses(); return afiliado; }
public AfiliadoSuma CambiarAPrepago(AfiliadoSuma afiliado) { afiliado.type = "Prepago"; afiliado.typeid = Globals.ID_TYPE_PREPAGO; return afiliado; }
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 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); }
//YA NO SE ENVIARÁ INFORMACIÓN A LA WEB //private bool SaveWebPlazas(AfiliadoSuma afiliado) //{ // string RespuestaWebPlazasJson = WSL.WebPlazas.UpdateClient(afiliado); // if (ExceptionServicioWebPlazas(RespuestaWebPlazasJson)) // { // return false; // } // RespuestaWebPlazas RespuestaWebPlazas = (RespuestaWebPlazas)JsonConvert.DeserializeObject<RespuestaWebPlazas>(RespuestaWebPlazasJson); // return (RespuestaWebPlazas.excode == "0"); //} public bool Save(AfiliadoSuma afiliado, HttpPostedFileBase file) { using (LealtadEntities db = new LealtadEntities()) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("SumaLealtad"); //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"], sumastatusid = db.SumaStatuses.FirstOrDefault(s => (s.value == Globals.ID_ESTATUS_AFILIACION_INICIAL) && (s.tablename == "Affiliatte")).id, 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 CLIENTE cliente = db.CLIENTES.FirstOrDefault(c => c.TIPO_DOCUMENTO + "-" + c.NRO_DOCUMENTO == afiliado.docnumber); if (cliente == null) { var CLIENTE = new CLIENTE() { TIPO_DOCUMENTO = afiliado.docnumber.Substring(0, 1), NRO_DOCUMENTO = afiliado.docnumber.Substring(2), E_MAIL = afiliado.email == null ? "" : afiliado.email, NOMBRE_CLIENTE1 = afiliado.name, NOMBRE_CLIENTE2 = afiliado.name2 == null ? "" : afiliado.name2, APELLIDO_CLIENTE1 = afiliado.lastname1 == null ? "" : afiliado.lastname1, APELLIDO_CLIENTE2 = afiliado.lastname2 == null ? "" : afiliado.lastname2, FECHA_NACIMIENTO = afiliado.birthdate == null ? new DateTime?() : DateTime.ParseExact(afiliado.birthdate, "dd/MM/yyyy", CultureInfo.InvariantCulture), //NACIONALIDAD = afiliado.nationality == null ? "" : afiliado.nationality, //SEXO = afiliado.gender == null ? "" : afiliado.gender, //EDO_CIVIL = afiliado.maritalstatus == null ? "" : afiliado.maritalstatus, //COD_SUCURSAL = afiliado.storeid, //nuevos campos con claves a tablas nuevas NACIONALITY_ID = afiliado.nationality == null ? 0 : Convert.ToInt32(afiliado.nationality), SEX_ID = afiliado.gender == null ? 0 : Convert.ToInt32(afiliado.gender), CIVIL_STATUS_ID = afiliado.maritalstatus == null ? 0 : Convert.ToInt32(afiliado.maritalstatus), //OCUPACION = afiliado.occupation == null ? "" : afiliado.occupation.Substring(0, 30), TELEFONO_HAB = afiliado.phone1, TELEFONO_OFIC = afiliado.phone2 == null ? "" : afiliado.phone2, TELEFONO_CEL = afiliado.phone3 == null ? "" : afiliado.phone3, 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 }; //nuevos campos con claves a tablas nuevas var query = db.Stores.OrderBy(x => x.store_code); CLIENTE.STORE_ID = (from q in query.AsEnumerable() where q.store_code == afiliado.storeid.ToString() select q.id).FirstOrDefault(); if (afiliado.occupation == null) { CLIENTE.OCUPACION = afiliado.occupation; } else if (afiliado.occupation.Length > 30) { CLIENTE.OCUPACION = afiliado.occupation.Substring(0, 30); } else { CLIENTE.OCUPACION = afiliado.occupation; } db.CLIENTES.Add(CLIENTE); } else { cliente.E_MAIL = afiliado.email == null ? "" : afiliado.email; cliente.NOMBRE_CLIENTE1 = afiliado.name; cliente.NOMBRE_CLIENTE2 = afiliado.name2 == null ? "" : afiliado.name2; cliente.APELLIDO_CLIENTE1 = afiliado.lastname1 == null ? "" : afiliado.lastname1; cliente.APELLIDO_CLIENTE2 = afiliado.lastname2 == null ? "" : afiliado.lastname2; cliente.FECHA_NACIMIENTO = afiliado.birthdate == null ? new DateTime?() : DateTime.ParseExact(afiliado.birthdate, "dd/MM/yyyy", CultureInfo.InvariantCulture); //cliente.NACIONALIDAD = afiliado.nationality == null ? "" : afiliado.nationality; //cliente.SEXO = afiliado.gender == null ? "" : afiliado.gender; //cliente.EDO_CIVIL = afiliado.maritalstatus == null ? "" : afiliado.maritalstatus; //cliente.COD_SUCURSAL = afiliado.storeid; //nuevos campos con claves a tablas nuevas cliente.NACIONALITY_ID = afiliado.nationality == null ? 0 : Convert.ToInt32(afiliado.nationality); cliente.SEX_ID = afiliado.gender == null ? 0 : Convert.ToInt32(afiliado.gender); cliente.CIVIL_STATUS_ID = afiliado.maritalstatus == null ? 0 : Convert.ToInt32(afiliado.maritalstatus); var query = db.Stores.OrderBy(x => x.store_code); cliente.STORE_ID = (from q in query.AsEnumerable() where q.store_code == afiliado.storeid.ToString() select q.id).FirstOrDefault(); //cliente.OCUPACION = afiliado.occupation == null ? "" : afiliado.occupation; cliente.TELEFONO_HAB = afiliado.phone1; cliente.TELEFONO_OFIC = afiliado.phone2 == null ? "" : afiliado.phone2; cliente.TELEFONO_CEL = afiliado.phone3 == null ? "" : afiliado.phone3; 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; if (afiliado.occupation == null) { cliente.OCUPACION = afiliado.occupation; } else if (afiliado.occupation.Length > 30) { cliente.OCUPACION = afiliado.occupation.Substring(0, 30); } else { cliente.OCUPACION = afiliado.occupation; } } //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; } } //PARA QUE LA IMAGEN DEL DOCUMENTO SEA OPCIONAL //else //{ // return false; //} //ENTIDAD AffiliateAud var affiliateauditoria = new AffiliateAud() { id = AfilliateAudID(), affiliateid = Affiliate.id, modifieduserid = (int)HttpContext.Current.Session["userid"], modifieddate = System.DateTime.Now, statusid = Affiliate.sumastatusid.Value, reasonsid = Globals.ID_REASONS_INICIAL, comments = afiliado.comments }; db.AffiliateAuds.Add(affiliateauditoria); //YA NO SE ENVIARÁ INFORMACIÓN A LA WEB //if (SaveWebPlazas(afiliado)) //{ db.SaveChanges(); return true; //} //else //{ // return false; //} } }
public bool CambiarTipoDocumento(AfiliadoSuma afiliado, string tipoDocumento) { using (LealtadEntities db = new LealtadEntities()) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("SumaLealtad"); // Entidad: Affiliate Affiliate affiliate = db.Affiliates.FirstOrDefault(a => a.id == afiliado.id); if (affiliate != null) { affiliate.docnumber = tipoDocumento + afiliado.docnumber.Substring(1); affiliate.modifieduserid = (int)HttpContext.Current.Session["userid"]; affiliate.modifieddate = System.DateTime.Now; } // Entidad: CLIENTE CLIENTE cliente = db.CLIENTES.FirstOrDefault(c => c.TIPO_DOCUMENTO + "-" + c.NRO_DOCUMENTO == afiliado.docnumber); if (cliente != null) { CLIENTE clienteNuevo = new CLIENTE() { TIPO_DOCUMENTO = tipoDocumento, NRO_DOCUMENTO = cliente.NRO_DOCUMENTO, E_MAIL = cliente.E_MAIL, NOMBRE_CLIENTE2 = cliente.NOMBRE_CLIENTE2, APELLIDO_CLIENTE1 = cliente.APELLIDO_CLIENTE1, APELLIDO_CLIENTE2 = cliente.APELLIDO_CLIENTE2, FECHA_NACIMIENTO = cliente.FECHA_NACIMIENTO, //SEXO = cliente.SEXO, //EDO_CIVIL = cliente.EDO_CIVIL, //COD_SUCURSAL = cliente.COD_SUCURSAL, //nuevos campos con claves a tablas nuevas SEX_ID = Convert.ToInt32(afiliado.gender), CIVIL_STATUS_ID = Convert.ToInt32(afiliado.maritalstatus), OCUPACION = cliente.OCUPACION, TELEFONO_HAB = cliente.TELEFONO_HAB, TELEFONO_OFIC = cliente.TELEFONO_OFIC, TELEFONO_CEL = cliente.TELEFONO_CEL, COD_ESTADO = cliente.COD_ESTADO, COD_CIUDAD = cliente.COD_CIUDAD, COD_MUNICIPIO = cliente.COD_MUNICIPIO, COD_PARROQUIA = cliente.COD_PARROQUIA, COD_URBANIZACION = cliente.COD_URBANIZACION, FECHA_CREACION = cliente.FECHA_CREACION }; //nuevos campos con claves a tablas nuevas var query = db.Stores.OrderBy(x => x.store_code); cliente.STORE_ID = (from q in query.AsEnumerable() where q.store_code == afiliado.storeid.ToString() select q.id).FirstOrDefault(); clienteNuevo.TIPO_DOCUMENTO = tipoDocumento; //NACIONALIDAD => NINGUNA = "0", VENEZOLANO = "1", EXTRANJERO = "2" if (tipoDocumento == "V") { //clienteNuevo.NACIONALIDAD = "1"; //nuevos campos con claves a tablas nuevas clienteNuevo.NACIONALITY_ID = 1; } else if (tipoDocumento == "E" || tipoDocumento == "P") { //clienteNuevo.NACIONALIDAD = "2"; //nuevos campos con claves a tablas nuevas clienteNuevo.NACIONALITY_ID = 2; } else { //clienteNuevo.NACIONALIDAD = "0"; //nuevos campos con claves a tablas nuevas clienteNuevo.NACIONALITY_ID = 0; } db.CLIENTES.Add(clienteNuevo); db.CLIENTES.Remove(cliente); } // Entida: TARJETA //TARJETA tarjeta = db.TARJETAS.FirstOrDefault(t => t.NRO_AFILIACION.Equals(afiliado.id)); Decimal pan = Convert.ToDecimal(afiliado.pan); TARJETA tarjeta = db.TARJETAS.FirstOrDefault(t => t.NRO_TARJETA.Equals(pan)); if (tarjeta != null) { tarjeta.TIPO_DOCUMENTO = tipoDocumento; tarjeta.COD_USUARIO = (int)HttpContext.Current.Session["userid"]; } //Entidad: AffiliateAud //inserto registro por cambio de tipo de documento var affiliateAuditoria = new AffiliateAud() { id = AfilliateAudID(), affiliateid = afiliado.id, modifieduserid = (int)HttpContext.Current.Session["userid"], modifieddate = DateTime.Now, statusid = afiliado.sumastatusid, reasonsid = Globals.ID_REASONS_INICIAL, comments = afiliado.comments }; db.AffiliateAuds.Add(affiliateAuditoria); db.SaveChanges(); return true; } }
public AfiliadoSuma ReiniciarAfiliacionSumaAPrepago(AfiliadoSuma afiliado) { using (LealtadEntities db = new LealtadEntities()) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("SumaLealtad"); Affiliate afiliate = db.Affiliates.FirstOrDefault(a => a.docnumber == afiliado.docnumber); afiliate.sumastatusid = db.SumaStatuses.FirstOrDefault(s => (s.value == Globals.ID_ESTATUS_AFILIACION_INICIAL) && (s.tablename == "Affiliatte")).id; db.SaveChanges(); afiliado.estatus = "Nueva"; afiliado.sumastatusid = db.SumaStatuses.FirstOrDefault(s => (s.value == Globals.ID_ESTATUS_AFILIACION_INICIAL) && (s.tablename == "Affiliatte")).id; return afiliado; } }
public AfiliadoSuma CambiarASuma(AfiliadoSuma afiliado) { afiliado.type = "Suma"; afiliado.typeid = Globals.ID_TYPE_SUMA; return afiliado; }
public bool ReactivarTarjeta(AfiliadoSuma afiliado) { string RespuestaCardsJson = WSL.Cards.cardActive(afiliado.docnumber.Substring(2)); if (WSL.Cards.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 (WSL.Cards.ExceptionServicioCards(clienteCardsJson)) { return false; } ClienteCards clienteCards = (ClienteCards)JsonConvert.DeserializeObject<ClienteCards>(clienteCardsJson); afiliado.pan = clienteCards.pan; afiliado.printed = clienteCards.printed == null ? null : clienteCards.printed.Substring(6, 2) + "/" + clienteCards.printed.Substring(4, 2) + "/" + clienteCards.printed.Substring(0, 4); afiliado.estatustarjeta = clienteCards.tarjeta; afiliado.trackII = Tarjeta.ConstruirTrackII(afiliado.pan); afiliado.cvv2 = "123"; afiliado.comments = ""; return SaveChanges(afiliado); } else { return false; } }
public ActionResult CreateBeneficiarioConTarjeta(AfiliadoSuma Afiliado, HttpPostedFileBase fileNoValidado) { ViewModel viewmodel = new ViewModel(); if (repAfiliado.Save(Afiliado, fileNoValidado)) { BeneficiarioPrepago beneficiario = new BeneficiarioPrepago() { Afiliado = Afiliado, Cliente = repCliente.Find(Afiliado.idClientePrepago) }; if (repBeneficiario.Save(beneficiario)) { int idafiliado = repAfiliado.Find(Afiliado.docnumber, "", "", "", "").First().id; beneficiario.Afiliado = repAfiliado.Find(idafiliado); if (repAfiliado.Aprobar(beneficiario.Afiliado)) { viewmodel.Title = "Prepago / Beneficiario / Crear Afiliación"; viewmodel.Message = "Solicitud de afiliación creada y aprobada exitosamente."; viewmodel.ControllerName = "BeneficiarioPrepago"; viewmodel.ActionName = "FilterReview"; } else { viewmodel.Title = "Prepago / Beneficiario / Crear Afiliación"; viewmodel.Message = "Solicitud de afiliación creada, pero no se pudo aprobar automáticamente."; viewmodel.ControllerName = "BeneficiarioPrepago"; viewmodel.ActionName = "FilterReview"; } } } else { viewmodel.Title = "Prepago / Beneficiario / Crear Afiliación"; viewmodel.Message = "Error de aplicacion: No se pudo crear solicitud de afiliación."; viewmodel.ControllerName = "BeneficiarioPrepago"; viewmodel.ActionName = "FilterReview"; } return RedirectToAction("GenericView", viewmodel); }
public bool SaveChanges(AfiliadoSuma afiliado, HttpPostedFileBase fileNoValidado = null) { using (LealtadEntities db = new LealtadEntities()) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("SumaLealtad"); // 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.sumastatusid = afiliado.sumastatusid; 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.E_MAIL = afiliado.email == null ? "" : afiliado.email; cliente.NOMBRE_CLIENTE1 = afiliado.name; cliente.NOMBRE_CLIENTE2 = afiliado.name2 == null ? string.Empty : afiliado.name2; cliente.APELLIDO_CLIENTE1 = afiliado.lastname1 == null ? "" : afiliado.lastname1; cliente.APELLIDO_CLIENTE2 = afiliado.lastname2 == null ? "" : afiliado.lastname2; cliente.FECHA_NACIMIENTO = afiliado.birthdate == null ? new DateTime?() : DateTime.ParseExact(afiliado.birthdate, "dd/MM/yyyy", CultureInfo.InvariantCulture); //cliente.NACIONALIDAD = afiliado.nationality; //cliente.SEXO = afiliado.gender; //cliente.EDO_CIVIL = afiliado.maritalstatus; //cliente.COD_SUCURSAL = afiliado.storeid; //nuevos campos con claves a tablas nuevas cliente.NACIONALITY_ID = Convert.ToInt32(afiliado.nationality); cliente.SEX_ID = Convert.ToInt32(afiliado.gender); cliente.CIVIL_STATUS_ID = Convert.ToInt32(afiliado.maritalstatus); var query = db.Stores.OrderBy(x=>x.store_code); cliente.STORE_ID = (from q in query.AsEnumerable() where q.store_code == afiliado.storeid.ToString() select q.id).FirstOrDefault(); cliente.TELEFONO_HAB = afiliado.phone1; cliente.TELEFONO_OFIC = afiliado.phone2; cliente.TELEFONO_CEL = afiliado.phone3; 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; if (afiliado.occupation == null) { cliente.OCUPACION = afiliado.occupation; } else if (afiliado.occupation.Length > 30) { cliente.OCUPACION = afiliado.occupation.Substring(0, 30); } else { cliente.OCUPACION = afiliado.occupation; } } // Entida: TARJETA //TARJETA tarjeta = db.TARJETAS.FirstOrDefault(t => t.NRO_AFILIACION.Equals(afiliado.id)); Decimal pan = Convert.ToDecimal(afiliado.pan); TARJETA tarjeta = db.TARJETAS.FirstOrDefault(t => t.NRO_TARJETA.Equals(pan)); if (tarjeta != null) { tarjeta.NRO_AFILIACION = afiliado.id; tarjeta.ESTATUS_TARJETA = afiliado.estatustarjeta; tarjeta.COD_USUARIO = (int)HttpContext.Current.Session["userid"]; tarjeta.TRACK2 = afiliado.trackII; tarjeta.CVV2 = afiliado.cvv2; tarjeta.FECHA_CREACION = afiliado.printed == null ? new DateTime?() : DateTime.ParseExact(afiliado.printed, "dd/MM/yyyy", CultureInfo.InvariantCulture); } else if (afiliado.pan != null && afiliado.estatustarjeta != null) { tarjeta = new TARJETA() { NRO_TARJETA = 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 = afiliado.trackII, CVV2 = afiliado.cvv2, FECHA_CREACION = afiliado.printed == null ? new DateTime?() : DateTime.ParseExact(afiliado.printed, "dd/MM/yyyy", CultureInfo.InvariantCulture) }; 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 sumastatusidactual = (from a in db.Affiliates where a.id.Equals(afiliado.id) select a.sumastatusid ).SingleOrDefault().Value; //Solo inserto registros cuando hay cambio de estado de Afiliación if (sumastatusidactual != afiliado.sumastatusid) { var affiliateAuditoria = new AffiliateAud() { id = AfilliateAudID(), affiliateid = afiliado.id, modifieduserid = (int)HttpContext.Current.Session["userid"], modifieddate = DateTime.Now, statusid = afiliado.sumastatusid, reasonsid = Globals.ID_REASONS_INICIAL, comments = afiliado.comments }; db.AffiliateAuds.Add(affiliateAuditoria); } //YA NO SE ENVIARÁ INFORMACIÓN A LA WEB //if (SaveWebPlazas(afiliado)) //{ //ENTIDAD Photos_Affiliate if (fileNoValidado != null) { try { int length = fileNoValidado.ContentLength; byte[] buffer = new byte[length]; fileNoValidado.InputStream.Read(buffer, 0, length); Photos_Affiliate photos_affiliate = db.Photos_Affiliates.FirstOrDefault(x => x.Affiliate_id == afiliado.id); if (photos_affiliate == null) { photos_affiliate = new Photos_Affiliate() { photo = buffer, photo_type = fileNoValidado.ContentType, Affiliate_id = afiliado.id }; db.Photos_Affiliates.Add(photos_affiliate); } else { photos_affiliate.photo = buffer; photos_affiliate.photo_type = fileNoValidado.ContentType; } } catch { } } db.SaveChanges(); return true; //} //else //{ // return false; //} } }
public ActionResult EditBeneficiarioSuma(AfiliadoSuma Afiliado, HttpPostedFileBase fileNoValidado) { ViewModel viewmodel = new ViewModel(); if (repAfiliado.SaveChanges(Afiliado, fileNoValidado)) { BeneficiarioPrepago beneficiario = new BeneficiarioPrepago() { Afiliado = Afiliado, Cliente = repCliente.Find(Afiliado.idClientePrepago) }; if (repBeneficiario.Save(beneficiario)) { viewmodel.Title = "Prepago / Beneficiario / Crear Afiliación"; viewmodel.Message = "Solicitud de afiliación creada exitosamente."; viewmodel.ControllerName = "BeneficiarioPrepago"; viewmodel.ActionName = "FilterReview"; } } else { viewmodel.Title = "Prepago / Beneficiario / Crear Afiliación"; viewmodel.Message = "Error de aplicacion: No se pudo crear solicitud de afiliación."; viewmodel.ControllerName = "BeneficiarioPrepago"; viewmodel.ActionName = "FilterReview"; } return RedirectToAction("GenericView", viewmodel); }
public bool SuspenderTarjeta(AfiliadoSuma afiliado, string observaciones) { string RespuestaCardsJson = WSL.Cards.cardStatus(afiliado.docnumber.Substring(2), Globals.ID_ESTATUS_TARJETA_SUSPENDIDA); if (WSL.Cards.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 (WSL.Cards.ExceptionServicioCards(clienteCardsJson)) { return false; } ClienteCards clienteCards = (ClienteCards)JsonConvert.DeserializeObject<ClienteCards>(clienteCardsJson); afiliado.pan = clienteCards.pan; afiliado.printed = clienteCards.printed == null ? null : clienteCards.printed.Substring(6, 2) + "/" + clienteCards.printed.Substring(4, 2) + "/" + clienteCards.printed.Substring(0, 4); afiliado.estatustarjeta = clienteCards.tarjeta; afiliado.trackII = Tarjeta.ConstruirTrackII(afiliado.pan); afiliado.cvv2 = "123"; afiliado.comments = "Tarjeta suspendida, fecha: " + DateTime.Now + ", observaciones: " + observaciones; return SaveChanges(afiliado); } else { return false; } }
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 bool EliminarAfiliacion(AfiliadoSuma afiliado, string observaciones) { using (LealtadEntities db = new LealtadEntities()) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("SumaLealtad"); afiliado.estatus = "Eliminada"; afiliado.sumastatusid = db.SumaStatuses.FirstOrDefault(s => (s.value == Globals.ID_ESTATUS_AFILIACION_ELIMINADA) && (s.tablename == "Affiliatte")).id; afiliado.comments = observaciones; return SaveChanges(afiliado); } }
public ActionResult FilterReview() { AfiliadoSuma afiliado = new AfiliadoSuma(); return View(afiliado); }
public SaldosMovimientos FindSaldosMovimientos(AfiliadoSuma afiliado) { SaldosMovimientos SaldosMovimientos = new SaldosMovimientos(); SaldosMovimientos.DocId = afiliado.docnumber; string saldosJson = WSL.Cards.getBalance(SaldosMovimientos.DocId.Substring(2)); if (WSL.Cards.ExceptionServicioCards(saldosJson)) { return null; } SaldosMovimientos.Saldos = (List<Saldo>)JsonConvert.DeserializeObject<List<Saldo>>(saldosJson); string movimientosPrepagoJson = WSL.Cards.getBatch(Globals.TIPO_CUENTA_PREPAGO, SaldosMovimientos.DocId.Substring(2)); if (WSL.Cards.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(20).ToList(); foreach (Movimiento mov in SaldosMovimientos.MovimientosPrepago) { mov.fecha = mov.fecha.Substring(6, 2) + "/" + mov.fecha.Substring(4, 2) + "/" + mov.fecha.Substring(0, 4); mov.batchtime = mov.batchtime.Substring(0, 2) + ":" + mov.batchtime.Substring(2, 2) + ":" + mov.batchtime.Substring(4, 2); mov.fechahora = DateTime.ParseExact(mov.fecha + " " + mov.batchtime, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture); if (mov.transcode == Globals.TRANSCODE_ANULACION_RECARGA_PREPAGO || mov.transcode == Globals.TRANSCODE_ANULACION_TRANSFERENCIA_CREDITO_PREPAGO || mov.transcode == Globals.TRANSCODE_ANULACION_TRANSFERENCIA_DEBITO_PREPAGO) { mov.isodescription = mov.isodescription + " (" + mov.b037 + ")"; } if (mov.isodescription.Contains("offline")) { //buscar info en FueraDeLinea using (LealtadEntities db = new LealtadEntities()) { db.Database.Connection.ConnectionString = AppModule.ConnectionString("SumaLealtad"); string operacion = mov.batchid.ToString(); FueraDeLinea f = db.FueraDeLineas.FirstOrDefault(t => t.batchid.Equals(operacion)); if (f != null) { string sucursal = afiliado.StoreOptions.Where(c => c.id != null).FirstOrDefault(x => x.id.Equals(f.store_code)).sucursal; mov.isodescription = mov.isodescription + " (origen: " + sucursal + ", motivo: " + f.observaciones + ")"; } } } } string movimientosLealtadJson = WSL.Cards.getBatch(Globals.TIPO_CUENTA_SUMA, SaldosMovimientos.DocId.Substring(2)); if (WSL.Cards.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(20).ToList(); foreach (Movimiento mov in SaldosMovimientos.MovimientosSuma) { mov.fecha = mov.fecha.Substring(6, 2) + "/" + mov.fecha.Substring(4, 2) + "/" + mov.fecha.Substring(0, 4); mov.batchtime = mov.batchtime.Substring(0, 2) + ":" + mov.batchtime.Substring(2, 2) + ":" + mov.batchtime.Substring(4, 2); mov.fechahora = DateTime.ParseExact(mov.fecha + " " + mov.batchtime, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture); if (mov.transcode == Globals.TRANSCODE_ANULACION_TRANSFERENCIA_CREDITO_SUMA || mov.transcode == Globals.TRANSCODE_ANULACION_TRANSFERENCIA_DEBITO_SUMA) { mov.isodescription = mov.isodescription + " (" + mov.b037 + ")"; } if (mov.transcode == Globals.TRANSCODE_CANJE_SUMA || mov.transcode == Globals.TRANSCODE_TRANSFERENCIA_DEBITO_SUMA || mov.transcode == Globals.TRANSCODE_ANULACION_TRANSFERENCIA_CREDITO_SUMA) { mov.saldo = mov.saldo * Convert.ToInt32(Globals.FACTOR_CANJE); } } return SaldosMovimientos; }