Пример #1
0
        private void LoadOrCreateDefaultBudget()
        {
            Diagnostics.Start();
            using (var tx = Database.GetTransaction())
            {
                var cashFlowList = CachedService.GetAllCashFlows();

                var sql = PetaPoco.Sql.Builder
                          .Select("*")
                          .From("Budget")
                          .Where("@0 BETWEEN DateFrom AND DateTo", BudgetDate.Date);
                Budget = Database.FirstOrDefault <Budget>(sql);
                if (Budget == null)
                {
                    Budget = Budget.CreateEmptyForDate(BudgetDate, cashFlowList);
                    Database.Save(Budget);
                }

                tx.Complete();
                PublishRefreshRequest(Budget);
            }

            Budget.PropertyChanged += (s, e) =>
            {
                Save(s as Budget);
            };
            Diagnostics.Stop();
        }