示例#1
0
        private void AddBarrelRecipe()
        {
            frmBarrelLoadDev lfrmSC = new frmBarrelLoadDev(_BarrelID);

            lfrmSC.ShowDialog();
            SelectedRecipe = new Recipe();
            if (lfrmSC.SelectedCartridgeName == null)
            {
                return;
            }
            string lbullet             = lfrmSC.SelectedBulletName;
            string lCaseName           = lfrmSC.SelectedCaseName;
            string lPwdrNm             = lfrmSC.SelectedPowderName;
            string lPrmrName           = lfrmSC.SelectedPrimerName;
            double lCaseNeckClearance  = lfrmSC.CaseNeckClearance;
            double lHeadSpaceClearance = lfrmSC.HeadSpaceClearance;

            lfrmSC = null;
            //TODO: check for null return on all class gets and exit if a null is returned.
            SelectedRecipe.RecpCartridge  = _Barrel.ParentCartridge;
            SelectedRecipe.CartridgeID    = SelectedRecipe.RecpCartridge.ID;
            SelectedRecipe.RecpBullet     = LawlerBallisticsFactory.GetBulletFromInfo(lbullet);
            SelectedRecipe.BulletID       = SelectedRecipe.RecpBullet.ID;
            SelectedRecipe.RecpCase       = LawlerBallisticsFactory.GetCaseFromName(lCaseName);
            SelectedRecipe.CaseID         = SelectedRecipe.RecpCase.ID;
            SelectedRecipe.CaseTrimLength = _Barrel.NeckDepth - lCaseNeckClearance;
            SelectedRecipe.HeadSpace      = _Barrel.HeadSpace - lHeadSpaceClearance;
            SelectedRecipe.RecpPowder     = LawlerBallisticsFactory.GetPowderFromName(lPwdrNm);
            SelectedRecipe.PowderID       = SelectedRecipe.RecpPowder.ID;
            SelectedRecipe.RecpPrimer     = LawlerBallisticsFactory.GetPrimerFromName(lPrmrName);
            SelectedRecipe.PrimerID       = SelectedRecipe.RecpPrimer.ID;
            SelectedRecipe.Name           = "LoadRecipe_" + (LawlerBallisticsFactory.MyRecipes.Count + 1).ToString();
            _frmLoadRecipe = new frmRecipe(true, true);
            _frmLoadRecipe.Show();
        }
 /// <summary>
 /// Initializes a new instance of the MainViewModel class.
 /// </summary>
 public MainViewModel()
 {
     LawlerBallisticsFactory.InitializeFactory();
     OpenBCestimateCommand  = new RelayCommand(OpenBCestimate, null);
     OpenBcalculatorCommand = new RelayCommand(OpenBcalculator, null);
     ExitCommand            = new RelayCommand(ExitFunc, null);
 }
示例#3
0
        private void cboCase_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            string lCaseID = LawlerBallisticsFactory.GetCaseID(cboCase.SelectedItem.ToString());

            _PrimerList           = LawlerBallisticsFactory.GetPrimerList(lCaseID);
            cboPrimer.IsEnabled   = true;
            cboPrimer.ItemsSource = PrimerList;
        }
示例#4
0
 public BarrelRecipeViewModel(string BarrelIDval)
 {
     //GalaSoft.MvvmLight.Messaging.Messenger.Default.Register<PropertyChangedMsg>(this, (action ) => ReceiveMessage(action ));
     Messenger.Default.Register <PropertyChangedMsg>(this, (Msg) => ReceiveMessage(Msg));
     BarrelID               = BarrelIDval;
     _PerformancePlot       = new PlotModel();
     _PerformancePlot.Title = "Group Data";
     _BarrelRecipes         = LawlerBallisticsFactory.BarrelRecipes(BarrelID);
     LoadRecipeCommand      = new RelayCommand(LoadThisRecipe, null);
     SaveRecipeDataCommand  = new RelayCommand(SaveRecipeCollection, null);
     SaveRecipeCommand      = new RelayCommand(SaveRecipe, null);
     _Barrel = LawlerBallisticsFactory.GetBarrel(BarrelID);
 }
