public static async Task OpenEmailAsync(string email)
        {
            IToast toast = DependencyService.Get <IToast>();

            if (string.IsNullOrEmpty(email))
            {
                toast.Show("email empty");
                return;
            }

            try
            {
                var message = new EmailMessage
                {
                    To = new List <string> {
                        email
                    },
                };
                await Email.ComposeAsync(message);
            }
            catch (FeatureNotSupportedException fbsEx)
            {
                toast.Show("Email is not supported on this device");
                WriteLogEntry("Email is not supported on this device");
                WriteLogEntry(fbsEx.Message);
            }
            catch (Exception ex)
            {
                WriteLogEntry(ex.Message);
            }
        }
        public static async Task OpenMapAsync(string cordinates)
        {
            IToast toast = DependencyService.Get <IToast>();

            if (string.IsNullOrEmpty(cordinates))
            {
                toast.Show("cordinates empty");
                return;
            }

            string[] parts = cordinates?.Split(CharConstants.COMMA);

            if (parts != null && parts.Length == 2)
            {
                try
                {
                    double latitude  = Convert.ToDouble(parts[0]);
                    double longitude = Convert.ToDouble(parts[1]);

                    Location loc = new Location(latitude, longitude);

                    await Map.OpenAsync(loc);
                }
                catch (Exception ex)
                {
                    EbLog.Error($"Cordinates value format error 'Value:{cordinates}'");
                    EbLog.Error(ex.Message);

                    toast.Show("Unable to open map");
                }
            }
        }
        public WelcomeViewModel(IToast toast, IAPerson per)
        {
            adb = per;

            Gur = new Perso
            {
                pFirstname = "Gurpreet",
                pLastname  = "Dhaliwal",
                PEmail     = "*****@*****.**",
                photo      = "@drawable/gur",
                PCalCheck  = true,
                PLocation  = "Available",
                PLocCheck  = true
            };

            Hari = new Perso
            {
                pFirstname = "Harri",
                pLastname  = "Tuononen",
                PEmail     = "*****@*****.**",
                photo      = "@drawable/harri",
                PCalCheck  = true,
                PLocation  = "Having Food",
                PLocCheck  = true
            };

            //Perso Ian = new Perso
            //{
            //    pFirstname = "Ian",
            //    pLastname = "Maskell",
            //    PEmail = "*****@*****.**",
            //    photo = "@drawable/iam",
            //    PCalCheck = true,
            //    PLocation = "Meeting in QUT",
            //    PLocCheck = true
            //};

            //getCount(Gur);
            //getCount(Hari);
            //getCount(Ian);

            GurButton = new MvxCommand(() =>
            {
                MyGlobals.SelPer = Gur;
                toast.Show("Logged in as " + MyGlobals.SelPer.pFirstname + "");
                ShowViewModel <SettingsViewModel>();
            });
            HarriButton = new MvxCommand(() =>
            {
                MyGlobals.SelPer = Hari;
                toast.Show("Logged in as " + MyGlobals.SelPer.pFirstname + "");
                ShowViewModel <SettingsViewModel>();
            });
        }
        public AnswerViewModel(IToast toast, IReqDB reqq)
        {
            dbss       = reqq;
            SendButton = new MvxCommand(() =>
            {
                Hari = new Req
                {
                    ReqFrom  = MyGlobals.SelPer.pFirstname,
                    ReqTo    = MyGlobals.perr.pFirstname,
                    ReqCal   = IsCheckedCal,
                    ReqLoc   = IsCheckedLoc,
                    ReqExtra = ExtraInfo
                };
                InsertReq(Hari);

                toast.Show("Status Request Sent");

                ShowViewModel <NotificationViewModel>();
            });

            CancelButton = new MvxCommand(() =>
            {
                ShowViewModel <RequestsViewModel>();
            });
        }
