public static List <string> ProcessTabs(NgSubMenu pr)
        {
            List <string> tabs = new List <string>();

            foreach (var s in pr.Model.Fields)
            {
                if (IsValidToAdd(tabs, s.TabName))
                {
                    tabs.Add(s.TabName);
                }
            }
            return(tabs);
        }
        public static NgProject ToNgProgect(NgProject2 ng1)
        {
            NgProject ng = new NgProject();

            ng.Name = ng1.Name;
            ng.Path = ng1.Path;
            ng.MenuesList.Clear();
            ng.NetProject.DataBaseConnectionString = ng1.NetProject.DataBaseConnectionString;

            foreach (var ss in ng1.RadiosList)
            {
                NgRadio ch = new NgRadio();
                ch.Name = ss.Name;
                foreach (var op in ss.Options)
                {
                    NGOPT op1 = new NGOPT();
                    op1.Key   = op.Key;
                    op1.Value = op.Value;
                    ch.Options.Add(op1);
                }
                ng.RadiosList.Add(ch);
            }

            foreach (var ss in ng1.CombosList)
            {
                NGCombo cb = new NGCombo();
                cb.ServiceName = ss.ServiceName;
                cb.IsFixed     = ss.IsFixed;
                cb.Name        = ss.Name;
                cb.Key         = ss.Key;
                cb.Value       = ss.Value;
                foreach (var op in ss.Options)
                {
                    NGOPT op1 = new NGOPT();
                    op1.Key   = op.Key;
                    op1.Value = op.Value;
                    cb.Options.Add(op1);
                }
                ng.CombosList.Add(cb);
            }

            foreach (string ss in ng1.MenuesList)
            {
                ng.MenuesList.Add(ss);
            }
            foreach (var mn1 in ng1.Menues)
            {
                NgMenu mn = new NgMenu();
                mn.Index = mn1.Index;
                mn.Name  = mn1.Name;
                foreach (var s1 in mn1.Submenues)
                {
                    NgSubMenu s = new NgSubMenu();
                    foreach (var ts in s1.TabNameList)
                    {
                        s.TabNameList.Add(ts);
                    }
                    s.NetClassName       = s1.NetClassName;
                    s.CreateThisForm     = s1.CreateThisForm;
                    s.AllowAddNewFeature = s1.AllowAddNewFeature;
                    s.AllowEditFeature   = s1.AllowEditFeature;
                    s.AllowMultiDelete   = s1.AllowMultiDelete;
                    s.AllowDelete        = s1.AllowDelete;
                    s.DeleteFormMessage  = s1.DeleteFormMessage;
                    s.DeleteFormTitle    = s1.DeleteFormTitle;
                    s.DisplayName        = s1.DisplayName;
                    s.Index                = s1.Index;
                    s.IsTabbed             = s1.IsTabbed;
                    s.Name                 = s1.Name;
                    s.NumberOfRowsInPaging = s1.NumberOfRowsInPaging;
                    s.Tabs                 = s1.Tabs;
                    s.Menues               = s1.Menues;

                    NgFileProp m1 = new NgFileProp();
                    m1.Name = s1.Model.Name;
                    foreach (var f1 in s1.Model.Fields)
                    {
                        NgField f = new NgField();
                        f.IsIdentity           = f1.IsIdentity;
                        f.DisplayName          = f1.DisplayName;
                        f.ErrorMessage         = f1.ErrorMessage;
                        f.IncludeInSearch      = f1.IncludeInSearch;
                        f.SearchCondition      = f1.SearchCondition;
                        f.Index                = f1.Index;
                        f.Length               = f1.Length;
                        f.IsValidationRequired = f1.IsValidationRequired;
                        f.OriginalName         = f1.OriginalName;
                        f.TabName              = f1.TabName;
                        f.TabsRequired         = f1.TabsRequired;
                        f.ToDisplayInControls  = f1.ToDisplayInControls;
                        f.ToDisplayInGrid      = f1.ToDisplayInGrid;
                        f.Type           = f1.Type;
                        f.NetType        = f1.NetType;
                        f.ComboBoxSource = f1.ComboBoxSource;
                        f.RadioBoxSource = f1.RadioBoxSource;
                        f.IsPrimaryKey   = f1.IsPrimaryKey;
                        //f.CheckBoxSource = f1.CheckBoxSource;
                        foreach (var ss in ng1.CombosList)
                        {
                            if (ss.Name == f1.ComboBoxSource)
                            {
                                f.ComboxBox = ss;
                            }
                        }
                        foreach (var ss in ng1.RadiosList)
                        {
                            if (ss.Name == f1.RadioBoxSource)
                            {
                                f.RadioButton = ss;
                            }
                        }
                        f.ControlType = f1.ControlType;
                        m1.Fields.Add(f);
                    }
                    s.Model = m1;

                    mn.Submenues.Add(s);
                }
                ng.Menues.Add(mn);
            }
            return(ng);
        }