示例#5
0
 public frmBarrelLoadDev(string BarrelID)
 {
     InitializeComponent();
     _Barrel               = LawlerBallisticsFactory.GetBarrel(BarrelID);
     _CaseList             = LawlerBallisticsFactory.GetCaseList(_Barrel.CartridgeID);
     _PowderList           = LawlerBallisticsFactory.GetCartridgePowderList(_Barrel.CartridgeID);
     _BulletList           = LawlerBallisticsFactory.GetCartridgeBulletList(_Barrel.CartridgeID);
     _CaseNeckClearance    = 0.005;
     cboNeckClearance.Text = "0.005";
     cboHeadClearance.Text = "0.0015";
     cboCase.ItemsSource   = CaseList;
     cboPowder.ItemsSource = PowderList;
     cboBullet.ItemsSource = BulletList;
 }
示例#6
0
        private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            string lCid = "";

            _CaseList   = new List <string>();
            _BulletList = new List <string>();
            foreach (Cartridge lcart in LawlerBallisticsFactory.MyCartridges)
            {
                if (lcart.Name == _SelectedCartridgeName)
                {
                    lCid        = lcart.ID;
                    _BulletDia  = lcart.BulletDiameter;
                    _PowderList = new List <string>();
                    if (lcart.PowderIDlist != null)
                    {
                        foreach (string lpid in lcart.PowderIDlist)
                        {
                            _PowderList.Add(LawlerBallisticsFactory.GetPowderName(lpid));
                        }
                    }
                    cboPowder.ItemsSource = PowderList;
                    cboPowder.IsEnabled   = true;
                    break;
                }
            }
            foreach (Case lc in LawlerBallisticsFactory.MyCases)
            {
                if (lc.CartridgeID == lCid)
                {
                    _CaseList.Add(lc.Name);
                }
            }
            foreach (Bullet lb in LawlerBallisticsFactory.MyBullets)
            {
                if (lb.Diameter == _BulletDia)
                {
                    _BulletList.Add((lb.Manufacturer + "|" + lb.Model + "|" + lb.Weight));
                }
            }
            cboBullet.ItemsSource = BulletList;
            cboCase.ItemsSource   = CaseList;
            cboCase.IsEnabled     = true;
            cboBullet.IsEnabled   = true;
        }
        private void PwdrKeyUp(System.Windows.Input.KeyEventArgs e)
        {
            try
            {
                switch (e.Key)
                {
                case System.Windows.Input.Key.Delete:
                    string            lmsg     = "Delete the selected powder option?";
                    string            lcaption = "Delete Cartridge Powder Option";
                    MessageBoxButtons lbtns    = MessageBoxButtons.YesNo;
                    DialogResult      lrst     = MessageBox.Show(lmsg, lcaption, lbtns, MessageBoxIcon.Warning);
                    if (lrst == DialogResult.Yes)
                    {
                        foreach (string lp in SelectedCartridge.PowderIDlist)
                        {
                            if (LawlerBallisticsFactory.GetPowderName(lp) == SelectedCartridgePowderName)
                            {
                                SelectedCartridge.PowderIDlist.Remove(lp);
                                break;
                            }
                        }
                    }
                    SelectedCartridge.Refresh();
                    RaisePropertyChanged(nameof(SelectedCartridge));
                    RaisePropertyChanged(nameof(SelectedCartridgePowderList));
                    break;

                case System.Windows.Input.Key.OemPlus:

                    break;
                }
            }
            catch
            {
            }
        }
        public void AddPowder(string PowderName)
        {
            string lPwdrID;
            bool   lLoaded = false;

            lPwdrID = LawlerBallisticsFactory.GetPowderID(PowderName);
            if (SelectedCartridge.PowderIDlist != null)
            {
                foreach (string lp in SelectedCartridge.PowderIDlist)
                {
                    if (lp == lPwdrID)
                    {
                        lLoaded = true;
                        break;
                    }
                }
            }
            if (!lLoaded)
            {
                SelectedCartridge.PowderIDlist.Add(lPwdrID);
            }
            SelectedCartridge.Refresh();
            RaisePropertyChanged(nameof(SelectedCartridgePowderList));
        }
        private void AddSAMMIRecipe()
        {
            frmSAAMI_LoadDev lfrmSC = new frmSAAMI_LoadDev();

            lfrmSC.ShowDialog();
            SelectedRecipe = new Recipe();
            if (lfrmSC.SelectedCartridgeName == null)
            {
                return;
            }
            string lcn       = lfrmSC.SelectedCartridgeName;
            string lbullet   = lfrmSC.SelectedBulletName;
            string lCaseName = lfrmSC.SelectedCaseName;
            string lPwdrNm   = lfrmSC.SelectedPowderName;
            string lPrmrName = lfrmSC.SelectedPrimerName;

            lfrmSC = null;
            //TODO: check for null return on all class gets and exit if a null is returned.
            SelectedRecipe.RecpCartridge  = LawlerBallisticsFactory.GetCartridgeFromName(lcn);
            SelectedRecipe.CartridgeID    = SelectedRecipe.RecpCartridge.ID;
            SelectedRecipe.RecpBullet     = LawlerBallisticsFactory.GetBulletFromInfo(lbullet);
            SelectedRecipe.BulletID       = SelectedRecipe.RecpBullet.ID;
            SelectedRecipe.RecpCase       = LawlerBallisticsFactory.GetCaseFromName(lCaseName);
            SelectedRecipe.CaseID         = SelectedRecipe.RecpCase.ID;
            SelectedRecipe.CaseTrimLength = SelectedRecipe.RecpCartridge.CaseTrimLngth;
            SelectedRecipe.HeadSpace      = ((SelectedRecipe.RecpCartridge.HeadSpaceMax -
                                              SelectedRecipe.RecpCartridge.HeadSpaceMin) / 2) + SelectedRecipe.RecpCartridge.HeadSpaceMin;
            SelectedRecipe.COAL       = SelectedRecipe.RecpCartridge.MaxCOAL;
            SelectedRecipe.RecpPowder = LawlerBallisticsFactory.GetPowderFromName(lPwdrNm);
            SelectedRecipe.PowderID   = SelectedRecipe.RecpPowder.ID;
            SelectedRecipe.RecpPrimer = LawlerBallisticsFactory.GetPrimerFromName(lPrmrName);
            SelectedRecipe.PrimerID   = SelectedRecipe.RecpPrimer.ID;
            SelectedRecipe.Name       = "LoadRecipe_" + (LawlerBallisticsFactory.MyRecipes.Count + 1).ToString();
            _frmLoadRecipe            = new frmRecipe(true, false);
            _frmLoadRecipe.Show();
        }
