protected async Task <T> BeforeSendRequestUploadFile <T, TInput>(string apiPath, Dictionary <string, object> postParameters, int userId)
            where T : MCResponseModelBase
        {
            _requestMessage = new HttpRequestMessage();
            _requestMessage.Headers.Add("xdncode", _xdnCode);
            var token = await GetUserToken(userId);

            try
            {
                string requestURL = $"{_baseUrl}/{apiPath}";

                string userAgent = "vietbank";
                postParameters.Add("token", token);
                var response = await FormUpload.MultipartFormPost <T>(requestURL, userAgent, postParameters, "xdncode", _xdnCode, token);

                await _rpLog.InsertLog($"BeforeSendRequestUploadFile - {apiPath}", response == null? "response = null" : response.Dump());

                return(response.Data);
            }
            catch (Exception exp)
            {
                await _rpLog.InsertLog($"BeforeSendRequestUploadFile - {apiPath}", exp.InnerException == null?exp.Dump() : exp.InnerException.Dump());

                return(null);
            }
        }
Exemple #2
0
        public CreatePackagePage()
        {
            InitializeComponent();
//#if DEBUG
//            requestURL = "https://us-central1-e0-rasvada.cloudfunctions.net/PageExpDisplay";
//#endif

            experiences = new ExperiencesList
            {
                Experience = new List <Experience>
                {
                    new Experience()
                    {
                        Seasons = new List <string>()
                        {
                        }
                    }
                }
            };
            experiencesinpackage = new ExperiencesList
            {
                Experience = new List <Experience>
                {
                    new Experience()
                    {
                        Seasons = new List <string>()
                        {
                        }
                    }
                }
            };
            experiencesinpackage.Experience.Clear();
            try
            {
                Dictionary <string, object> postParameters = new Dictionary <string, object>();
                postParameters.Add("UserId", Application.Current.Properties["User"]);
                HttpWebResponse webResponse        = FormUpload.MultipartFormPost(requestURL, "someone", postParameters, "", "");
                StreamReader    responseReader     = new StreamReader(webResponse.GetResponseStream());
                string          returnResponseText = responseReader.ReadToEnd();
                //rassavadaEntity = JsonConvert.DeserializeObject<RassavadaEntity>(returnResponseText);

                experiences = JsonConvert.DeserializeObject <ExperiencesList>(returnResponseText);
                webResponse.Close();
            }
            catch (Exception e)
            {
                DisplayAlert("No Internet", "Please check your internet connection", "Ok");
            }


            PlaceCollectionView.ItemsSource = experiences.Experience;
        }
Exemple #3
0
        public App()
        {
            string returnResponseText = "";

            InitializeComponent();
            APIHelper.InitialiseClient();
            try
            {
//#if DEBUG
//                requestURL = "https://us-central1-e0-rasvada.cloudfunctions.net/Register";
//#endif
                requestURL = "https://us-central1-e0-trouvailler.cloudfunctions.net/Register";
                Dictionary <string, object> postParameters = new Dictionary <string, object>();
                postParameters.Add("UserId", Application.Current.Properties["User"]);
                HttpWebResponse webResponse    = FormUpload.MultipartFormPost(requestURL, "someone", postParameters, "", "");
                StreamReader    responseReader = new StreamReader(webResponse.GetResponseStream());
                returnResponseText = responseReader.ReadToEnd();
                webResponse.Close();
            }
            catch (Exception e) { }
            //MainPage = new NavigationPage(new HomePage(new Models.RassavadaEntity() { }))

            if (Application.Current.Properties.ContainsKey("User"))
            {
                if (returnResponseText == "true")
                {
                    MainPage = new NavigationPage(new HomePage())
                    {
                        BarBackgroundColor = Color.FromHex("#0BBE22")
                    };
                }
                else
                {
                    MainPage = new NavigationPage(new GetStartedPage())
                    {
                        BarBackgroundColor = Color.FromHex("#0BBE22")
                    };
                }
            }
            else
            {
                MainPage = new NavigationPage(new LoginPage())
                {
                    BarBackgroundColor = Color.FromHex("#0BBE22")
                };
            }
        }