Exemple #5
0
        //bool isInited;
        public async Task Init()
        {
            //if (isInited) return;
            //isInited = true;
            var send = new JObject();

            send.Add("game", info.package);
            send.Add("openId", info.openid);
            var recv = JsonConvert.DeserializeObject <JObject>(await http.PostStr(api.getApi("moneylist"), JsonConvert.SerializeObject(send)));

            log?.Log(recv);
            if (recv.Value <int>("code") == 200)
            {
                JArray array = recv.Value <JArray>("data");
                for (int i = 0; i < array.Count; i++)
                {
                    var item = array[i];
                    int m    = item.Value <int>("amount");
                    if (money2id.ContainsKey(m))
                    {
                        continue;
                    }
                    moneys.Add(m);
                    money2id.Add(m, item.Value <int>("id"));
                }
            }
            else
            {
                toast?.Show(recv.Value <string>("message"));
            }
        }
Exemple #6
0
        public async Task <List <RecordInfo> > GetInfos(int id)
        {
            JObject send = new JObject();

            send.Add("game", net.package);
            send.Add("openId", net.openid);
            var recv = JsonConvert.DeserializeObject <JObject>(await http.PostStr(url.getApi("recordinfo"), JsonConvert.SerializeObject(send)));

            UnityEngine.Debug.Log(recv);
            int code = recv.Value <int>("code");
            List <RecordInfo> res = new List <RecordInfo>();

            if (code == 200)
            {
                JArray array = recv["data"] as JArray;
                for (int i = 0; i < array.Count; i++)
                {
                    var item = array[i];
                    if (item.Value <int>("status") == id)
                    {
                        RecordInfo info = new RecordInfo();
                        info.money = item.Value <int>("amount");
                        info.time  = GetLocalTime(item.Value <long>("createTime"));
                        res.Add(info);
                    }
                }
            }
            else
            {
                toast?.Show(recv.Value <string>("message"));
            }
            return(res);
        }
Exemple #7
0
 void tryInit()
 {
     if (isInited)
     {
         return;
     }
     isInited = true;
     LoadMoney();
     closeBtn.onClick.AddListener(Close);
     withdrawalBtn.onClick.AddListener(async() =>
     {
         if (items.Count == 0)
         {
             dialog.Show("暂时无法提现");
             return;
         }
         if (user.money < items[currId].dia)
         {
             dialog.Show("金币不足,快去赚金币吧~");
             return;
         }
         var res = await api.Withdraw(items[currId].dia);
         if (res.isSuccess)
         {
             toast.Show($"恭喜提现{items[currId].money.text}");
         }
     });
 }
Exemple #8
0
 // Start is called before the first frame update
 void Start()
 {
     GetComponent <Button>().onClick.AddListener(() =>
     {
         toast.Show("aaaaa");
         //SceneManager.LoadScene(1);
     });
 }
Exemple #9
0
        void ShowResponseErrorMessage(IApiResponse response)
        {
            if (response.Code == ApiResponseCode.Canceled)
            {
                return;
            }
            var message = ApiResponse.GetMessage(response);

            toast.Show(message);
        }
Exemple #10
0
        public async Task UpdateVehicleListAsync()
        {
            this.IsBusy = true;

            try
            {
                if (!_reachability.IsConnected())
                {
                    _toast.Show("No internet connection!");
                }
                else
                {
                    var vehicleViews = await _gatewayService.GetVehicleViewsAsync();

                    var vehicleViewVehicles = new Dictionary <string, IEnumerable <Models.BaseVehicle> >(vehicleViews.Count());

                    foreach (var vehicleView in vehicleViews)
                    {
                        vehicleViewVehicles.Add(vehicleView.Title, await _gatewayService.GetVehiclesAsync(vehicleView.Title));
                    }

                    var vehiclesAndTrailers = vehicleViewVehicles.SelectMany(vvv => vvv.Value).DistinctBy(v => v.ID);
                    var vehicles            = vehiclesAndTrailers.Where(bv => !bv.IsTrailer).Select(bv => new Models.Vehicle(bv));

                    if (vehicles != null)
                    {
                        await _vehicleRepository.DeleteAllAsync();

                        try
                        {
                            await _vehicleRepository.InsertAsync(vehicles);
                        }
                        catch (Exception ex)
                        {
                            MvxTrace.Error("\"{0}\" in {1}.{2}\n{3}", ex.Message, "VehicleRepository", "InsertAsync", ex.StackTrace);
                            throw;
                        }

                        Vehicles = _originalVehicleList = await _vehicleRepository.GetAllAsync();

                        //Recalls the filter text if there is text in the search field.
                        if (VehicleSearchText != null)
                        {
                            this.FilterList();
                        }
                    }
                }

                await UpdateSafetyProfilesAsync();
            }
            finally
            {
                this.IsBusy = false;
            }
        }
        public static void OpenDialerAsync(string number)
        {
            IToast toast = DependencyService.Get <IToast>();

            try
            {
                PhoneDialer.Open(number);
            }
            catch (ArgumentNullException)
            {
                toast.Show("no number");
            }
            catch (FeatureNotSupportedException)
            {
                toast.Show("Feature unsuported");
            }
            catch (Exception)
            {
                toast.Show("Something went wrong");
            }
        }
