Esempio n. 1
0
        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);
        }
Esempio n. 3
0
        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 = "",
                });
            }
        }
Esempio n. 4
0
        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);
                }
            });
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
 public void Setup()
 {
     _validator = new CheckinRequestValidator();
     _validSegmentCheckinRequest = new CheckinRequest
     {
         SegmentId = "1234abcd",
         Pax       = new List <string> {
             "abc345", "2356test"
         }
     };
 }
Esempio n. 8
0
        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, ""));
        }
Esempio n. 9
0
        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
                });
            }
        }
Esempio n. 10
0
        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);
        }
Esempio n. 14
0
        //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, ""));
        }
Esempio n. 15
0
        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);
            }
        }
Esempio n. 16
0
        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();
        }