Example #1
0
        protected virtual bool SkipExtNulls(DataRow R, CopyContext Ctx)
        {
            foreach (string field in SkipFieldsWhenNull)
            {
                if (R[field] == DBNull.Value)
                {
                    continue;
                }

                object o = null;
                if (myContext.IsDefined(field))
                {
                    //I traduttori privati prevalgono su quelli pubblici e non risentono del codice esterno
                    o = myContext.Translate(field, R[field]);
                }
                else
                {
                    o = Ctx.Translate(GetExternalCodeForField(field), R[field]);
                }
                if (o == null || o == DBNull.Value)
                {
                    return(true);
                }
            }
            return(false);
        }
Example #2
0
        protected virtual void Translate(CopyContext Ctx, DataRow R)
        {
            DataTable T = R.Table;

            foreach (DataColumn C in T.Columns)
            {
                try {
                    object O;
                    if (myContext.IsDefined(C.ColumnName))
                    {
                        //I traduttori privati prevalgono su quelli pubblici e non risentono del codice esterno
                        O = myContext.Translate(C.ColumnName, R[C.ColumnName]);
                    }
                    else
                    {
                        O = Ctx.Translate(GetExternalCodeForField(C.ColumnName), R[C.ColumnName]);
                    }

                    if (O == null && AllowNoTransl.Contains(C.ColumnName))
                    {
                        O = DBNull.Value;
                    }

                    R[C.ColumnName] = O;
                }
                catch (Exception E) {
                    MessageBox.Show("La colonna " + C.ColumnName + " della tabella " + table + " contiene il valore " +
                                    R[C.ColumnName].ToString() + " che non è stato possibile tradurre ");
                    throw E;
                }
            }
        }