public bool loginTaxista(string codigoTaxista, string apikey) { //variables de twilio string AccountSid = Constantes.ACCOUNT_SID_CABSPOT; string AuthToken = Constantes.AUTH_TOKEN_CABSPOT; var twilio = new TwilioRestClient(AccountSid, AuthToken); //buscar el taxista que tiene ese codigoTaxista if (!string.IsNullOrEmpty(codigoTaxista) && !string.IsNullOrEmpty(apikey)) { var taxistasCodigo = (from t in db.taxistas where t.codigoTaxista.Equals(codigoTaxista) select t); //taxistas.BuscarPorCodigo(codigoTaxista); taxistas taxistaLogin = null; if(taxistasCodigo.Count() > 0) { taxistaLogin = taxistasCodigo.First(); taxistaLogin.apikey = apikey; db.Entry(taxistaLogin).State = EntityState.Modified; db.SaveChanges(); } else { return false; } if (taxistaLogin != null) { //enviar mensaje de texto autenticacionsmstaxista sms = taxistas.generarCodigoTaxista(taxistaLogin.idTaxista); if (sms != null) { try { //formato EI64 para el numero var numero = contactos.FormatearCelular(taxistaLogin.personas.contactos.telefonoMovil); //si el numero no esta en el formato correcto SALIR if (numero == null) { return false; } //enviando mensaje var message = twilio.SendMessage(Constantes.PHONE_CABSPOT, numero, Constantes.Mensaje_Codigo + sms.codigo); //guardando apikey try { //actualizar entidad taxistaLogin.apikey = apikey; db.Entry(taxistaLogin).State = EntityState.Modified; db.SaveChanges(); } catch (Exception e) { } //respuesta si el mensaje fue enviado o no if (!string.IsNullOrEmpty(message.Sid)) return true; return false; } catch (Exception e) { return false; } } return false; } return false; } return false; }
public IHttpActionResult autenticarTaxista(string codigoVerificacion) { if (!string.IsNullOrEmpty(codigoVerificacion)) { //buscar codigo en tabla autenticacionsmstaxista autenticacionsmstaxista sms = new autenticacionsmstaxista();// = autenticacionsmstaxista.getAutenticacionSMS(codigoVerificacion); var listaSMS = from l in db.autenticacionSmsTaxista where l.codigo.Equals(codigoVerificacion) select l; if (listaSMS.Count() > 0) { sms = listaSMS.FirstOrDefault(); } if (sms != null) { //revisar codigo no ha sido verificado if (!sms.verificado) { //buscar taxista taxistas taxista = db.taxistas.Find(sms.idTaxista); if (taxista != null) { //cambio de verificado en DB sms.verificado = true; var vehiculos = taxista.vehiculos.Where(v => v.idEstadoVehiculo == 31); //cambiando estado del taxista a disponible si tiene por lo menos un vehiculo activo if (vehiculos.Count() > 0 && taxista.idEstadoDisponibilidad != 81) { taxista.idEstadoDisponibilidad = 81; } try { //actualizando en bd db.Entry(sms).State = EntityState.Modified; db.Entry(taxista).State = EntityState.Modified; db.SaveChanges(); //devolver taxista //return Ok(taxista); return getVehiculos(taxista.idTaxista); //Ok(vehiculosEnviar); } catch (Exception e) { return BadRequest(); } } else { return BadRequest(); } } else { return BadRequest(); } } else { return NotFound(); } } else { return BadRequest(); } }