Exemple #4
0
        private async void Next(object sender, EventArgs e)
        {
            try
            {
                if (CostEntry.Text != "" && DetailEntry.Text != "" && NameEntry.Text != "")
                {
                    await PopupNavigation.Instance.PushAsync(new LoadingPopup());

                    SaveSvg.IsEnabled = false;
                    //package.Cost = float.Parse(CostEntry.Text);
                    package.Detail = DetailEntry.Text;
                    package.Name   = NameEntry.Text;
                    package.Cost   = CostEntry.Text;
                    var json = JsonConvert.SerializeObject(package);
                    Dict = JsonConvert.DeserializeObject <Dictionary <string, object> >(json);

                    postParameters = Dict;

                    postParameters.Add("UserId", Application.Current.Properties["User"]);
                    HttpWebResponse webResponse = FormUpload.MultipartFormPost(requestURL, "someone", postParameters, "", "");
                    // Process response
                    StreamReader responseReader     = new StreamReader(webResponse.GetResponseStream());
                    var          returnResponseText = responseReader.ReadToEnd();
                    //postParameters.
                    webResponse.Close();
                    await Navigation.PopToRootAsync();

                    Refresh.RefreshHome();
                    await PopupNavigation.Instance.PopAllAsync();
                }
                else
                {
                    await DisplayAlert("Complete form", "Please enter all the data to submit.", "Ok");
                }
            }
            catch (Exception w)
            {
                await DisplayAlert("Server Down", "Please try again later", "Ok");

                SaveSvg.IsEnabled = true;
                await PopupNavigation.Instance.PopAsync();
            }
        }
 private bool GetDetails()
 {
     try
     {
         Dictionary <string, object> postParameters = new Dictionary <string, object>();
         postParameters.Add("UserId", Application.Current.Properties["User"]);
         HttpWebResponse webResponse        = FormUpload.MultipartFormPost(requestURL, "someone", postParameters, "", "");
         StreamReader    responseReader     = new StreamReader(webResponse.GetResponseStream());
         string          returnResponseText = responseReader.ReadToEnd();
         rassavadaEntity = JsonConvert.DeserializeObject <RassavadaEntity>(returnResponseText);
         webResponse.Close();
         return(true);
     }
     catch (Exception e)
     {
         DisplayAlert("Server Error", "Please check your internet connection and try again", "Ok");
         return(false);
     }
 }
Exemple #6
0
        private async void PermisionValidator()
        {
            status = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.LocationWhenInUse);

            try
            {
//#if DEBUG
//                requestURL = "https://us-central1-e0-rasvada.cloudfunctions.net/Register";
//#endif
                requestURL = "https://us-central1-e0-trouvailler.cloudfunctions.net/Register";
                Dictionary <string, object> postParameters = new Dictionary <string, object>();
                postParameters.Add("UserId", Application.Current.Properties["User"]);
                HttpWebResponse webResponse        = FormUpload.MultipartFormPost(requestURL, "someone", postParameters, "", "");
                StreamReader    responseReader     = new StreamReader(webResponse.GetResponseStream());
                string          returnResponseText = responseReader.ReadToEnd();
                webResponse.Close();
                if (status == PermissionStatus.Granted)
                {
                    if (returnResponseText == "false")
                    {
                        await Navigation.PushAsync(new GetStartedPage());
                    }
                    else
                    {
                        App.Current.MainPage = new NavigationPage(new HomePage());
                        await Navigation.PopToRootAsync();
                    }
                }
                else
                {
                    await DisplayAlert("Need Permissions", "You must grant us location permissions to use this app", "ok");

                    GetPermisions();
                }
            }
            catch (Exception e)
            {
                await DisplayAlert("Connection Error", "Please check your internet connection", "Ok");
            }
        }
Exemple #7
0
        public LeaderBoardPage(RassavadaEntity rassavadaEntity)
        {
            InitializeComponent();
            string requestURL;

            NameLabel.Text     = rassavadaEntity.Name;
            PropicImage.Source = rassavadaEntity.ProfilePic;
            LevelLabel.Text    = "Local Giude Level " + rassavadaEntity.level;
            PointsLabel.Text   = rassavadaEntity.Points + "";


            try
            {
//#if DEBUG
//                requestURL = "https://us-central1-e0-rasvada.cloudfunctions.net/PageLeaderboard";
//#endif


                requestURL = "https://us-central1-e0-trouvailler.cloudfunctions.net/PageLeaderboard";

                Dictionary <string, object> postParameters = new Dictionary <string, object>();
                postParameters.Add("UserId", Application.Current.Properties["User"]);
                HttpWebResponse webResponse        = FormUpload.MultipartFormPost(requestURL, "someone", postParameters, "", "");
                StreamReader    responseReader     = new StreamReader(webResponse.GetResponseStream());
                string          returnResponseText = responseReader.ReadToEnd();
                //rassavadaEntity = JsonConvert.DeserializeObject<RassavadaEntity>(returnResponseText);

                leaderList = JsonConvert.DeserializeObject <LeaderList>(returnResponseText);
                webResponse.Close();
            }
            catch (Exception e)
            {
                DisplayAlert("No Internet", "Please check your internet connection", "Ok");
            }

            MainCollectionView.ItemsSource = leaderList.Leaderboard;
        }
