public async void submit(Stream image, int calificacion) { string idfoto = DateTime.Now.ToString().Replace(" ", "").Replace(".", "").Replace("/", "").Replace(":", ""); var responseImagen = await apiService.SetFileAsync(idfoto, 4, image); if (responseImagen.IsSuccess) { visita.idCliente = clienteSelectItem.idCliente; visita.IdVendedor = App.VendedorActual.IdVendedor; visita.Fecha = DateTime.Now; //Se debe modificar el id tipo visita para cuando se tenga mas de un tipo de visita visita.idTipoVisita = 0; visita.Calificacion = calificacion; visita.Firma = responseImagen.Resultado.ToString(); CheckinRequest checkData = new CheckinRequest { visita = visita, compromisos = ListaCompromiso }; var response = await apiService.Checkin(checkData); if (response.IsSuccess) { await dialogService.ShowMessage("Ok", "Visita registrada correctamente"); navigationService.NavigateBack(); return; } await dialogService.ShowMessage("Error", "Visita no registrada"); } }
public async Task <bool> CheckinEpisode(TraktEpisodeHeader episode, DateTimeOffset watchedAt) { var accessToken = await _authenticator.GetAccessToken(); if (accessToken == null) { return(false); } var request = new CheckinRequest { Episodes = new List <CheckinEpisode> { new CheckinEpisode { WatchedAt = watchedAt, Ids = episode.Ids } } }; var url = "https://api.trakt.tv/sync/history"; var message = new HttpRequestMessage(HttpMethod.Post, url); message.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); message.Content = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); var response = await _httpClient.SendAsync(message); return(response.IsSuccessStatusCode); }
public async Task <Response> Checkin(CheckinRequest visita) { try { var request = JsonConvert.SerializeObject(visita); var content = new StringContent(request, Encoding.UTF8, "application/json"); var client = new HttpClient(); client.BaseAddress = new Uri(Constants.Constants.VentasWS); var url = "api/Vista/Insertar"; var response = await client.PostAsync(url, content); if (!response.IsSuccessStatusCode) { return(new Response { IsSuccess = false, Message = "error", });; } var result = await response.Content.ReadAsStringAsync(); var visitadata = JsonConvert.DeserializeObject <Response>(result); return(visitadata); // var log = JsonConvert.DeserializeObject<LogPosition>(result); } catch (Exception ex) { return(new Response { IsSuccess = false, Message = "", }); } }
public void Checkin(CheckinRequest request, Action <CheckinResponse> success, Action <Exception> error) { if (LocalCredentials.Current != null && string.IsNullOrEmpty(LocalCredentials.Current.UserId)) { throw new UserIgnoreException(); } MostRecentCheckinRequest = request; var uuri = FourSquareWebClient.BuildFourSquareUri( "checkins/add", GeoMethodType.Optional, request.GetRestParameters()); var r = new FourSquareServiceRequest { Uri = uuri.Uri, PostString = string.Empty }; var token = CentralStatusManager.Instance.BeginLoading(); // NICE: Simplify by adding a new CallAsync method that returns JSON. r.CallAsync( (str, ex) => { token.Complete(); Exception exx = ex; try { var json = FourSquareDataLoaderBase <LoadContext> .ProcessMetaAndNotificationsReturnJson(str, request.VenueId); var response = CheckinResponse.ParseJson(json); success(response); var ias = Application.Current as IAnalyticsSettings; if (ias != null) { var ai = ias.AnalyticsInfo; if (ai != null) { // Increment the app's check-in counter. ai.Checkins++; // FourSquareApp.Instance.AnalyticsInfo.Checkins++; } } } catch (Exception e) { exx = e; } if (exx != null) { error(exx); } }); }
public HttpResponseMessage CheckForAttendee([FromBody] CheckinRequest request) { var userId = _jwtService.GetUserIDFromToken(request.JWT); var eventMan = new EventManager(); var response = eventMan.IsAttendee(request.EventId, userId); return(response); }
public HttpResponseMessage EventCheckIn([FromBody] CheckinRequest request) { var userId = _jwtService.GetUserIDFromToken(request.JWT); var EventMan = new EventManager(); var response = EventMan.CheckIn(request.EventId, userId, request.CheckinCode); return(response); }
public void Setup() { _validator = new CheckinRequestValidator(); _validSegmentCheckinRequest = new CheckinRequest { SegmentId = "1234abcd", Pax = new List <string> { "abc345", "2356test" } }; }
public static async Task <VerificationResult> VerifyAccountAsync(JodelUser jodelUser) { var checkinRequestProto = new CheckinRequest { checkin = new CheckinRequest.Checkin { build = new CheckinRequest.Checkin.Build { sdkVersion = 18 } }, version = 3, fragment = 0 }; var data = SerializeToByteArray(checkinRequestProto); var webClient = new WebClient(); webClient.Headers.Add("Content-Type", "application/x-protobuffer"); webClient.Headers.Add("Accept-Encoding", "deflate"); webClient.Headers.Add("User-Agent", "Android-Checkin/2.0 (vbox86p JLS36G); deflate"); var checkinResponseString = await webClient.UploadDataTaskAsync("https://android.clients.google.com/checkin", data); CheckinResponse checkinResponseProto; try { checkinResponseProto = ProtoBuf.Serializer.Deserialize <CheckinResponse>(new MemoryStream(checkinResponseString)); } catch (Exception) { return(new VerificationResult(false, "Couldn't deserialize CheckinProtoResponse.")); } var registerPostData = "app=com.tellm.android.app&app_ver=1001800&cert=a4a8d4d7b09736a0f65596a868cc6fd620920fb0&device=" + checkinResponseProto.androidId + "&sender=425112442765&X-appid=" + Guid.NewGuid().ToString("n").Substring(0, 11) + "&X-scope=GCM"; webClient.Headers.Clear(); webClient.Headers.Add("Authorization", "AidLogin " + checkinResponseProto.androidId + ":" + checkinResponseProto.securityToken); webClient.Headers.Add("Accept", "*/*"); webClient.Headers.Add("Accept-Encoding", "deflate"); webClient.Headers.Add("User-Agent", "Android-Checkin/2.0 (vbox86p JLS36G); deflate"); webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); var registerTokenResponseString = await webClient.UploadStringTaskAsync("https://android.clients.google.com/c2dm/register3", registerPostData); if (!registerTokenResponseString.Contains("token")) { return(new VerificationResult(false, "Couldn't register c2dm token.")); } var registerToken = registerTokenResponseString.Replace("token=", ""); var verificationResult = await jodelUser.VerifyInstanceIdAsync(registerToken); return(!verificationResult.Verified ? new VerificationResult(false, "Couldn't verify using c2dm token.") : new VerificationResult(true, "")); }
public async Task <Response> Insertar(CheckinRequest visita) { try { var client = db.Cliente.Where(x => x.idCliente == visita.visita.idCliente).FirstOrDefault(); //Para obtener el id de la visita por si solo existe una para evitarnos el enviar quemada el tipo de visita var idtipovisita = db.TipoVisita.Where(x => x.idEmpresa == client.Vendedor.AspNetUsers.IdEmpresa).Select(y => y.idTipoVisita).FirstOrDefault(); visita.visita.Latitud = client.Latitud; visita.visita.Longitud = client.Longitud; if (visita.visita.idTipoVisita == 0) { visita.visita.idTipoVisita = idtipovisita; } db.Visita.Add(visita.visita); await db.SaveChangesAsync(); if (visita.compromisos != null) { var visitaid = visita.visita.idVisita; foreach (var item in visita.compromisos) { item.idVisita = visitaid; db.Compromiso.Add(item); } await db.SaveChangesAsync(); } return(new Response { IsSuccess = true, }); } catch (Exception ex) { return(new Response { IsSuccess = false, Message = ex.Message }); } }
public void OnCheckin(Session session, CheckinRequest request, CheckinResponse response) { Console.WriteLine("Checkin Message"); response.Ok = true; response.Resensitize = false; response.MagneticMedia = null; response.Alert = false; response.TransactionDate = DateTime.Now; response.InstitutionId = " -=xXx=- "; response.ItemIdentifier = "Item Id"; response.PermanentLocation = "Permanent Location"; response.TitleIdentifier = "Title Id"; response.SortBin = "Sort bin..."; response.PatronIdentifier = "Patron id"; response.MediaType = MediaType.BOOK_WITH_AUDIO_TAPE; response.ItemProperties = "Propst"; response.MagneticMedia = true; response.ScreenMessage = "Screen message"; response.PrintLine = "Print Line"; }
public void Test_CheckinRequest_2_Returns_Valid_UriPathParameters() { var request = new CheckinRequest <int, RequestBodyMock>(); request.GetUriPathParameters().Should().NotBeNull().And.HaveCount(0); }
public void Test_CheckinRequest_2_Has_Valid_UriTemplate() { var request = new CheckinRequest <int, RequestBodyMock>(); request.UriTemplate.Should().Be("checkin"); }
public void Test_CheckinRequest_2_Has_AuthorizationRequirement_Required() { var request = new CheckinRequest <int, RequestBodyMock>(); request.AuthorizationRequirement.Should().Be(AuthorizationRequirement.Required); }
//todo: not 100% async yet public static async Task <VerificationResult> VerifyAccountAsync(JodelUser jodelUser) { var checkinRequestProto = new CheckinRequest { checkin = new CheckinRequest.Checkin { build = new CheckinRequest.Checkin.Build { sdkVersion = 18 } }, version = 3, fragment = 0 }; var data = SerializeToByteArray(checkinRequestProto); var webClient = new WebClient(); webClient.Headers.Add("Content-Type", "application/x-protobuffer"); webClient.Headers.Add("Accept-Encoding", "deflate"); webClient.Headers.Add("User-Agent", "Android-Checkin/2.0 (vbox86p JLS36G); deflate"); var checkinResponseString = await webClient.UploadDataTaskAsync("https://android.clients.google.com/checkin", data); CheckinResponse checkinResponseProto; try { checkinResponseProto = ProtoBuf.Serializer.Deserialize <CheckinResponse>(new MemoryStream(checkinResponseString)); } catch (Exception) { return(new VerificationResult(false, "Couldn't deserialize CheckinProtoResponse.")); } var registerPostData = "app=com.tellm.android.app&app_ver=1001800&cert=a4a8d4d7b09736a0f65596a868cc6fd620920fb0&device=" + checkinResponseProto.androidId + "&sender=425112442765&X-appid=" + Guid.NewGuid().ToString("n").Substring(0, 11) + "&X-scope=GCM"; webClient.Headers.Clear(); webClient.Headers.Add("Authorization", "AidLogin " + checkinResponseProto.androidId + ":" + checkinResponseProto.securityToken); webClient.Headers.Add("Accept", "*/*"); webClient.Headers.Add("Accept-Encoding", "deflate"); webClient.Headers.Add("User-Agent", "Android-Checkin/2.0 (vbox86p JLS36G); deflate"); webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); var registerTokenResponseString = await webClient.UploadStringTaskAsync("https://android.clients.google.com/c2dm/register3", registerPostData); if (!registerTokenResponseString.Contains("token")) { return(new VerificationResult(false, "Couldn't register c2dm token.")); } var registerToken = registerTokenResponseString.Replace("token=", ""); var tokenPushed = await jodelUser.PushTokenAsync(registerToken); if (!tokenPushed) { return(new VerificationResult(false, "Couldn't push c2dm token.")); } var loginRequestProto = new LoginRequest { auth_service = 2, auth_token = checkinResponseProto.securityToken.ToString(), id = "android-11", domain = "mcs.android.com", device_id = "android-" + checkinResponseProto.androidId.ToString("X"), resource = checkinResponseProto.androidId.ToString(), user = checkinResponseProto.androidId.ToString(), use_rmq2 = true, account_id = (long)checkinResponseProto.androidId }; //lazy hack var verificationResponse = await Task.Run(() => GetGcmVerificationCode(loginRequestProto)); if (!verificationResponse.Success) { return(verificationResponse); } var verificationData = verificationResponse.Message; if (!verificationData.Contains("verification_code")) { return(new VerificationResult(false, "MCS server didn't contain verification_code field.")); } var serverTime = Regex.Match(verificationData, "\"server_time\":(.*?),").Groups[1].Value; var verificationToken = Regex.Match(verificationData, "\"verification_code\":\"(.*?)\"").Groups[1].Value; var verifiedPushToken = await jodelUser.VerifyPushTokenAsync(serverTime, verificationToken); return(!verifiedPushToken ? new VerificationResult(false, "Couldn't verify c2dm token.") : new VerificationResult(true, "")); }
private bool checkin(out string id, out string token) { util.debugWriteLine("app push checkin"); id = token = null; try { var url = "http://android.clients.google.com/checkin"; var cr = new CheckinRequest(); //cr.Imei = "109269993813709";// # "".join(random.choice("0123456789") for _ in range(15)) cr.Imei = "000000000000000"; // # "".join(random.choice("0123456789") for _ in range(15)) cr.androidId = 0; var build = new CheckinRequest.Checkin.Build(); build.Fingerprint = "google/razor/flo:5.0.1/LRX22C/1602158:user/release-keys"; build.Hardware = "flo"; build.Brand = "google"; build.Radio = "FLO-04.04"; //build.bootloader = "FLO-04.04" build.clientId = "android-google"; var checkinM = new CheckinRequest.Checkin(); checkinM.build = build; cr.checkin = checkinM; cr.checkin.lastCheckinMs = 0; cr.Locale = "en"; //cr.loggingId = random.getrandbits(63) cr.loggingId = 1; //cr.marketCheckin //cr.macAddress.append("".join(random.choice("ABCDEF0123456789") for _ in range(12))) //cr.MacAddress.Add("47D435B5CCCA"); cr.macAddresses.Add("111111111111"); //cr.meid = "".join(random.choice("0123456789") for _ in range(14)) cr.Meid = "01234567890123"; cr.accountCookies.Add(""); cr.timeZone = "GMT"; cr.Version = 3; cr.otaCerts.Add("--no-output--"); // 71Q6Rn2DDZl1zPDVaaeEHItd //cr.serial //cr.esn = "".join(random.choice("ABCDEF0123456789") for _ in range(8)) cr.Esn = "01234567"; //cr.deviceConfiguration cr.macAddressTypes.Add("wifi"); cr.Fragment = 0; //cr.username cr.userSerialNumber = 0; //var postDataBytes = cr.ToByteArray(); byte[] postDataBytes; using (var ms = new MemoryStream()) { Serializer.Serialize(ms, cr); postDataBytes = ms.ToArray(); } //foreach (var _p in postDataBytes) Debug.Write((char)_p); //util.debugWriteLine(""); //foreach (var _p in postDataBytes) Debug.Write(_p + " "); //util.debugWriteLine(""); //var reqCoded = new CodedOutputStream( /* * byte[] seby; * using( MemoryStream stream = new MemoryStream()) * { * cr.WriteTo(stream); * seby = stream.ToArray(); * } */ var headers = new Dictionary <string, string>() { { "contenttype", "application/x-protobuffer" }, { "useragent", "Android-Checkin/2.0 (vbox86p JLS36G); gzip" } }; var rb = util.postResBytes(url, headers, postDataBytes); if (rb == null) { util.debugWriteLine("checkin post error"); check.form.addLogText("スマホ通知のチェックインのPOSTに失敗しました"); return(false); } using (var ms = new MemoryStream(rb)) { var checkinRes = new CheckinResponse(); checkinRes = Serializer.Deserialize <CheckinResponse>(ms); util.debugWriteLine("androidId " + checkinRes.androidId); util.debugWriteLine("securityToken " + checkinRes.securityToken); id = checkinRes.androidId.ToString(); token = checkinRes.securityToken.ToString(); return(true); } /* * var parser = new Google.Protobuf.MessageParser<CheckinResponse>(() => new CheckinResponse()); * using (var ms = new MemoryStream(rb)) { * var checkinRes = parser.ParseFrom(ms); * util.debugWriteLine("androidId " + checkinRes.AndroidId); * util.debugWriteLine("securityToken " + checkinRes.SecurityToken); * id = checkinRes.AndroidId.ToString(); * token = checkinRes.SecurityToken.ToString(); * return true; * } */ } catch (Exception e) { util.debugWriteLine(e.Message + e.Source + e.StackTrace + e.TargetSite); check.form.addLogText("スマホ通知のチェックインの取得中にエラーが発生しました" + e.Message + e.Source + e.StackTrace + e.TargetSite); return(false); } }
private void CheckIn(ThermostatMonitorLib.Location location) { StreamReader reader = new StreamReader(Request.InputStream, Request.ContentEncoding); string jsonInput = reader.ReadToEnd(); reader.Close(); reader.Dispose(); CheckinRequest request = CheckinRequest.Load(location, jsonInput); CheckinResponse response = new CheckinResponse(); //Update inside temperature and thermostat state foreach (Thermostat thermostat in request.Thermostats) { string key = location.Id.ToString() + "_" + thermostat.IpAddress; Thermostat previousThermostat = new Thermostat(); if (Thermostats.Cache.ContainsKey(key)) { previousThermostat = (Thermostat)Thermostats.Cache[key]; } if (thermostat.Temperature != previousThermostat.Temperature) { LogTemperatureChange(location.Id, thermostat, previousThermostat); } if (thermostat.State != previousThermostat.State) { LogStateChange(location.Id, thermostat, previousThermostat); } Thermostats.Cache[key] = thermostat; } //Update outside temperature response.ZipCode = request.ZipCode; string cacheKey = "OutsideTemperature" + location.Id.ToString(); if (Cache.Get(cacheKey) == null) { try { response.OutsideTemperature = ThermostatMonitorLib.Weather.GetTemperature(location.OpenWeatherCityId); Cache.Add(cacheKey, response.OutsideTemperature, null, DateTime.Now.AddMinutes(4).AddSeconds(30), TimeSpan.Zero, System.Web.Caching.CacheItemPriority.Normal, null); } catch {} } else { response.OutsideTemperature = Convert.ToInt32(Cache.Get(cacheKey)); } int previousTemperature = -999; if (CheckinResponse.ConditionHash.ContainsKey(location.Id)) { previousTemperature = Convert.ToInt32(CheckinResponse.ConditionHash[location.Id]); } if (response.OutsideTemperature != previousTemperature && response.OutsideTemperature != 0) { ThermostatMonitorLib.OutsideCondition.Log(location.Id, response.OutsideTemperature); } CheckinResponse.ConditionHash[location.Id] = response.OutsideTemperature; //Add any pending commands to the response response.ReplyCommands = Commands.Get(location.Id); Commands.Remove(location.Id); try { Thermostats.CleanCache(); } catch (Exception ex) { ThermostatMonitorLib.Error error = new ThermostatMonitorLib.Error(); error.ErrorMessage = ex.ToString(); error.LogDate = DateTime.Now; error.UserId = 0; error.Url = "/json/default.aspx"; ThermostatMonitorLib.Error.SaveError(error); } Response.Write(response.GetJson()); Response.End(); }