Example #1
0
 /// <summary>
 /// Restore a form's position and that of several splitters.
 /// </summary>
 /// <param name="windowSettings">Holds the settings to restore.</param>
 /// <param name="form">The form to restore. May be null if you just want
 /// to record splitter positions.</param>
 /// <param name="splitters">The splitters to restore. You can change
 /// some entries to null if you no longer use that position in the
 /// list.</param>
 public static void Restore(
     WindowSettings windowSettings,
     Form form,
     params SplitContainer[] splitters)
 {
     if (windowSettings != null)
     {
         windowSettings.Restore(form, splitters);
     }
 }
Example #2
0
 /// <summary>
 /// Record a form's position and that of several splitters.
 /// </summary>
 /// <param name="windowSettings">Where the settings should be recorded,
 /// or null.</param>
 /// <param name="form">The form to record. May be null if you just want
 /// to record splitter positions.</param>
 /// <param name="splitters">The splitters to record. You can change
 /// some entries to null if you no longer use that position in the
 /// list.</param>
 /// <returns>The windowSettings parameter, or a new WindowSettings
 /// object if that was null.</returns>
 public static WindowSettings Record(
     WindowSettings windowSettings,
     Form form,
     params SplitContainer[] splitters)
 {
     if (windowSettings == null)
     {
         windowSettings = new WindowSettings();
     }
     windowSettings.Record(form, splitters);
     return(windowSettings);
 }
Example #3
0
        public FormMain()
        {
            //#if DEBUG
            //    var databasePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "RBSoft",
            //        "Sales Manager", "database.smdb");
            //    if (File.Exists(databasePath))
            //    {
            //        File.Delete(databasePath);
            //    }
            //#endif

            InitializeComponent();
            dateTimePickerFrom.Value = new DateTime(dateTimePickerTo.Value.Year, dateTimePickerTo.Value.Month, 1, 0, 0,
                                                    0);
            dateTimePickerTo.Value     = dateTimePickerTo.Value.AbsoluteEnd();
            dateTimePickerFrom.MaxDate = dateTimePickerTo.Value.AbsoluteStart();
            HelperMethods.FixFonts(this);
            WindowSettings.Restore(Settings.Default.WindowSettings, this);
            Application.CurrentCulture = new CultureInfo("en-US")
            {
                NumberFormat = { CurrencyNegativePattern = 1 }
            };
            objectListViewTransactions.RestoreState(
                Convert.FromBase64String(Settings.Default.ObjectListViewTransactionsState));
            olvColumnDate.AspectGetter += delegate(object rowObject)
            {
                var transaction = rowObject as Transaction;
                return(transaction?.Date.ToString("d", Application.CurrentCulture) ??
                       DateTime.Now.ToString("d", Application.CurrentCulture));
            };
            objectListViewTransactions.AboutToCreateGroups  += ObjectListViewTransactionsOnAboutToCreateGroups;
            objectListViewTransactions.BeforeCreatingGroups +=
                (sender, args) =>
            {
                args.Parameters.GroupComparer = args.Parameters.GroupByColumn.Equals(olvColumnDate)
                        ? new GroupDateComparer(args.Parameters.PrimarySortOrder)
                        : null;
            };
            thirtyMinutesToolStripMenuItem.Checked            = Settings.Default.AutoRefreshInterval.Equals(30 * 60 * 1000);
            oneHourToolStripMenuItem.Checked                  = Settings.Default.AutoRefreshInterval.Equals(60 * 60 * 1000);
            twoHourToolStripMenuItem.Checked                  = Settings.Default.AutoRefreshInterval.Equals(2 * 60 * 60 * 1000);
            threeHourToolStripMenuItem.Checked                = Settings.Default.AutoRefreshInterval.Equals(3 * 60 * 60 * 1000);
            fourHourToolStripMenuItem.Checked                 = Settings.Default.AutoRefreshInterval.Equals(4 * 60 * 60 * 1000);
            enableUpdateNotificationToolStripMenuItem.Checked = Settings.Default.EnableUpdateNotification;
            minimizeToTrayToolStripMenuItem.Checked           = Settings.Default.MinimizeToTray;
            using (var db = new SalesManagerContext())
            {
                db.Database.EnsureCreated();
                if (!db.Countries.Any())
                {
                    var referral = new Country
                    {
                        ID   = 1,
                        Name = "Referral",
                        Tax  = 0
                    };
                    db.Countries.Add(referral);
                    db.SaveChanges();
                }
                if (!db.Products.Any())
                {
                    var all = new Product
                    {
                        ID           = 1,
                        Name         = "All",
                        BuyerFee     = 0,
                        AuthorFee    = 0,
                        Price        = 0,
                        PartnerShare = 0,
                        Account      = null
                    };
                    db.Products.Add(all);
                    var referral = new Product
                    {
                        ID           = 2,
                        Name         = "Referral",
                        BuyerFee     = 0,
                        AuthorFee    = 0,
                        Price        = 0,
                        PartnerShare = 0,
                        Account      = null
                    };
                    db.Products.Add(referral);
                    db.SaveChanges();
                }
                comboBoxProducts.DisplayMember = "Name";
                comboBoxAccounts.DisplayMember = "Name";
            }
            _timer = new Timer
            {
                Interval = Settings.Default.AutoRefreshInterval,
                Enabled  = true
            };
            _timer.Tick += toolStripButtonUpdate_Click;
            _timer.Start();
            filterTextBox.Select();
        }