Ejemplo n.º 1
0
        private bool CheckAndInputPwd()
        {
            var settingResult = OmniCoinService.Default.GetTxSettings();

            if (settingResult.IsFail)
            {
                return(false);
            }

            if (!settingResult.Value.Encrypt)
            {
                return(true);
            }

            SendMsgData <InputWalletPwdPageTopic> data = new SendMsgData <InputWalletPwdPageTopic>();

            data.Token = InputWalletPwdPageTopic.UnLockWallet;
            data.SetCallBack(() =>
            {
                Export(true);
                OnClosePopup();
            });
            SendMessenger(Pages.InputWalletPwdPage, SendMessageTopic.Refresh);
            SendMessenger(Pages.InputWalletPwdPage, data);
            UpdatePage(Pages.InputWalletPwdPage);
            return(false);
        }
Ejemplo n.º 2
0
        public override void OnOkClick()
        {
            if (string.IsNullOrEmpty(Url))
            {
                return;
            }

            var @params = Url.Replace("OmniCoin:", "").Replace("amount=", "").Replace("label=", "").Replace("message=", "").Replace("?", "&").Split('&');

            if (@params.Length != 4)
            {
                ShowMessage(LanguageService.Default.GetLanguageValue(MessageKeys.Error_Uri));
                return;
            }
            long longAmount;

            if (!long.TryParse(@params[1], out longAmount))
            {
                ShowMessage(LanguageService.Default.GetLanguageValue(ValidationType.Error_Amount.ToString()));
                return;
            }

            SendMsgData <SendItemInfo> data = new SendMsgData <SendItemInfo>();

            data.Token              = new SendItemInfo();
            data.Token.Address      = @params[0];
            data.Token.Tag          = @params[2];
            data.Token.PayAmountStr = (longAmount / Math.Pow(10, 8)).ToString("0.00000000");
            SendMessenger(Pages.SendPage, data);
            UpdatePage(Pages.SendPage, PageModel.TabPage);
            base.OnOkClick();
            Url = string.Empty;
        }
Ejemplo n.º 3
0
        void RequestPay()
        {
            if (Initializer.Default.DefaultAccount == null)
            {
                return;
            }

            var txsetting = FiiiCoinService.Default.GetTxSettings();

            if (txsetting.IsFail)
            {
                return;
            }

            if (txsetting.Value.Encrypt)
            {
                SendMsgData <InputWalletPwdPageTopic> sendMsgData = new SendMsgData <InputWalletPwdPageTopic>();
                sendMsgData.Token = InputWalletPwdPageTopic.UnLockWallet;
                sendMsgData.SetCallBack(Request);
                SendMessenger(Pages.InputWalletPwdPage, sendMsgData);
                UpdatePage(Pages.InputWalletPwdPage);
            }
            else
            {
                Request();
            }
            SendMessenger(Pages.ReceiveAddressPage, SendMessageTopic.Refresh);
        }
Ejemplo n.º 4
0
 void OnGetMsgDataRequest(SendMsgData <SendItemInfo> data)
 {
     if (data == null || data.Token == null)
     {
         return;
     }
     SendItems.Clear();
     SendItems.Add(data.Token);
 }
Ejemplo n.º 5
0
        public void OnGetData(SendMsgData <ProfessionalSetting> data)
        {
            Setting.UTXO          = data.Token.UTXO;
            Setting.LockTime      = data.Token.LockTime;
            Setting.ChangeAddress = data.Token.ChangeAddress;
            Setting.IsEnable      = data.Token.IsEnable;

            _data = data;
        }
Ejemplo n.º 6
0
        void UnlockWallet()
        {
            SendMsgData <InputWalletPwdPageTopic> sendMsgData = new SendMsgData <InputWalletPwdPageTopic>();

            sendMsgData.Token = InputWalletPwdPageTopic.UnLockWallet;
            sendMsgData.SetCallBack(CreateUrl);
            SendMessenger(Pages.InputWalletPwdPage, SendMessageTopic.Refresh);
            SendMessenger(Pages.InputWalletPwdPage, sendMsgData);
            UpdatePage(Pages.InputWalletPwdPage);
        }
Ejemplo n.º 7
0
        private void UpdateImage(SendMsgData <TitleWithParams <string> > msg)
        {
            var address = msg.Token.Params;

            if (!string.IsNullOrEmpty(address) && !address.Equals(Address))
            {
                Address    = address;
                Title      = LanguageService.Default.GetLanguageValue(msg.Token.Title);
                QrCodePath = QRCodeUtil.Default.GenerateQRCodes(Address);
            }
            _sendMsgData = msg;
        }
Ejemplo n.º 8
0
        void OnSendSetting()
        {
            SendMsgData <ProfessionalSetting> sendMsgData = new SendMsgData <ProfessionalSetting>();

            sendMsgData.Token = ProfessionalSetting.Clone();
            sendMsgData.SetCallBack(() =>
            {
                ProfessionalSetting = sendMsgData.Token;
            });
            SendMessenger(Pages.SendSettingPage, sendMsgData);
            UpdatePage(Pages.SendSettingPage);
        }
