private void FormulaGrid_CellExitedEditMode(object sender, CellExitedEditingEventArgs e)
 {
     Trace.TraceInformation("CellExitedEditMode: " + e.Cell.ToString());
 }
        void QuotePriceGrid_CellExitedEditMode(object sender, CellExitedEditingEventArgs e)
        {
            QuotePriceForInstrument quotePriceForInstrument;

            bool? isValidPrice = null;
            switch (e.Cell.Column.Key)
            {
                case "AdjustSingle":
                    QuotePriceClient quotePriceClient = e.Cell.Row.Data as QuotePriceClient;
                    quotePriceForInstrument = this._ClientQuotePriceForInstrument.SingleOrDefault(P => P.InstrumentClient.Id == quotePriceClient.InstrumentId);

                    isValidPrice = quotePriceForInstrument.IsValidPrice(quotePriceClient, quotePriceClient.AdjustSingle);

                    if (isValidPrice.HasValue)
                    {
                        if (isValidPrice.Value &&
                            MessageBox.Show("Invalid price,continue?", "Alert!", MessageBoxButton.OKCancel) == MessageBoxResult.Cancel)
                        {
                            return;
                        }
                    }
                    else
                    {
                        this._CommonDialogWin.ShowDialogWin("Invalid price!", "Error");
                        return;
                    }
                    quotePriceForInstrument.AdjustCurrentPrice(quotePriceClient.AdjustSingle, quotePriceClient, false);
                    break;
                case "Adjust":
                    quotePriceForInstrument = e.Cell.Row.Data as QuotePriceForInstrument;

                    isValidPrice = quotePriceForInstrument.IsValidPrice(quotePriceForInstrument.Adjust);
                    if (isValidPrice.HasValue)
                    {
                        if (isValidPrice.Value
                        && MessageBox.Show("Invalid price,continue?", "Alert!", MessageBoxButton.OKCancel) == MessageBoxResult.Cancel)
                        {
                            return;
                        }
                    }
                    else
                    {
                        this._CommonDialogWin.ShowDialogWin("Invalid price!", "Error");
                        return;
                    }
                    quotePriceForInstrument.AdjustCurrentPrice(quotePriceForInstrument.Adjust, true);
                    break;
                case "AdjustLot":
                    quotePriceForInstrument = e.Cell.Row.Data as QuotePriceForInstrument;
                    quotePriceForInstrument.AdjustCurrentLot(quotePriceForInstrument.AdjustLot, true);
                    break;
            }
        }
 private void GroupNetPositionGrid_CellExitedEditMode(object sender, CellExitedEditingEventArgs e)
 {
     AccountGroupGNP accountGroupGNP = e.Cell.Row.Data as AccountGroupGNP;
     if (accountGroupGNP != null)
     {
         switch (e.Cell.Column.Key)
         {
             case "OIPercent":
                 decimal oldOiPercent = accountGroupGNP.OIPercent;
                 bool isNumber = Toolkit.IsNumber(accountGroupGNP.OIPercent.ToString());
                 if (!isNumber || accountGroupGNP.OIPercent > 100 || accountGroupGNP.OIPercent < 0)
                 {
                     accountGroupGNP.OIPercent = oldOiPercent;
                     accountGroupGNP.OldOIPercent = oldOiPercent;
                     return;
                 }
                 this.CalculateOIPercentQuantity(accountGroupGNP, false, accountGroupGNP.OldOIPercent);
                 break;
             default:
                 break;
         }
     }
 }