Exemple #12
0
 public async Task UpdateInstructionsListAsync()
 {
     if (!_reachability.IsConnected())
     {
         _toast.Show("No internet connection!");
     }
     else
     {
         // Force a poll for instructions
         await _gatewayPollingService.PollForInstructionsAsync();
     }
 }
Exemple #13
0
        async Task NextAction()
        {
            if (_position == TestList.Count)
            {
                await _pageDlg.DisplayAlertAsync("", "Completed", "OK");

                return;
            }
            _toast.Show <MyToastView>(TestList[_position]);
            TestList[_position].Action?.Invoke();
            _position++;
            await Task.Delay(250);
        }
        private static void AlertExeptionMessage(Exception _Exception)
        {
            IToast toast = DependencyService.Get <IToast>();

            EbLog.Error(_Exception.Message);

            if (_Exception is FeatureNotSupportedException)
            {
                toast.Show("Feature not supported");
            }
            else if (_Exception is FeatureNotEnabledException)
            {
                toast.Show("Feature not enabled");
            }
            else if (_Exception is PermissionException)
            {
                toast.Show("No permission");
            }
            else
            {
                toast.Show("Something went wrong");
            }
        }
        public AnsViewModel(IDialogServiceP dialog, IToast toast, IAnsDB ansDB)
        {
            answerDB = ansDB;
            ReloadCommand.Execute(null);
            this.dialog = dialog;

            SelectMessage = new MvxCommand <Answ>(async selectedItem =>
            {
                string mes           = "from " + selectedItem.AnsFrom + "\n" + "Calendar: " + selectedItem.AnsCal + "\n" + "Location: " + selectedItem.AnsLoc + "\nOther Info:" + selectedItem.AnsExtra;
                List <string> Answer = await dialog.Show(mes, "Status Response", "Ok", "Delete");

                if (Answer[0] == "false")
                {
                    Message.Remove(selectedItem);
                    DeleteAns(selectedItem.Id);
                    toast.Show("Status Response Deleted");
                }
            });
        }
        async void exportButton_Clicked(object sender, System.EventArgs e)
        {
            // ContactのJson文字列化
            string jsonString = JsonConvert.SerializeObject(listView.ItemsSource);

            // ファイル出力
            Random c    = new Random();
            var    file = await FileSystem.Current.LocalStorage.CreateFileAsync(
                $"{DateTime.Now:yyyyMMddHHmmssfff}_{c.Next(1000):0000}.json",
                CreationCollisionOption.ReplaceExisting
                );

            await file.WriteAllTextAsync(jsonString);

            // トーストで通知
            IToast toastService = Xamarin.Forms.DependencyService.Get <IToast>();

            if (toastService != null)
            {
                toastService.Show($"{file.Path} の出力が完了しました。");
            }
        }
 public virtual void Error(string message)
 {
     _toast.Show("Error: " + message);
     _syslog.Error(LOG_TAG, message);
 }
        public NotificationViewModel(IReqDB dbss, IDialogService dialog, ICalendar calendar, IToast toast, INetwork net)
        {
            dbs           = dbss;
            this.dialog   = dialog;
            this.calendar = calendar;

            ReloadCommand.Execute(null);
            SelectMessage = new MvxCommand <Req>(async selectedItem =>
            {
                string ifloc = "Not Needed";
                string ifcal = "Not Needed";

                if (selectedItem.ReqLoc == true)
                {
                    ifloc = "Needed";
                }

                if (selectedItem.ReqCal == true)
                {
                    ifcal = "Needed";
                }

                string mes = selectedItem.ReqFrom + "\n" + "Calendar: " + ifcal + "\n" + "Location: " + ifloc + "\n" + "Other Info:" + selectedItem.ReqExtra;

                List <string> Answer = await dialog.Show(mes, "Status Request", "Send", "Dismiss");
                if (Answer[0] == "true")
                {
                    Message.Remove(selectedItem);
                    await DeleteReq(selectedItem.Id);
                    toast.Show("Status Response Sent");
                    string calend = ""; // Calander Events for Today
                    string wifi   = ""; // Wifi Access point of person

                    // Don't send location or Calendar
                    if ((MyGlobals.SelPer.PLocCheck == false || ifloc == "Not Needed") && (MyGlobals.SelPer.PCalCheck == false || ifcal == "Not Needed"))
                    {
                        calend = "";
                        wifi   = "";
                    }
                    // Don't send Calendar
                    else if (MyGlobals.SelPer.PCalCheck == false || ifcal == "Not Needed")
                    {
                        calend = "";
                        wifi   = net.SSID();
                    }
                    // Don't send Location
                    else if (MyGlobals.SelPer.PLocCheck == false || ifloc == "Not Needed")
                    {
                        calend = calendar.returnEvents();
                        wifi   = "";
                    }
                    // Send both.
                    else
                    {
                        calend = calendar.returnEvents();
                        wifi   = net.SSID();
                    }


                    MyGlobals.answer = new Answ
                    {
                        AnsFrom  = selectedItem.ReqTo,
                        AnsTo    = selectedItem.ReqFrom,
                        AnsLoc   = wifi,
                        AnsCal   = calend,
                        AnsExtra = Answer[1]
                    };
                    ShowViewModel <RedirectViewModel>();
                }

                else if (Answer[0] == "false")
                {
                    Message.Remove(selectedItem);
                    await DeleteReq(selectedItem.Id);
                    toast.Show("Status Request Deleted");
                }
            });
        }