示例#10
0
 private void SaveRecipeCollection()
 {
     LawlerBallisticsFactory.SaveMyRecipes();
 }
示例#11
0
 public void SetLoadRecipe(string ID)
 {
     SelectedRecipe = LawlerBallisticsFactory.GetRecipe(ID);
 }
示例#12
0
        private void imgGun_Loaded(object sender, RoutedEventArgs e)
        {
            GunsViewModel lDC = (GunsViewModel)this.DataContext;

            imgGun.Source = LawlerBallisticsFactory.ConvertToBitmap(lDC.SelectedGun.GunPic);
        }
示例#13
0
 private void SaveCases()
 {
     LawlerBallisticsFactory.SaveMyCases();
 }
 private void SaveCartridgeCollection()
 {
     LawlerBallisticsFactory.SaveMyCartridges();
 }
        private void imgCartridge_Loaded(object sender, RoutedEventArgs e)
        {
            CartridgesViewModel lDC = (CartridgesViewModel)this.DataContext;

            imgCartridge.Source = LawlerBallisticsFactory.ConvertToBitmap(lDC.SelectedCartridge.CartridgePic);
        }
示例#16
0
 private void SaveGunDB()
 {
     LawlerBallisticsFactory.SaveMyGuns();
 }
 private void SavePrimers()
 {
     LawlerBallisticsFactory.SaveMyPrimers();
 }
示例#18
0
 private void SaveBullets()
 {
     LawlerBallisticsFactory.SaveMyBullets();
 }