ATMLCommonLibrary.controls.signal.SignalFunctionTypeControl.signalAttributes_RowValidating C# (CSharp) Method

signalAttributes_RowValidating() private method

private signalAttributes_RowValidating ( object sender, System.Windows.Forms.DataGridViewCellCancelEventArgs e ) : void
sender object
e System.Windows.Forms.DataGridViewCellCancelEventArgs
return void
        private void signalAttributes_RowValidating( object sender, DataGridViewCellCancelEventArgs e )
        {
            var name = signalAttributes.Rows[e.RowIndex].Cells[0].Value as string;
            var type = signalAttributes.Rows[e.RowIndex].Cells[1].Value as string;
            var value = signalAttributes.Rows[e.RowIndex].Cells[2].Value as string;
            try
            {
                SignalFunctionType sf = _signalFunctionType as SignalFunctionType;
                XmlElement element = _signalFunctionType as XmlElement;
                if (sf != null && (!string.IsNullOrWhiteSpace(value) && IsPhysicalType( ATMLContext.NS_STDBSC, sf.GetType().Name, name)))
                {
                    var physical = new Physical( value );
                    physical.Validate();
                    signalAttributes.Rows[e.RowIndex].Cells[2].Style.BackColor =
                        signalAttributes.Rows[e.RowIndex].Cells[1].Style.BackColor;
                    signalAttributes.Rows[e.RowIndex].Cells[2].ToolTipText = "";
                }
                if (element != null)
                {
                    if (type != null && ( "Physical".Equals(type) || "Frequency".Equals(type) ) )//TODO: Lookup attribute type in schema
                    {
                        var physical = new Physical(value);
                        physical.Validate();
                        signalAttributes.Rows[e.RowIndex].Cells[2].Style.BackColor =
                            signalAttributes.Rows[e.RowIndex].Cells[1].Style.BackColor;
                        signalAttributes.Rows[e.RowIndex].Cells[2].ToolTipText = "";
                    }
                }
            }
            catch (Exception err)
            {
                signalAttributes.Rows[e.RowIndex].Cells[2].Style.BackColor = Color.LightPink;
                signalAttributes.Rows[e.RowIndex].Cells[2].ToolTipText = err.Message;
            }
        }