Exemple #19
0
 // Start is called before the first frame update
 void Start()
 {
     toast.Show("aaaaaaa");
 }
 public virtual void ShowResponseErrorMessage(string message)
 {
     toast.Show(message);
 }
Exemple #21
0
 /// <summary>
 /// Shows the Toast pop-up.
 /// </summary>
 /// <since_tizen> 4 </since_tizen>
 public void Show()
 {
     _toastProxy.Show();
 }
        public async Task <(bool state, ScriptDTO?model, string msg)> AddScriptAsync(FileInfo fileInfo, ScriptDTO?info, ScriptDTO?oldInfo = null, bool build = true, int?order = null, bool deleteFile = false, Guid?pid = null)
        {
            if (info != null)
            {
                try
                {
                    if (info.Content != null)
                    {
                        var md5    = Hashs.String.MD5(info.Content);
                        var sha512 = Hashs.String.SHA512(info.Content);
                        if (await scriptRepository.ExistsScript(md5, sha512))
                        {
                            return(false, null, SR.Script_FileRepeat);
                        }
                        var url      = Path.Combine(TAG, $"{md5}.js");
                        var savePath = Path.Combine(IOPath.AppDataDirectory, url);
                        var saveInfo = new FileInfo(savePath);
                        if (!saveInfo.Directory.Exists)
                        {
                            saveInfo.Directory.Create();
                        }
                        if (saveInfo.Exists)
                        {
                            saveInfo.Delete();
                        }
                        fileInfo.CopyTo(savePath);
                        if (oldInfo != null && oldInfo.LocalId > 0)
                        {
                            info.LocalId = oldInfo.LocalId;
                            info.Id      = oldInfo.Id;
                            info.Order   = oldInfo.Order;
                            var state = await DeleteScriptAsync(oldInfo, false);

                            if (!state.state)
                            {
                                return(false, null, SR.Script_FileDeleteError.Format(oldInfo.FilePath));
                            }
                        }
                        if (pid.HasValue)
                        {
                            info.Id = pid.Value;
                        }
                        var cachePath = Path.Combine(IOPath.CacheDirectory, url);
                        info.FilePath  = url;
                        info.CachePath = url;
                        if (await BuildScriptAsync(info, build))
                        {
                            var db = mapper.Map <Script>(info);
                            db.MD5    = md5;
                            db.SHA512 = sha512;
                            if (order.HasValue)
                            {
                                db.Order = order.Value;
                            }
                            else if (db.Order == 0)
                            {
                                db.Order = 10;
                            }
                            try
                            {
                                if (deleteFile)
                                {
                                    fileInfo.Delete();
                                }
                            }
                            catch (Exception e) { logger.LogError(e.ToString()); }
                            var state = (await scriptRepository.InsertOrUpdateAsync(db)).rowCount > 0;
                            info.LocalId = db.Id;
                            return(state, info, state ? SR.Script_SaveDbSuccess : SR.Script_SaveDBError);
                        }
                        else
                        {
                            var msg = SR.Script_BuildError.Format(fileInfo.FullName);
                            logger.LogError(msg);
                            toast.Show(msg);
                            return(false, null, msg);
                        }
                    }
                    else
                    {
                        var msg = SR.Script_ReadFileError.Format(fileInfo.FullName);
                        logger.LogError(msg);
                        toast.Show(msg);
                        return(false, null, msg);
                    }
                }
                catch (Exception e)
                {
                    var msg = SR.Script_ReadFileError.Format(e.GetAllMessage());
                    logger.LogError(e, msg);
                    return(false, null, msg);
                }
            }
            else
            {
                var msg = string.Format(SR.Script_ReadFileError, fileInfo.FullName); //$"文件解析失败,请检查格式:{filePath}";
                logger.LogError(msg);
                return(false, null, msg);
            }
        }
