Esempio n. 1
0
        /// <summary>
        /// 递增发件量
        /// </summary>
        /// <returns>true:可以继续发件;false:发件已达到最大数量</returns>
        public bool IncreaseSentCount(LiteDBManager liteDb, Setting globalSetting)
        {
            // 判断日期是否是今天,如果不是,则将当天发件数置 0
            string date = DateTime.Now.ToString("yyyy-MM-dd");

            if (date != settings.recordDate)
            {
                settings.recordDate     = date;
                settings.sentCountToday = 0;
            }

            settings.sentCountToday++;
            settings.sendCountTotal++;

            // 保存到数据库
            liteDb.Update(this);

            int maxEmails = settings.maxEmailsPerDay > 0 ? settings.maxEmailsPerDay : globalSetting.maxEmailsPerDay;

            if (maxEmails < 1)
            {
                return(true);
            }

            return(settings.sendCountTotal <= maxEmails);
        }
Esempio n. 2
0
 public VM()
 {
     apiClient           = new APIClient();
     liteDbManager       = new LiteDBManager();
     fiatCurrencyManager = new FiatCurrencyManager();
     imageManager        = new ImageManager();
     languageManager     = new LanguageManager();
 }
Esempio n. 3
0
        /// <summary>
        /// 创建预览
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="subject"></param>
        /// <param name="receivers"></param>
        /// <param name="data"></param>
        /// <param name="templateId"></param>
        /// <param name="liteDb"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        public static bool CreateEmailPreview(string userId, JToken data, LiteDBManager liteDb, out string message)
        {
            EmailPreview temp = new EmailPreview(data, liteDb);

            // 保存到全局
            InstanceCenter.EmailPreview.Upsert(userId, temp);

            message = "success";
            return(true);
        }
Esempio n. 4
0
        public SendThread(string userId, SendBox sendBox, LiteDBManager liteDb)
        {
            _userId  = userId;
            _sendBox = sendBox;
            _liteDb  = liteDb;

            // 获取设置
            // 获取设置
            _setting = _liteDb.SingleOrDefault <Setting>(s => s.userId == userId);

            _cancellationTokenSource = new CancellationTokenSource();
        }
Esempio n. 5
0
        // 新建发送任务
        public static bool CreateSendTask(string historyId, string userId, LiteDBManager liteDb, out string message)
        {
            // 判断原来任务的状态
            if (InstanceCenter.SendTasks[userId] != null && !InstanceCenter.SendTasks[userId].SendStatus.HasFlag(SendStatus.SendFinish))
            {
                message = "任务正在进行中";
                return(false);
            }

            SendTask temp = new SendTask(historyId, userId, liteDb);

            InstanceCenter.SendTasks.Upsert(userId, temp);
            message = "success";
            return(true);
        }
Esempio n. 6
0
        public static bool CreateEmailReady(string userId, JToken data, LiteDBManager liteDb, out string message)
        {
            // 判断是否有发送任务正在进行
            if (InstanceCenter.SendTasks[userId] != null && !InstanceCenter.SendTasks[userId].SendStatus.HasFlag(SendStatus.SendFinish))
            {
                message = "有邮件正在发送中";
                return(false);
            }

            EmailReady temp = new EmailReady(userId, data, liteDb);

            InstanceCenter.EmailReady.Upsert(userId, temp);

            message = "success";
            return(true);
        }
Esempio n. 7
0
        protected override void ConfigureIoC(IStyletIoCBuilder builder)
        {
            // Configure the IoC container in here

            // 注册 IoC
            var userConfig = new UserConfig();

            builder.Bind <UserConfig>().ToInstance(userConfig);
            var liteDb = new LiteDBManager(userConfig);

            builder.Bind <LiteDBManager>().ToInstance(liteDb);

            // 进行系统层面的初始化
            // 暂无

            base.ConfigureIoC(builder);
        }
Esempio n. 8
0
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="subject"></param>
        /// <param name="receivers"></param>
        /// <param name="data"></param>
        /// <param name="templateId"></param>
        /// <param name="liteDb"></param>
        protected EmailPreview(JToken data, LiteDBManager liteDb)
        {
            LiteDb = liteDb;

            // 生成
            Senders     = data.SelectToken(Fields.senders).ValueOrDefault(new JArray());
            Subject     = data.SelectToken(Fields.subject).ValueOrDefault(Fields.default_);
            Receivers   = data.SelectToken(Fields.receivers).ValueOrDefault(new JArray());
            Data        = data.SelectToken(Fields.data).ValueOrDefault(new JArray());
            Attachments = data.SelectToken(Fields.attachments).ValueOrDefault(new JArray()).ToList().ConvertAll(item => new EmailAttachment()
            {
                fullName = item.ToString()
            });
            CopyTo = data.SelectToken(Fields.copyToEmails).ValueOrDefault(new JArray());

            string templateId = data.Value <string>(Fields.templateId);

            // 获取模板
            Template = LiteDb.SingleOrDefault <Template>(t => t._id == templateId);
        }
Esempio n. 9
0
        private async void OnSaveClick()
        {
            Investment investment;

            if (_SelectedInvestmentMode == strings[CryptoFolioStrings.INVESTMENDMODE_BUY])
            {
                investment = new Investment
                {
                    CryptoCurrencySymbol = Coin.Symbol,
                    FiatCurrencySymbol   = DependencyService.Get <IVM>().GetFiatCurrencyManager().GetDefaultFiatCurrency().Symbol,
                    Expense = _Spent,
                    Revenue = _Received,
                    TransactionTimestamp = _TransactionDate,
                    Comment = _Comment,
                    Mode    = ServiceHelper.Base.InvestmentModes.BUY_CRYPTO
                };
            }
            else
            {
                investment = new Investment
                {
                    CryptoCurrencySymbol = Coin.Symbol,
                    FiatCurrencySymbol   = DependencyService.Get <IVM>().GetFiatCurrencyManager().GetDefaultFiatCurrency().Symbol,
                    Expense = _Received,
                    Revenue = _Spent,
                    TransactionTimestamp = _TransactionDate,
                    Comment = _Comment,
                    Mode    = ServiceHelper.Base.InvestmentModes.SELL_CRYPTO
                };
            }

            LiteDBManager liteDBManager = DependencyService.Get <IVM>().GetLiteDbManager();

            liteDBManager.SaveInvestment(investment);

            await Navigation.PopAsync();
        }
Esempio n. 10
0
 private SendTask(string historyId, string userId, LiteDBManager liteDb)
 {
     _userId = userId;
     _currentHistoryGroupId = historyId;
     _liteDb = liteDb;
 }
Esempio n. 11
0
 public EmailReady(string userId, JToken data, LiteDBManager liteDb) : base(data, liteDb)
 {
     _userId = userId;
 }