Exemple #8
0
        private async void Next(object sender, EventArgs e)
        {
            try
            {
                //experience = new Experience()
                //{
                //    Address = "bhbhjbj",
                //    Seasonal = true,
                //    Seasons = new List<string>
                //    {
                //        "Blah","bbhb","vgvgh"
                //    },
                //    AvgTime = "2",
                //    Name = "bhbj",
                //    DistMajCentre = "nnj",
                //    Details = "bhjbhjbhjjh",
                //    expType = ExpType.Food,
                //    docId = "",
                //    Images = new List<string>
                //    {
                //        "hbhbh","njnjn","bhbhb"
                //    },
                //    Lat = "bjbjbj",
                //    Long = "bhbh",
                //    MajCentre = "jj",
                //    Picture = "njnj"
                //};


                if (AddressEntry.Text != null && TimeEntry.Text != null && NameEntry.Text != null && DistFMC.Text != null && DetailEntry != null && MajorCityEntry.Text != null && Media.Count != 0)
                {
                    await PopupNavigation.Instance.PushAsync(new LoadingPopup());

                    experience2.Address       = AddressEntry.Text;
                    experience2.Seasonal      = SeasonFrame.IsVisible;
                    experience2.AvgTime       = TimeEntry.Text;
                    experience2.Name          = NameEntry.Text;
                    experience2.DistMajCentre = DistFMC.Text;
                    experience2.Details       = DetailEntry.Text;
                    if (MainMap.Pins.Count != 0)
                    {
                        experience2.Lat  = MainMap.Pins[0].Position.Latitude.ToString();
                        experience2.Long = MainMap.Pins[0].Position.Longitude.ToString();
                    }

                    experience2.MajCentre = MajorCityEntry.Text;
                    //experience2.expType = ExpType.Cultural;

                    if (experience2.Seasonal == false)
                    {
                        experience2.Seasons.Add("");
                    }
                    //experience2.Picture = "None";


                    var json = JsonConvert.SerializeObject(experience2);
                    Dict = JsonConvert.DeserializeObject <Dictionary <string, object> >(json);
                    string requestURL = url;
                    postParameters = Dict;
                    try
                    {
                        for (int i = 0; i < Media.Count; i++)
                        {
                            DPbytes = File.ReadAllBytes(Media[i].Path);
                            postParameters.Add("Image" + i, new FormUpload.FileParameter(DPbytes, Path.GetFileName(Media[i].Path), "image/png"));
                        }
                    }
                    catch (Exception s)
                    {
                    }

                    postParameters.Add("UserId", Application.Current.Properties["User"]);
                    HttpWebResponse webResponse = FormUpload.MultipartFormPost(requestURL, "someone", postParameters, "", "");
                    // Process response
                    StreamReader responseReader     = new StreamReader(webResponse.GetResponseStream());
                    var          returnResponseText = responseReader.ReadToEnd();
                    //postParameters.
                    webResponse.Close();
                    await Navigation.PopToRootAsync();

                    Refresh.RefreshHome();
                    await PopupNavigation.Instance.PopAsync();
                }
                else
                {
                    await DisplayAlert("Compplete Form", "You must fill in all the details. You must add at least one image to update the data.", "Ok");
                }
            }
            catch (Exception z)
            {
                await DisplayAlert("There seems to be a problem", "Please check your internet connection and try again. You must add at least one image to update the data.", "Ok");

                await PopupNavigation.Instance.PopAsync();
            }
            //await Navigation.PopAsync();
        }
        private async void TapGestureRecognizer_Tapped(object sender, EventArgs e)
        {
            if (PhoneNoEntry.Text != "" && PhoneNoEntry.Text.Length == 13 && CEmailEntry.Text != "" && NameEntry.Text != "" && CurrentLocEntry.Text != "" && HomeTownLabel.Text != "" && AgeEntry.Text != "" && GenderPicker.SelectedItem.ToString() != "" && PickedID != null && PickedPhoto != null)
            {
                await PopupNavigation.Instance.PushAsync(new LoadingPopup());

                rassavadaUser.Name         = NameEntry.Text;
                rassavadaUser.PhoneNo      = PhoneNoEntry.Text;
                rassavadaUser.LocationLat  = CurrentLocation.Latitude.ToString();
                rassavadaUser.LocationLong = CurrentLocation.Longitude.ToString();
                rassavadaUser.HomeLat      = MainMap.Pins[0].Position.Latitude.ToString();
                rassavadaUser.HomeLong     = MainMap.Pins[0].Position.Longitude.ToString();
                rassavadaUser.Vehicle      = HasVehicleSwitch.IsToggled.ToString();
                if (VechiclePicker.SelectedItem != null)
                {
                    rassavadaUser.VehicleType = VechiclePicker.SelectedItem.ToString();
                }
                else
                {
                    rassavadaUser.VehicleType = "";
                }


                rassavadaUser.Age         = AgeEntry.Text;
                rassavadaUser.CEmail      = CEmailEntry.Text;
                rassavadaUser.Gender      = GenderPicker.SelectedItem.ToString();
                rassavadaUser.UserId      = Application.Current.Properties["User"].ToString();
                rassavadaUser.HomeName    = LabelEntry.Text;
                rassavadaUser.HomeAddress = AdrressEntry.Text;

                var json = JsonConvert.SerializeObject(rassavadaUser);
                Dict = JsonConvert.DeserializeObject <Dictionary <string, object> >(json);



                try
                {
                    string requestURL = url;
                    Dictionary <string, object> postParameters = Dict;
                    // Add your parameters here
                    postParameters.Add("ProfilePic", new FormUpload.FileParameter(DPbytes, Path.GetFileName(PickedPhoto.Path), "image/png"));
                    postParameters.Add("DrivingLicience", new FormUpload.FileParameter(IDbytes, Path.GetFileName(PickedID.Path), "image/png"));
                    //postParameters.Add("Id2ToUpload", new FormUpload.FileParameter(IDbytes, Path.GetFileName(PickedID.Path), "image/png"));
                    string          userAgent   = "Someone";
                    HttpWebResponse webResponse = FormUpload.MultipartFormPost(requestURL, userAgent, postParameters, "", "");
                    // Process response
                    StreamReader responseReader     = new StreamReader(webResponse.GetResponseStream());
                    var          returnResponseText = responseReader.ReadToEnd();
                    //postParameters.
                    webResponse.Close();
                    await Navigation.PushAsync(new VerificationPage(rassavadaUser.Name, rassavadaUser.CEmail, PickedPhoto.Path));

                    await PopupNavigation.Instance.PopAsync();
                }
                //catch (Exception exp) { }


                //await Navigation.PushAsync(new VerificationPage());
                catch (Exception x)
                {
                    await DisplayAlert("Oops", "We cannot reach our servers right now. Please try again later", "Ok");

                    await PopupNavigation.Instance.PopAsync();
                }
            }
            else
            {
                await DisplayAlert("Complete the form", "Please fill in all the details to continue registration", "Ok");
            }

            //try
            //{
            //    var responseMessage = await APIHelper.APIClient.PostAsJsonAsync(url, rassavadaUser);
            //    var res = await responseMessage.Content.ReadAsStringAsync();
            //    //var v = await responseMessage.Content.
            //    await Navigation.PushAsync(new VerificationPage());
            //}
        }
        public void Retrieve()
        {
            lock (imageDictionary)
            {
                DirectoryInfo ftpDirectory = new DirectoryInfo(Program.FTP_DIRECTORY);

                IList <FileInfo> fileToBeDeleted = new List <FileInfo>();
                foreach (FileInfo nextFile in ftpDirectory.GetFiles())
                {
                    fileToBeDeleted.Add(nextFile);
                    string[] fileNameItems = nextFile.Name.Split(".");
                    if (fileNameItems.Length == 2)
                    {
                        string filename = fileNameItems[0];

                        Image image = null;
                        if (!imageDictionary.TryGetValue(filename, out image))
                        {
                            IServiceProvider serviceProvider = DIFaceIdTDA.GetServiceProvider();
                            image = serviceProvider.GetRequiredService <Image>();
                            imageDictionary[filename] = image;

                            string[] items = filename.Split("_");
                            if (items.Length == 6)
                            {
                                image.zptime    = items[0];
                                image.puid      = "315700010001";
                                image.faceid    = Int32.Parse(items[2]) * 10 + Int32.Parse(items[3]);
                                image.remark    = items[4] + "_" + items[5];
                                image.latitude  = 29.466893;
                                image.longitude = 121.882763;
                            }
                        }

                        switch (nextFile.Extension.ToLower())
                        {
                        case (".jpg"):
                            image.jpgFile = nextFile;
                            break;

                        case (".jpeg"):
                            image.jpegFile = nextFile;
                            break;
                        }

                        if (image.jpegFile != null && image.jpgFile != null)
                        {
                            imageDictionary.Remove(filename);
                            Console.WriteLine(string.Format("Parse {0}: {1}", image.faceid, image.jpegFile.Name));
                            string response = FormUpload.MultipartFormPost(Program.REMOTE_SERVER, image, headerDictionary);

                            IServiceProvider serviceProvider = DIFaceIdTDA.GetServiceProvider();
                            ILogger          logger          = serviceProvider.GetRequiredService <ILogger <Program> >();
                            logger.LogI(response);
                        }
                    }
                }

                foreach (FileInfo fileInfo in fileToBeDeleted)
                {
                    File.Delete(fileInfo.FullName);
                }
                fileToBeDeleted.Clear();
                imageDictionary.Clear();
            }
        }