Exemple #23
0
        public async Task UpdateTrailerListAsync()
        {
            if (!_reachability.IsConnected())
            {
                _toast.Show("No internet connection!");
                return;
            }

            this.ProgressMessage = "Updating Trailers.";
            this.IsBusy          = true;

            try
            {
                IDictionary <string, IEnumerable <Models.BaseVehicle> > vehicleViewVehicles;

                try
                {
                    var vehicleViews = await _gatewayService.GetVehicleViewsAsync();

                    vehicleViewVehicles = new Dictionary <string, IEnumerable <Models.BaseVehicle> >(vehicleViews.Count());

                    foreach (var vehicleView in vehicleViews)
                    {
                        vehicleViewVehicles.Add(vehicleView.Title, await _gatewayService.GetVehiclesAsync(vehicleView.Title));
                    }
                }
                catch (TaskCanceledException)
                {
                    // Although we have used reachability to determine that there is an available network connection,
                    // it is still possible for the data fetch to fail which triggers a TaskCanceledException.
                    _toast.Show("Connection failure!");
                    return;
                }

                var vehiclesAndTrailers = vehicleViewVehicles.SelectMany(vvv => vvv.Value).DistinctBy(v => v.ID);
                var trailers            = vehiclesAndTrailers.Where(bv => bv.IsTrailer).Select(bv => new Models.Trailer(bv));

                if (trailers != null)
                {
                    await _repositories.TrailerRepository.DeleteAllAsync();

                    try
                    {
                        await _repositories.TrailerRepository.InsertAsync(trailers);
                    }
                    catch (Exception ex)
                    {
                        MvxTrace.Error("\"{0}\" in {1}.{2}\n{3}", ex.Message, "TrailerRepository", "InsertAsync", ex.StackTrace);
                        throw;
                    }

                    await GetTrailerModelsAsync();

                    //Recalls the filter text if there is text in the search field.
                    if (TrailerSearchText != null)
                    {
                        this.FilterList();
                    }
                }
            }
            finally
            {
                this.IsBusy = false;
            }

            await UpdateVehicleListAsync();
            await UpdateSafetyProfilesAsync();
        }
