public StockDetailsViewModel()
        {
            if (DesignerProperties.GetIsInDesignMode(new System.Windows.DependencyObject()))
            {
                return;
            }
            try
            {
                ImgImp = new ImageImporter();
                if (DesignerProperties.GetIsInDesignMode(new System.Windows.DependencyObject()))
                {
                    return;
                }

                StockObj = ObjectMessenger.FindObject("SelectedStockItem");

                StockObj.UpdateCurrentObject();
                StockHistory            = new ObservableCollection <skStockHistory>(StockObj.StockHistory.GetStockHistory(StockObj.Stockid));
                ImageLIst               = new ObservableCollection <string>();
                _UpdateStock            = new Command(BasicStockUpdate);
                _UploadPhotos           = new Command(PhotoUpload);
                _OpenTransactionDetails = new Command(OpenTransactionObject);
                _Loaded = new AsynchronousCommand(Load);
                _SubmitPurchaseLinkCommand = new Command(SubmitPurchaseLinkMethod);
                ObjectSourceList           = new ObservableCollection <Data.Interfaces.ITransaction>(skPurchase.GetPurchases());
                _LinkPurchaseCommand       = new Command(LinkPurchaseMethod);
                FillComboBoxes();
            }
            catch (Exception E)
            {
                ExepionLogger.Logger.LogException(E);
                ExepionLogger.Logger.Show(E);
            }
        }
        private void SubmitPurchaseLinkMethod()
        {
            try
            {
                StockObj.LinktoTransaction((skPurchase)SelectedObject, CurrentSession.CurrentUserObject.UserID);
                LinkVisibility = Visibility.Hidden;

                StockObj.UpdateCurrentObject();
            }
            catch (Exception e)
            {
                ExepionLogger.Logger.LogException(e);
                ExepionLogger.Logger.Show(e);
            }
        }
        private void OpenTransactionObject(object paramater)
        {
            try
            {
                switch (paramater.ToString())
                {
                case "Purchase":
                    StockObj.PopulatePurchaseObj();
                    BuissnessHelpers.LoadTransaction(StockObj.PurchaseObject);
                    break;

                case "Sale":
                    StockObj.PopulateSaleObj();
                    BuissnessHelpers.LoadTransaction(StockObj.SaleObject);
                    break;
                }
            }
            catch (Exception E)
            {
                ExepionLogger.Logger.LogException(E);
                ExepionLogger.Logger.Show(E);
            }
        }