Ejemplo n.º 9
0
        void JumpToConfirmPage()
        {
            var result = FiiiCoinService.Default.EstimateTxFeeForSendMany(Initializer.Default.DefaultAccount.Address, SendItems);

            if (result.IsFail)
            {
                ShowMessage(result.GetErrorMsg());
                return;
            }

            var feeValue = result.Value.TotalFee;

            SendMsgData <ConfirmSendData> data = new SendMsgData <ConfirmSendData>();
            var             amountAll          = SendItems.Sum(x => x.Amount);
            ConfirmSendData sendData           = new ConfirmSendData
            {
                Amount = amountAll / Math.Pow(10, 8),
            };

            sendData.Fee = feeValue / Math.Pow(10, 8);

            var tags = SendItems.Select(x =>
            {
                if (string.IsNullOrEmpty(x.Tag.Trim()))
                {
                    return(x.Address);
                }
                else
                {
                    return(x.Tag);
                }
            });

            sendData.ToAddress = string.Join(";", SendItems.Select(x => x.Tag));

            if (!SendItems.Any(x => x.IsContainFee))
            {
                sendData.ArrivalAmount = sendData.Amount;
            }
            else
            {
                sendData.ArrivalAmount = (amountAll - feeValue) / Math.Pow(10, 8);
            }
            data.Token = sendData;
            data.SetCallBack(() =>
            {
                SendDataToService();
            });

            SendMessenger(Pages.ConfirmSendPage, data);
            UpdatePage(Pages.ConfirmSendPage);
        }
Ejemplo n.º 10
0
        void CheckPwd()
        {
            SendMsgData <InputWalletPwdPageTopic> data = new SendMsgData <InputWalletPwdPageTopic>
            {
                Token = InputWalletPwdPageTopic.UnLockWallet
            };

            data.SetCallBack(JumpToConfirmPage);

            SendMessenger(Pages.InputWalletPwdPage, SendMessageTopic.Refresh);
            SendMessenger(Pages.InputWalletPwdPage, data);
            UpdatePage(Pages.InputWalletPwdPage);
        }
Ejemplo n.º 11
0
        void ChooseAddr()
        {
            SendMsgData <AccountInfo> sendMsgData = new SendMsgData <AccountInfo>();

            sendMsgData.SetCallBack(() => {
                if (sendMsgData.CallBackParams != null && sendMsgData.CallBackParams is AccountInfo)
                {
                    Setting.ChangeAddress = (AccountInfo)sendMsgData.CallBackParams;
                }
                UpdatePage(Pages.SendSettingPage);
            });
            UpdatePage(Pages.Choose_Change_Addr_Page);
            SendMessenger(Pages.Choose_Change_Addr_Page, sendMsgData);
        }
Ejemplo n.º 12
0
        void ChooseUtxo()
        {
            SendMsgData <PageUnspent> sendMsgData = new SendMsgData <PageUnspent>();

            sendMsgData.SetCallBack(() => {
                if (sendMsgData.CallBackParams != null && sendMsgData.CallBackParams is PageUnspent)
                {
                    Setting.UTXO.Add((PageUnspent)sendMsgData.CallBackParams);
                }
                UpdatePage(Pages.SendSettingPage);
            });
            UpdatePage(Pages.Choose_Utxo_Page);
            SendMessenger(Pages.Choose_Utxo_Page, sendMsgData);
        }
Ejemplo n.º 13
0
        void RestartApp()
        {
            Messenger.Default.Send(new PopUpParams {
                IsOpen = false
            }, MessageTopic.ChangedPopupViewState);
            Messenger.Default.Send(Pages.ClosingPage, MessageTopic.UpdateMainView);
            Task task = new Task(() =>
            {
                SendMsgData <Window> data = new SendMsgData <Window>();
                data.Token = BootStrapService.Default.Shell.GetWindow();
                Messenger.Default.Send(data, Pages.ClosingPage);
            });

            task.Start();
        }
Ejemplo n.º 14
0
 void OnMouseDubleClick(UrlInfo selectitem)
 {
     if (selectitem != null)
     {
         SendMsgData <TitleWithParams <string> > sendMsgData = new SendMsgData <TitleWithParams <string> >();
         sendMsgData.Token = new TitleWithParams <string> {
             Params = selectitem.Address, Title = "ReceiveAddress"
         };
         sendMsgData.SetCallBack(() =>
         {
             UpdatePage(Pages.ReceiveAddressPage);
         });
         SendMessenger(Pages.ImagePage, sendMsgData);
         UpdatePage(Pages.ImagePage);
     }
 }