Exemple #24
0
 public override void ShowResponseErrorMessage(string message)
 {
     toast.Show(message);
 }
        public async Task <IApiResponse <ScriptDTO?> > AddScriptAsync(FileInfo fileInfo, ScriptDTO?info, ScriptDTO?oldInfo = null, bool build = true, int?order = null, bool deleteFile = false, Guid?pid = null, bool ignoreCache = false)
        {
            if (info != null)
            {
                try
                {
                    if (info.Content != null)
                    {
                        var md5    = Hashs.String.MD5(info.Content);
                        var sha512 = Hashs.String.SHA512(info.Content);
                        if (!ignoreCache)
                        {
                            if (await scriptRepository.ExistsScript(md5, sha512))
                            {
                                return(ApiResponse.Fail <ScriptDTO?>(AppResources.Script_FileRepeat));
                            }
                        }
                        var fileName   = md5 + FileEx.JS;
                        var path       = Path.Combine(IScriptManager.DirName, fileName);
                        var savePath   = Path.Combine(IOPath.AppDataDirectory, IScriptManager.DirName, fileName);
                        var saveInfo   = new FileInfo(savePath);
                        var isNoRepeat = saveInfo.FullName != fileInfo.FullName;
                        if (!saveInfo.Directory.Exists)
                        {
                            saveInfo.Directory.Create();
                        }
                        if (saveInfo.Exists)
                        {
                            if (isNoRepeat)
                            {
                                saveInfo.Delete();
                            }
                        }
                        else
                        {
                            fileInfo.CopyTo(savePath);
                        }
                        if (oldInfo != null && oldInfo.LocalId > 0)
                        {
                            info.LocalId = oldInfo.LocalId;
                            info.Id      = oldInfo.Id;
                            info.Order   = oldInfo.Order;
                            if (isNoRepeat)
                            {
                                var state = await DeleteScriptAsync(oldInfo, false);

                                if (!state.IsSuccess)
                                {
                                    return(ApiResponse.Fail <ScriptDTO?>(AppResources.Script_FileDeleteError.Format(oldInfo.FilePath)));
                                }
                            }
                        }
                        if (pid.HasValue)
                        {
                            info.Id = pid.Value;
                        }
                        var cachePath = Path.Combine(IOPath.CacheDirectory, IScriptManager.DirName, fileName);
                        info.FilePath  = path;
                        info.IsBuild   = build;
                        info.CachePath = path;
                        saveInfo       = new FileInfo(cachePath);
                        saveInfo.Refresh();
                        if (await BuildScriptAsync(info, saveInfo, build))
                        {
                            var db = mapper.Map <Script>(info);
                            db.MD5    = md5;
                            db.SHA512 = sha512;
                            if (db.Pid == Guid.Parse("00000000-0000-0000-0000-000000000001"))
                            {
                                info.IsBasics = true;
                                order         = 1;
                            }
                            if (order.HasValue)
                            {
                                db.Order = order.Value;
                            }
                            else if (db.Order == 0)
                            {
                                db.Order = 10;
                            }
                            try
                            {
                                if (deleteFile)
                                {
                                    fileInfo.Delete();
                                }
                            }
                            catch (Exception e) { logger.LogError(e.ToString()); }
                            var isSuccess = (await scriptRepository.InsertOrUpdateAsync(db)).rowCount > 0;
                            info.LocalId = db.Id;
                            if (isSuccess)
                            {
                                return(ApiResponse.Code <ScriptDTO?>(ApiResponseCode.OK, AppResources.Script_SaveDbSuccess, info));
                            }
                            else
                            {
                                return(ApiResponse.Fail <ScriptDTO?>(AppResources.Script_SaveDBError));
                            }
                        }
                        else
                        {
                            var msg = AppResources.Script_BuildError.Format(fileInfo.FullName);
                            logger.LogError(msg);
                            toast.Show(msg);
                            return(ApiResponse.Fail <ScriptDTO?>(msg));
                        }
                    }
                    else
                    {
                        var msg = AppResources.Script_ReadFileError.Format(fileInfo.FullName);
                        logger.LogError(msg);
                        toast.Show(msg);
                        return(ApiResponse.Fail <ScriptDTO?>(msg));
                    }
                }
                catch (Exception e)
                {
                    var msg = AppResources.Script_ReadFileError.Format(e.GetAllMessage());
                    logger.LogError(e, msg);
                    return(ApiResponse.Code <ScriptDTO?>(ApiResponseCode.Fail, msg, default, e));