Ejemplo n.º 15
0
        void ImportWithPassword(string filePath)
        {
            SendMsgData <InputWalletPwdPageTopic> data = new SendMsgData <InputWalletPwdPageTopic>();

            data.Token = InputWalletPwdPageTopic.RequestPassword;
            data.SetCallBack(() =>
            {
                var password = "";
                if (data.CallBackParams != null)
                {
                    password = data.CallBackParams.ToString();
                    Import(filePath, password);
                }
            });
            SendMessenger(Pages.InputWalletPwdPage, SendMessageTopic.Refresh);
            SendMessenger(Pages.InputWalletPwdPage, data);
            UpdatePage(Pages.InputWalletPwdPage);
        }
Ejemplo n.º 16
0
 void OnGetResponse(SendMsgData <InputWalletPwdPageTopic> msgData)
 {
     this.Password = string.Empty;
     _msgData      = msgData;
 }
Ejemplo n.º 17
0
 void OnGetResponse(SendMsgData <ConfirmSendData> data)
 {
     msgData         = data;
     ConfirmSendData = data.Token;
 }
Ejemplo n.º 18
0
 void OnGetRequest(SendMsgData <AccountInfo> msgData)
 {
     _msgData = msgData;
     InitData();
 }
Ejemplo n.º 19
0
 public JsonResult SendMsg(string MyChecked)
 {
     SendMsg sm = new SendMsg();
     SendMsgData smd = new SendMsgData();
     var array = MyChecked.Split(',');
     if (MyChecked != "" && MyChecked != null)
     {
         for (var i = 0; i < array.Length; i++)
         {
             //var Original = dred.Get().ToList().Where(a => a.num.ToString() == array[i]).SingleOrDefault();
             ////var DelPath = System.IO.Path.Combine(Server.MapPath("~/upload/dressdesign/"), Original.img);
             ////System.IO.File.Delete(DelPath);
             //if (Original.jsonimg != "no_img.jpg")
             //{
             //    var jsonstr = JsonConvert.DeserializeObject<List<jsonSer>>(Original.jsonimg);
             //    var DelJsonPath = Server.MapPath("~/upload/dressdesign/");
             //    foreach (var j in jsonstr)
             //    {
             //        var DelJsonPathing = System.IO.Path.Combine(DelJsonPath, j.content);
             //        System.IO.File.Delete(DelJsonPathing);
             //    }
             //}
             sm.num = Convert.ToInt32(array[i]);
             smd.Delete(sm);
         }
     }
     return Json("");
 }
Ejemplo n.º 20
0
        void JumpToConfirmPage()
        {
            long feeValue = 0L;

            if (!StaticViewModel.GlobalViewModel.IsEnableProfessional)
            {
                var result = OmniCoinService.Default.EstimateTxFeeForSendMany(Initializer.Default.DefaultAccount.Address, SendItems);
                if (result.IsFail)
                {
                    ShowMessage(result.GetErrorMsg());
                    return;
                }
                feeValue = result.Value.TotalFee;
            }
            else
            {
                var professionalSetting = StaticViewModel.GlobalViewModel.ProfessionalSetting;
                var result = OmniCoinService.Default.EstimateRawTransaction(
                    professionalSetting.UTXO.Select(x => new DTO.SendRawTransactionInputsIM {
                    TxId = x.Txid, Vout = x.Vout
                }).ToList(),
                    SendItems,
                    professionalSetting.ChangeAddress.Address,
                    Convert.ToInt64(Fee * Math.Pow(10, 8)));
                if (result.IsFail)
                {
                    ShowMessage(result.GetErrorMsg());
                    return;
                }
                feeValue = result.Value.TotalFee;
            }



            SendMsgData <ConfirmSendData> data = new SendMsgData <ConfirmSendData>();
            var             amountAll          = SendItems.Sum(x => x.Amount);
            ConfirmSendData sendData           = new ConfirmSendData
            {
                Amount = amountAll / Math.Pow(10, 8),
            };

            sendData.Fee = feeValue / Math.Pow(10, 8);

            var tags = SendItems.Select(x =>
            {
                if (string.IsNullOrEmpty(x.Tag.Trim()))
                {
                    return(x.Address);
                }
                else
                {
                    return(x.Tag);
                }
            });

            sendData.ToAddress = string.Join(";", SendItems.Select(x => x.Tag));

            if (!SendItems.Any(x => x.IsContainFee))
            {
                sendData.ArrivalAmount = sendData.Amount;
            }
            else
            {
                if (!StaticViewModel.GlobalViewModel.IsEnableProfessional)
                {
                    sendData.ArrivalAmount = (amountAll - feeValue) / Math.Pow(10, 8);
                }
                else
                {
                    sendData.ArrivalAmount = amountAll / Math.Pow(10, 8);
                }
            }
            data.Token = sendData;
            data.SetCallBack(() =>
            {
                SendDataToService();
            });

            SendMessenger(Pages.ConfirmSendPage, data);
            UpdatePage(Pages.ConfirmSendPage);
        }
Ejemplo n.º 21
0
 void OnGetRequest(SendMsgData <PageUnspent> msgData)
 {
     _msgData    = msgData;
     CurrentPage = 1;
     InitData();
 }