Пример #1
0
        private static GUTag ReadGUTagFromR(SQLiteDataReader r)
        {
            GUTag tag = new GUTag();

            //0. ID
            tag.Id = r.GetGuid(0);
            //1. Title
            tag.AddAlias(r.GetString(1));
            //2. Alias
            string alias = r.GetString(2);

            string[] aliasList = alias.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
            foreach (string a in aliasList)
            {
                tag.AddAlias(a);
            }

            //3. PID
            tag.PId = r.GetGuid(3);
            //4. Children
            string chilrend = r.GetString(4);

            string[] childList = chilrend.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
            foreach (string c in childList)
            {
                tag.AddChild(Guid.Parse(c));
            }

            return(tag);
        }
        public LinkedSheet GetLinkedSheet(string uniqueId, Guid projectGuid)
        {
            LinkedSheet lSheet = null;

            try
            {
                if (null != connection && null != command)
                {
                    using (SQLiteCommand cmd = new SQLiteCommand(connection))
                    {
                        cmd.CommandText = "SELECT * FROM LinkedSheets WHERE LinkedSheet_Element_Id= '" + uniqueId + "' AND LinkedSheet_Project_Id = '" + projectGuid.ToString() + "'";
                        using (SQLiteDataReader reader = cmd.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                lSheet         = new LinkedSheet();
                                lSheet.Id      = reader.GetGuid(reader.GetOrdinal("LinkedSheet_Id"));
                                lSheet.SheetId = reader.GetGuid(reader.GetOrdinal("LinkedSheet_Sheet_Id"));
                                Guid projectId = reader.GetGuid(reader.GetOrdinal("LinkedSheet_Project_Id"));
                                lSheet.LinkProject = new LinkedProject(projectGuid);

                                lSheet.LinkedElementId = reader.GetString(reader.GetOrdinal("LinkedSheet_Element_Id"));
                                lSheet.IsSource        = reader.GetBoolean(reader.GetOrdinal("LinkedSheet_IsSource"));
                                break;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string message = ex.Message;
            }
            return(lSheet);
        }
Пример #3
0
        private static void ReadViews(ref RevitSheetData sheetData)
        {
            try
            {
                sheetData.Views.Clear();
                using (SQLiteCommand cmd = new SQLiteCommand(connection))
                {
                    cmd.CommandText = "SELECT * FROM Views";
                    using (SQLiteDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            RevitView view = new RevitView();
                            view.Id   = reader.GetGuid(reader.GetOrdinal("View_Id"));
                            view.Name = reader.GetString(reader.GetOrdinal("View_Name"));
                            Guid sheetId = reader.GetGuid(reader.GetOrdinal("View_Sheet_Id"));
                            if (sheetId != Guid.Empty)
                            {
                                var sheetFound = from sheet in sheetData.Sheets where sheet.Id == sheetId select sheet;
                                if (sheetFound.Count() > 0)
                                {
                                    view.Sheet = sheetFound.First();
                                }
                            }

                            Guid viewTypeId = reader.GetGuid(reader.GetOrdinal("View_ViewType_Id"));
                            if (viewTypeId != Guid.Empty)
                            {
                                var viewTypeFound = from viewType in sheetData.ViewTypes where viewType.Id == viewTypeId select viewType;
                                if (viewTypeFound.Count() > 0)
                                {
                                    view.ViewType = viewTypeFound.First();
                                }
                            }

                            view.LocationU = reader.GetDouble(reader.GetOrdinal("View_LocationX"));
                            view.LocationV = reader.GetDouble(reader.GetOrdinal("View_LocationY"));

                            sheetData.Views.Add(view);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string message = ex.Message;
            }
        }
        public List <SheetParameter> GetSheetParameters()
        {
            List <SheetParameter> parameters = new List <SheetParameter>();

            try
            {
                if (null != connection && null != command)
                {
                    using (SQLiteCommand cmd = new SQLiteCommand(connection))
                    {
                        cmd.CommandText = "SELECT * FROM SheetParameters";
                        using (SQLiteDataReader reader = cmd.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                SheetParameter parameter = new SheetParameter();
                                parameter.ParameterId   = reader.GetGuid(reader.GetOrdinal("Parameter_Id"));
                                parameter.ParameterName = reader.GetString(reader.GetOrdinal("Parameter_Name"));
                                parameter.ParameterType = reader.GetString(reader.GetOrdinal("Parameter_Type"));
                                parameters.Add(parameter);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string message = ex.Message;
            }
            return(parameters);
        }
Пример #5
0
 private static void ReadDiscipline(ref RevitSheetData sheetData)
 {
     try
     {
         sheetData.Disciplines.Clear();
         using (SQLiteCommand cmd = new SQLiteCommand(connection))
         {
             cmd.CommandText = "SELECT * FROM Discipline";
             using (SQLiteDataReader reader = cmd.ExecuteReader())
             {
                 while (reader.Read())
                 {
                     Discipline discipline = new Discipline();
                     discipline.Id   = reader.GetGuid(reader.GetOrdinal("Discipline_Id"));
                     discipline.Name = reader.GetString(reader.GetOrdinal("Discipline_Name"));
                     sheetData.Disciplines.Add(discipline);
                 }
             }
         }
         sheetData.Disciplines = new ObservableCollection <Discipline>(sheetData.Disciplines.OrderBy(o => o.Name));
     }
     catch (Exception ex)
     {
         string message = ex.Message;
     }
 }
Пример #6
0
 public static void ReadReplaceItems(ref RevitSheetData sheetData)
 {
     try
     {
         sheetData.ItemMaps.Clear();
         using (SQLiteCommand cmd = new SQLiteCommand(connection))
         {
             cmd.CommandText = "SELECT * FROM ReplaceItems";
             using (SQLiteDataReader reader = cmd.ExecuteReader())
             {
                 while (reader.Read())
                 {
                     RevitItemMapper item = new RevitItemMapper();
                     item.ItemId        = reader.GetGuid(reader.GetOrdinal("ReplaceItem_Id"));
                     item.ItemType      = (MappingType)Enum.Parse(typeof(MappingType), reader.GetString(reader.GetOrdinal("ReplaceItem_Type")));
                     item.ParameterName = reader.GetString(reader.GetOrdinal("ReplaceItem_Parameter"));
                     item.SourceValue   = reader.GetString(reader.GetOrdinal("ReplaceItem_Source_Value"));
                     item.TargetValue   = reader.GetString(reader.GetOrdinal("ReplaceItem_Target_Value"));
                     sheetData.ItemMaps.Add(item);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         string message = ex.Message;
     }
 }
Пример #7
0
 private static void ReadViewTypes(ref RevitSheetData sheetData)
 {
     try
     {
         sheetData.ViewTypes.Clear();
         using (SQLiteCommand cmd = new SQLiteCommand(connection))
         {
             cmd.CommandText = "SELECT * FROM ViewTypes";
             using (SQLiteDataReader reader = cmd.ExecuteReader())
             {
                 while (reader.Read())
                 {
                     RevitViewType viewType = new RevitViewType();
                     viewType.Id       = reader.GetGuid(reader.GetOrdinal("ViewType_Id"));
                     viewType.Name     = reader.GetString(reader.GetOrdinal("ViewType_Name"));
                     viewType.ViewType = (ViewTypeEnum)Enum.Parse(typeof(ViewTypeEnum), reader.GetString(reader.GetOrdinal("ViewType_Enum")));
                     sheetData.ViewTypes.Add(viewType);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         string message = ex.Message;
     }
 }
        public List <Guid> GetSheetIds()
        {
            List <Guid> sheetIds = new List <Guid>();

            try
            {
                if (null != connection && null != command)
                {
                    using (SQLiteCommand cmd = new SQLiteCommand(connection))
                    {
                        cmd.CommandText = "SELECT Sheet_Id FROM Sheets";
                        using (SQLiteDataReader reader = cmd.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                Guid sheetId = reader.GetGuid(reader.GetOrdinal("Sheet_Id"));
                                sheetIds.Add(sheetId);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string message = ex.Message;
            }
            return(sheetIds);
        }
Пример #9
0
 private static void ReadSheetParameters(ref RevitSheetData sheetData)
 {
     try
     {
         sheetData.SheetParameters.Clear();
         using (SQLiteCommand cmd = new SQLiteCommand(connection))
         {
             cmd.CommandText = "SELECT * FROM SheetParameters";
             using (SQLiteDataReader reader = cmd.ExecuteReader())
             {
                 while (reader.Read())
                 {
                     SheetParameter parameter = new SheetParameter();
                     parameter.ParameterId   = reader.GetGuid(reader.GetOrdinal("Parameter_Id"));
                     parameter.ParameterName = reader.GetString(reader.GetOrdinal("Parameter_Name"));
                     parameter.ParameterType = reader.GetString(reader.GetOrdinal("Parameter_Type"));
                     sheetData.SheetParameters.Add(parameter);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         string message = ex.Message;
     }
 }
Пример #10
0
        public List <PluginSettings> GetHTMLPositions(string computerID)
        {
            List <PluginSettings> positions = new List <PluginSettings>();

            string connectionString = string.Format("Data Source={0};Version=3;", ConfigurationManager.AppSettings["DatabasePath"]);

            try
            {
                using (SQLiteConnection dbConnection = new SQLiteConnection(connectionString))
                {
                    dbConnection.Open();
                    SQLiteCommand cmd = new SQLiteCommand(@"SELECT PluginUID, Position_html_top, Position_html_left 
                                                            FROM PluginSettings 
                                                            WHERE ComputerID = @ComputerID",
                                                          dbConnection);
                    cmd.Parameters.AddWithValue("@ComputerID", computerID);

                    SQLiteDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                    while (reader.Read())
                    {
                        PluginSettings plugSet = new PluginSettings();
                        plugSet.ComputerID   = computerID;
                        plugSet.PluginUID    = reader.GetGuid(0);
                        plugSet.HTMLPosition = new HTMLPosition(reader.GetInt32(1), reader.GetInt32(2));
                        positions.Add(plugSet);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(positions);
        }
Пример #11
0
        public void Load()
        {
            mDB.Open();

            mLog.Debug("DB file opened successfully ");

            using (SQLiteCommand load = new SQLiteCommand(@"SELECT CharacterId,CharacterName,AccessToken,Expires,RefreshToken,UnreadCount,Permissions,LastMailId,FolderExpanded FROM Accounts ORDER BY CharacterName", mDB))
            {
                using (SQLiteDataReader reader = (SQLiteDataReader)load.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        mAccounts.Add(new Account(this, reader));
                    }
                }
            }

            using (SQLiteCommand load = new SQLiteCommand(@"SELECT Drafts.DraftId,Drafts.CharacterId,Drafts.IsReply,Drafts.LastModified,Drafts.Subject,Drafts.Body,DraftRecipients.RecipientType,DraftRecipients.RecipientId FROM Drafts LEFT JOIN DraftRecipients ON(Drafts.DraftId = DraftRecipients.DraftId)", mDB))
            {
                using (SQLiteDataReader reader = load.ExecuteReader())
                {
                    DraftMessage msg = null;
                    while (reader.Read())
                    {
                        Guid id = reader.GetGuid(0);
                        if (msg == null || msg.DraftId != id)
                        {
                            msg = new DraftMessage(id)
                            {
                                DB = this
                            };

                            mDrafts.Add(msg);

                            msg.AccountId    = reader.GetInt64(1);
                            msg.IsReply      = reader.GetBoolean(2);
                            msg.LastModified = reader.GetDateTime(3);
                            msg.Subject      = reader.GetString(4);
                            msg.Body         = reader.GetString(5);
                        }

                        if (!reader.IsDBNull(6) && !reader.IsDBNull(7))
                        {
                            msg.Recipients.Add(new UserCache.EntityInfo()
                            {
                                EntityType = (Common.EntityType)reader.GetInt32(6),
                                EntityID   = reader.GetInt64(7)
                            });
                        }
                    }
                }
            }
        }
Пример #12
0
        private static ProfileText CreatePatientProfile(SQLiteDataReader reader)
        {
            var patient = new ProfileText
            {
                Pkey       = reader.GetGuid(0),
                PatientId  = reader.IsDBNull(1) ? string.Empty : reader.GetString(1),
                FamilyName = reader.IsDBNull(2) ? string.Empty : reader.GetString(2),
                MiddleName = reader.IsDBNull(3) ? string.Empty : reader.GetString(3),
                FirstName  = reader.IsDBNull(4) ? string.Empty : reader.GetString(4)
            };

            return(patient);
        }
Пример #13
0
        public LinkedRevision GetLinkedRevision(string uniqueId, Guid projectGuid)
        {
            LinkedRevision lRevision = null;

            try
            {
                if (null != connection && null != command)
                {
                    using (SQLiteCommand cmd = new SQLiteCommand(connection))
                    {
                        cmd.CommandText = "SELECT * FROM LinkedRevisions WHERE LinkedRevision_Element_Id= '" + uniqueId + "' AND LinkedRevision_Project_Id = '" + projectGuid.ToString() + "'";
                        using (SQLiteDataReader reader = cmd.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                lRevision            = new LinkedRevision();
                                lRevision.Id         = reader.GetGuid(reader.GetOrdinal("LinkedRevision_Id"));
                                lRevision.RevisionId = reader.GetGuid(reader.GetOrdinal("LinkedRevision_Revision_Id"));
                                lRevision.Sequence   = reader.GetInt32(reader.GetOrdinal("LinkedRevision_Sequence"));
                                lRevision.Number     = reader.GetString(reader.GetOrdinal("LinkedRevision_Number"));
                                lRevision.NumberType = (NumberType)Enum.Parse(typeof(NumberType), reader.GetString(reader.GetOrdinal("LinkedRevision_NumberType")));

                                Guid projectId = reader.GetGuid(reader.GetOrdinal("LinkedRevision_Project_Id"));
                                lRevision.LinkProject = new LinkedProject(projectId);

                                lRevision.LinkedElementId = reader.GetString(reader.GetOrdinal("LinkedRevision_Element_Id"));
                                lRevision.IsSource        = reader.GetBoolean(reader.GetOrdinal("LinkedRevision_IsSource"));
                                break;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string message = ex.Message;
            }
            return(lRevision);
        }
Пример #14
0
        public SheetParameterValue GetSheetParameterValue(Guid paramId, Guid sheetId)
        {
            SheetParameterValue paramValue = null;

            try
            {
                if (null != connection && null != command)
                {
                    using (SQLiteCommand cmd = new SQLiteCommand(connection))
                    {
                        cmd.CommandText = "SELECT * FROM SheetParameterValues WHERE ParameterValue_Parameter_Id= '" + paramId.ToString() + "' AND ParameterValue_Sheet_Id = '" + sheetId.ToString() + "'";
                        using (SQLiteDataReader reader = cmd.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                paramValue = new SheetParameterValue();
                                paramValue.ParameterValueId = reader.GetGuid(reader.GetOrdinal("ParameterValue_Id"));
                                paramValue.SheetId          = reader.GetGuid(reader.GetOrdinal("ParameterValue_Sheet_Id"));
                                Guid parameterId = reader.GetGuid(reader.GetOrdinal("ParameterValue_Parameter_Id"));
                                paramValue.Parameter = new SheetParameter()
                                {
                                    ParameterId = parameterId
                                };
                                paramValue.ParameterValue = reader.GetString(reader.GetOrdinal("ParameterValue_Parameter_Value"));
                                break;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string message = ex.Message;
            }
            return(paramValue);
        }
Пример #15
0
        private CrashReport MakeCrashReport(SQLiteDataReader reader)
        {
            Guid    g         = reader.GetGuid(0);  //Guid.Parse(reader.GetString(0)));
            long    l         = reader.GetInt64(1);
            string  s1        = reader.GetString(2);
            string  s2        = reader.GetString(3);
            string  s3        = reader.GetString(4);
            string  s4        = reader.GetString(5);
            Version v         = Version.Parse(reader.GetString(6));
            string  s6        = reader.GetValue(7) as string;             //Not GetString as GetString throws an invalidCast
            string  s7        = reader.GetValue(8) as string;             //(or another exception, cannot rmbr)
            string  userstory = reader.GetValue(9) as string;             //If the value is null, and this and following fields
            string  trace     = reader.GetValue(10) as string;            //can be null as they aren't set before zip is downloaded


            return(new CrashReport(innerApi, g, l, s1, s2, s3, s4, v, s6, s7, trace, userstory));
        }
Пример #16
0
        public List <PluginSettings> GetAllPluginSettings()
        {
            List <PluginSettings> pluginSettingsList = new List <PluginSettings>();
            string connectionString = string.Format("Data Source={0};Version=3;", ConfigurationManager.AppSettings["DatabasePath"]);

            try
            {
                using (SQLiteConnection dbConnection = new SQLiteConnection(connectionString))
                {
                    dbConnection.Open();
                    SQLiteCommand cmd = new SQLiteCommand(@"SELECT ps.PluginUID, p.Name, ps.ComputerID, m.ComputerName, m.[Group], p.Type, ShowPlugin, 
                                                            RefreshInterval, Position_html_top, Position_html_left, CriticalValueLimit, WarningValueLimit 
                                                            FROM PluginSettings ps
                                                            JOIN Machines m on ps.ComputerID = m.ComputerID
                                                            JOIN Plugins p on ps.PluginUID = p.PluginUID
                                                            ORDER BY m.[Group], ps.ComputerID, ps.PluginUID",
                                                          dbConnection);

                    SQLiteDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                    while (reader.Read())
                    {
                        PluginSettings pluginSettings = new PluginSettings();
                        pluginSettings.PluginUID          = reader.GetGuid(0);
                        pluginSettings.PluginName         = reader.GetString(1);
                        pluginSettings.ComputerID         = reader.GetString(2);
                        pluginSettings.ComputerName       = reader.GetString(3);
                        pluginSettings.GroupName          = reader.GetString(4);
                        pluginSettings.PluginType         = (PluginType)reader.GetInt32(5);
                        pluginSettings.Show               = (reader.GetValue(6) == DBNull.Value) ? true : reader.GetBoolean(6);
                        pluginSettings.RefreshInterval    = (reader.GetValue(7) == DBNull.Value) ? 5 : reader.GetInt32(7); //TODO: default value for refreshInterval
                        pluginSettings.HTMLPosition       = new HTMLPosition(reader.GetInt32(8), reader.GetInt32(9));
                        pluginSettings.CriticalValueLimit = (reader.GetValue(10) == DBNull.Value) ? Double.MaxValue : reader.GetDouble(10);
                        pluginSettings.WarningValueLimit  = (reader.GetValue(11) == DBNull.Value) ? Double.MaxValue : reader.GetDouble(11);
                        pluginSettingsList.Add(pluginSettings);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(pluginSettingsList);
        }
Пример #17
0
        public Guid QuerySqlDB(Guid id)
        {
            if (queryCmd == null)
            {
                queryCmd = new SQLiteCommand(@"SELECT * FROM Opts where (ID=@ID)", Conn);
                queryCmd.Parameters.AddRange(new[] {
                    new SQLiteParameter("@ID", DbType.Guid),
                });
            }

            queryCmd.Parameters[0].Value = id;
            using (SQLiteDataReader r = queryCmd.ExecuteReader())
            {
                if (r.Read())
                {
                    Guid ret = r.GetGuid(0);
                    return(ret);
                }
                else
                {
                    return(Guid.Empty);
                }
            }
        }
Пример #18
0
        public T ReadFromDbReader <T>(SQLiteDataReader reader, string prefix = "") where T : new()
        {
            if (reader == null)
            {
                throw new ArgumentNullException("reader");
            }
            if (prefix == null)
            {
                prefix = "";
            }
            var type = typeof(T);

            if (!storedTypes.ContainsKey(type))
            {
                LoadInfo(type);
            }
            var cont = storedTypes[type];

            cont.LoadedCount++;

            var r = Activator.CreateInstance <T>();

            if (r is IDbLoader)
            {
                ((IDbLoader)r).Load(reader, prefix);
                return(r);
            }

            int[] cols = new int[cont.NameTable.Length];
            for (int i = 0; i < cols.Length; ++i)
            {
                cols[i] = reader.GetOrdinal(prefix + cont.NameTable[i]);
            }

            for (int i = 0; i < cols.Length; ++i)
            {
                var name = cont.NameTable[i];
                var prop = cont.Properties[name];
                var attr = cont.PropAttributes[name];
                var ind  = cols[i];


                switch (cont.PropertyType[name])
                {
                case "bo?": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, null, () => (bool?)reader.GetBoolean(ind)); break;

                case "sh?": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, null, () => (short?)reader.GetInt16(ind)); break;

                case "in?": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, null, () => (int?)reader.GetInt32(ind)); break;

                case "lo?": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, null, () => (long?)reader.GetInt64(ind)); break;

                case "fl?": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, null, () => (float?)reader.GetFloat(ind)); break;

                case "do?": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, null, () => (double?)reader.GetDouble(ind)); break;

                case "ch?": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, null, () => (char?)reader.GetChar(ind)); break;

                case "Da?": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, null, () => (DateTime?)reader.GetDateTime(ind)); break;

                case "Gu?": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, null, () => (Guid?)reader.GetGuid(ind)); break;

                case "str": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, null, () => reader.GetString(ind)); break;

                case "boo": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, false, () => reader.GetBoolean(ind)); break;

                case "sho": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, 0, () => reader.GetInt16(ind)); break;

                case "int": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, 0, () => reader.GetInt32(ind)); break;

                case "lon": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, 0, () => reader.GetInt64(ind)); break;

                case "flo": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, 0, () => reader.GetFloat(ind)); break;

                case "dou": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, 0, () => reader.GetDouble(ind)); break;

                case "cha": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, 0, () => reader.GetChar(ind)); break;

                case "Dat": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, new DateTime(), () => reader.GetDateTime(ind)); break;

                case "Gui": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, new Guid(), () => reader.GetGuid(ind)); break;

                case "en?": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, null, () => (int?)reader.GetInt32(ind)); break;

                case "enu": FillKnowProp(cont, name, r, prop, reader.IsDBNull(ind), attr.NullValue, 0, () => reader.GetInt32(ind)); break;

                default:
                {
                    if (!MatchTransfer(r, prop, () => reader.IsDBNull(ind) ? null : (bool?)reader.GetBoolean(ind)) &
                        !MatchTransfer(r, prop, () => reader.IsDBNull(ind) ? null : (short?)reader.GetInt16(ind)) &
                        !MatchTransfer(r, prop, () => reader.IsDBNull(ind) ? null : (int?)reader.GetInt32(ind)) &
                        !MatchTransfer(r, prop, () => reader.IsDBNull(ind) ? null : (long?)reader.GetInt64(ind)) &
                        !MatchTransfer(r, prop, () => reader.IsDBNull(ind) ? null : (float?)reader.GetFloat(ind)) &
                        !MatchTransfer(r, prop, () => reader.IsDBNull(ind) ? null : (double?)reader.GetDouble(ind)) &
                        !MatchTransfer(r, prop, () => reader.IsDBNull(ind) ? null : (char?)reader.GetChar(ind)) &
                        !MatchTransfer(r, prop, () => reader.IsDBNull(ind) ? null : (DateTime?)reader.GetDateTime(ind)) &
                        !MatchTransfer(r, prop, () => reader.IsDBNull(ind) ? null : (Guid?)reader.GetGuid(ind)) &
                        !MatchTransfer(r, prop, reader.IsDBNull(ind), attr.NullValue, null, () => reader.GetString(ind)) &
                        !MatchTransfer(r, prop, reader.IsDBNull(ind), attr.NullValue, false, () => reader.GetBoolean(ind)) &
                        !MatchTransfer(r, prop, reader.IsDBNull(ind), attr.NullValue, 0, () => reader.GetInt16(ind)) &
                        !MatchTransfer(r, prop, reader.IsDBNull(ind), attr.NullValue, 0, () => reader.GetInt32(ind)) &
                        !MatchTransfer(r, prop, reader.IsDBNull(ind), attr.NullValue, 0, () => reader.GetInt64(ind)) &
                        !MatchTransfer(r, prop, reader.IsDBNull(ind), attr.NullValue, 0, () => reader.GetFloat(ind)) &
                        !MatchTransfer(r, prop, reader.IsDBNull(ind), attr.NullValue, 0, () => reader.GetDouble(ind)) &
                        !MatchTransfer(r, prop, reader.IsDBNull(ind), attr.NullValue, 0, () => reader.GetChar(ind)) &
                        !MatchTransfer(r, prop, reader.IsDBNull(ind), attr.NullValue, DateTime.Now, () => reader.GetDateTime(ind)) &
                        !MatchTransfer(r, prop, reader.IsDBNull(ind), attr.NullValue, new Guid(), () => reader.GetGuid(ind)))
                    {
                        throw new ArgumentException("cannot found matching local type for " + prefix + name);
                    }
                } break;
                }
            }

            return(r);
        }
Пример #19
0
        private static void ReadRevitSheets(ref RevitSheetData sheetData)
        {
            try
            {
                ObservableCollection <LinkedSheet> linkedSheets = new ObservableCollection <LinkedSheet>();
                using (SQLiteCommand cmd = new SQLiteCommand(connection))
                {
                    cmd.CommandText = "SELECT * FROM LinkedSheets";
                    using (SQLiteDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            LinkedSheet lSheet = new LinkedSheet();
                            lSheet.Id      = reader.GetGuid(reader.GetOrdinal("LinkedSheet_Id"));
                            lSheet.SheetId = reader.GetGuid(reader.GetOrdinal("LinkedSheet_Sheet_Id"));
                            Guid projectId    = reader.GetGuid(reader.GetOrdinal("LinkedSheet_Project_Id"));
                            var  projectFound = from project in sheetData.LinkedProjects where project.Id == projectId select project;
                            if (projectFound.Count() > 0)
                            {
                                lSheet.LinkProject = projectFound.First();
                            }

                            lSheet.LinkedElementId = reader.GetString(reader.GetOrdinal("LinkedSheet_Element_Id"));
                            lSheet.IsSource        = reader.GetBoolean(reader.GetOrdinal("LinkedSheet_IsSource"));

                            linkedSheets.Add(lSheet);
                        }
                    }
                }

                ObservableCollection <SheetParameterValue> sheetParameterValues = new ObservableCollection <SheetParameterValue>();
                using (SQLiteCommand cmd = new SQLiteCommand(connection))
                {
                    cmd.CommandText = "SELECT * FROM SheetParameterValues";
                    using (SQLiteDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            SheetParameterValue paramValue = new SheetParameterValue();
                            paramValue.ParameterValueId = reader.GetGuid(reader.GetOrdinal("ParameterValue_Id"));
                            paramValue.SheetId          = reader.GetGuid(reader.GetOrdinal("ParameterValue_Sheet_Id"));
                            Guid parameterId = reader.GetGuid(reader.GetOrdinal("ParameterValue_Parameter_Id"));
                            var  paramFound  = from param in sheetData.SheetParameters where param.ParameterId == parameterId select param;
                            if (paramFound.Count() > 0)
                            {
                                paramValue.Parameter = paramFound.First();
                            }
                            paramValue.ParameterValue = reader.GetString(reader.GetOrdinal("ParameterValue_Parameter_Value"));
                            sheetParameterValues.Add(paramValue);
                        }
                    }
                }

                ObservableCollection <RevisionOnSheet> revisionOnSheets = new ObservableCollection <RevisionOnSheet>();
                using (SQLiteCommand cmd = new SQLiteCommand(connection))
                {
                    cmd.CommandText = "SELECT * FROM RevisionsOnSheet";
                    using (SQLiteDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            RevisionOnSheet ros = new RevisionOnSheet();
                            ros.MapId   = reader.GetGuid(reader.GetOrdinal("RevisionsOnSheet_Id"));
                            ros.SheetId = reader.GetGuid(reader.GetOrdinal("RevisionsOnSheet_Sheet_Id"));

                            Guid revisionId    = reader.GetGuid(reader.GetOrdinal("RevisionsOnSheet_Revision_Id"));
                            var  revisionFound = from rev in sheetData.Revisions where rev.Id == revisionId select rev;
                            if (revisionFound.Count() > 0)
                            {
                                ros.RvtRevision = revisionFound.First();
                            }
                            ros.Include = reader.GetBoolean(reader.GetOrdinal("RevisionsOnSheet_Include"));

                            revisionOnSheets.Add(ros);
                        }
                    }
                }


                sheetData.Sheets.Clear();
                using (SQLiteCommand cmd = new SQLiteCommand(connection))
                {
                    cmd.CommandText = "SELECT * FROM Sheets";
                    using (SQLiteDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            RevitSheet sheet = new RevitSheet();
                            sheet.Id     = reader.GetGuid(reader.GetOrdinal("Sheet_Id"));
                            sheet.Number = reader.GetString(reader.GetOrdinal("Sheet_Number"));
                            sheet.Name   = reader.GetString(reader.GetOrdinal("Sheet_Name"));

                            Guid disciplineId    = reader.GetGuid(reader.GetOrdinal("Sheet_Discipline_Id"));
                            var  disciplineFound = from discipline in sheetData.Disciplines where discipline.Id == disciplineId select discipline;
                            if (disciplineFound.Count() > 0)
                            {
                                sheet.DisciplineObj = disciplineFound.First();
                            }

                            var linkedSheetFound = from linkedSheet in linkedSheets where linkedSheet.SheetId == sheet.Id select linkedSheet;
                            if (linkedSheetFound.Count() > 0)
                            {
                                sheet.LinkedSheets = new ObservableCollection <LinkedSheet>(linkedSheetFound.ToList());
                            }

                            foreach (SheetParameter param in sheetData.SheetParameters)
                            {
                                var parameterValueFound = from paramValue in sheetParameterValues where paramValue.SheetId == sheet.Id && paramValue.Parameter.ParameterId == param.ParameterId select paramValue;
                                if (parameterValueFound.Count() > 0)
                                {
                                    SheetParameterValue value = parameterValueFound.First();
                                    sheet.SheetParameters.Add(param.ParameterId, value);
                                }
                            }

                            var revisionOnSheetFound = from ros in revisionOnSheets where ros.SheetId == sheet.Id select ros;
                            if (revisionOnSheetFound.Count() > 0)
                            {
                                foreach (RevisionOnSheet ros in revisionOnSheetFound)
                                {
                                    if (!sheet.SheetRevisions.ContainsKey(ros.RvtRevision.Id))
                                    {
                                        sheet.SheetRevisions.Add(ros.RvtRevision.Id, ros);
                                    }
                                }
                            }

                            sheetData.Sheets.Add(sheet);
                        }
                    }
                }
                sheetData.Sheets = new ObservableCollection <RevitSheet>(sheetData.Sheets.OrderBy(o => o.Number));
            }
            catch (Exception ex)
            {
                string message = ex.Message;
            }
        }
        public static bool SaveQuestion(SQLiteDataReader rs, Guid SubjectID, Guid classid)
        {
            string       Campo;
            int          i;
            QuestionTemp q = new QuestionTemp();

            for (i = 0; i < rs.FieldCount; i++)
            {
                Campo = rs.GetName(i);
                var valor = rs.GetValue(i);
                switch (Campo)
                {
                case "QuestionID":
                    q.QuestionID = rs.GetGuid(i);
                    break;

                case "SubjectID":
                    q.SubjectID = SubjectID;
                    break;

                case "ClassID": q.ClassID = classid; break;

                case "MentalityTypeID": break;

                case "OSubjectID": break;

                case "QuestionNbr":
                    q.QuestionNbr = rs.GetString(i);
                    break;

                case "Content":
                    q.Content = (Byte[])rs.GetValue(i);    // != DBNull.Value ? (Byte[])rs.GetValue(i) : null;
                    break;

                case "Question":
                    q.Question = (Byte[])rs.GetValue(i);    // != DBNull.Value ? (Byte[])rs.GetValue(i) : null;
                    //  q.PicQuestion = imageToByteArray(byteArrayToImage((byte[])rs.GetValue(i)));
                    //q.PicQuestion = System.IO.File.ReadAllBytes(((byte[])rs.GetValue(i));
                    break;

                case "Answer1":
                    q.Answer1 = (Byte[])rs.GetValue(i);    // != DBNull.Value ? (Byte[])rs.GetValue(i) : null;
                    //   q.PicAnswer1 = imageToByteArray(byteArrayToImage((byte[])rs.GetValue(i)));
                    break;

                case "Answer2":
                    //q.Answer2 = ReadMsWordHavePic((Byte[])rs.GetValue(i));
                    q.Answer2 = (Byte[])rs.GetValue(i);    // != DBNull.Value ? (Byte[])rs.GetValue(i) : null;
                    // q.PicAnswer2 = imageToByteArray(byteArrayToImage((byte[])rs.GetValue(i)));
                    break;

                case "Answer3":
                    //q.Answer3 = ReadMsWordHavePic((Byte[])rs.GetValue(i));
                    q.Answer3 = (Byte[])rs.GetValue(i);    // != DBNull.Value ? (Byte[])rs.GetValue(i) : null;
                    // q.PicAnswer3 = imageToByteArray(byteArrayToImage((byte[])rs.GetValue(i)));
                    break;

                case "Answer4":
                    //q.Answer4 = ReadMsWordHavePic((Byte[])rs.GetValue(i));
                    q.Answer4 = (Byte[])rs.GetValue(i);    // != DBNull.Value ? (Byte[])rs.GetValue(i) : null;
                    // q.PicAnswer4 = imageToByteArray(byteArrayToImage((byte[])rs.GetValue(i)));
                    break;

                case "NoOfAnswers":
                    q.NoOfAnswers = rs.GetInt32(i);    // (int)rs.GetValue(i);
                    break;

                case "TheAnswer":
                    q.TheAnswer = rs.GetInt32(i);
                    break;

                default:
                    q.Answer1SwapYN = true;
                    q.Answer2SwapYN = true;
                    q.Answer3SwapYN = true;
                    q.Answer4SwapYN = true;
                    break;
                }
            }
            q.Used   = 0;
            q.Active = true;
            q.QID    = (int)i;
            int maxlength = 0;

            int[] a;
            a = new int[4];

            a[0] = q.Answer1.Length;
            a[1] = q.Answer2.Length;
            a[2] = q.Answer3.Length;
            a[3] = q.Answer4.Length;

            for (int j = 0; j < a.Length; j++)
            {
                if (maxlength < a[j])
                {
                    maxlength = a[j];
                }
            }
            q.MaxAnswerLen = maxlength;
            if (!new QuestionDAO().AddQuestionTemp(q))
            {
                return(false);
            }
            return(true);
        }
Пример #21
0
 private void AddFromRecordSet(SQLiteDataReader rs)
 {
     try
     {
         if (!rs.IsDBNull(0))
         {
             _backup_lsn = rs.GetDecimal(0);
         }
         if (!rs.IsDBNull(1))
         {
             _create_lsn = rs.GetDecimal(1);
         }
         if (!rs.IsDBNull(2))
         {
             _data_space_id = rs.GetInt32(2);
         }
         if (!rs.IsDBNull(3))
         {
             _database_id = rs.GetInt32(3);
         }
         if (!rs.IsDBNull(4))
         {
             _differential_base_guid = rs.GetGuid(4);
         }
         if (!rs.IsDBNull(5))
         {
             _differential_base_lsn = rs.GetDecimal(5);
         }
         if (!rs.IsDBNull(6))
         {
             _differential_base_time = rs.GetDateTime(6);
         }
         if (!rs.IsDBNull(7))
         {
             _drop_lsn = rs.GetDecimal(7);
         }
         if (!rs.IsDBNull(8))
         {
             _file_guid = rs.GetGuid(8);
         }
         if (!rs.IsDBNull(9))
         {
             _file_id = rs.GetInt32(9);
         }
         if (!rs.IsDBNull(10))
         {
             _growth = rs.GetInt32(10);
         }
         if (!rs.IsDBNull(11))
         {
             _is_media_read_only = rs.GetBoolean(11);
         }
         if (!rs.IsDBNull(12))
         {
             _is_name_reserved = rs.GetBoolean(12);
         }
         if (!rs.IsDBNull(13))
         {
             _is_percent_growth = rs.GetBoolean(13);
         }
         if (!rs.IsDBNull(14))
         {
             _is_read_only = rs.GetBoolean(14);
         }
         if (!rs.IsDBNull(15))
         {
             _is_sparse = rs.GetBoolean(15);
         }
         if (!rs.IsDBNull(16))
         {
             _max_size = rs.GetInt32(16);
         }
         if (!rs.IsDBNull(17))
         {
             _name = rs.GetString(17);
         }
         if (!rs.IsDBNull(18))
         {
             _physical_name = rs.GetString(18);
         }
         if (!rs.IsDBNull(19))
         {
             _read_only_lsn = rs.GetDecimal(19);
         }
         if (!rs.IsDBNull(20))
         {
             _read_write_lsn = rs.GetDecimal(20);
         }
         if (!rs.IsDBNull(21))
         {
             _redo_start_fork_guid = rs.GetGuid(21);
         }
         if (!rs.IsDBNull(22))
         {
             _redo_start_lsn = rs.GetDecimal(22);
         }
         if (!rs.IsDBNull(23))
         {
             _redo_target_fork_guid = rs.GetGuid(23);
         }
         if (!rs.IsDBNull(24))
         {
             _redo_target_lsn = rs.GetDecimal(24);
         }
         if (!rs.IsDBNull(25))
         {
             _size = rs.GetInt32(25);
         }
         if (!rs.IsDBNull(26))
         {
             _state = (FileState)rs.GetByte(26);
         }
         if (!rs.IsDBNull(27))
         {
             _state_desc = rs.GetString(27);
         }
         if (!rs.IsDBNull(28))
         {
             _type = (File_Type)rs.GetByte(28);
         }
         if (!rs.IsDBNull(29))
         {
             _type_desc = rs.GetString(29);
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
Пример #22
0
        private static void ReadRevisions(ref RevitSheetData sheetData)
        {
            try
            {
                ObservableCollection <LinkedRevision> linkedRevisions = new ObservableCollection <LinkedRevision>();
                using (SQLiteCommand cmd = new SQLiteCommand(connection))
                {
                    cmd.CommandText = "SELECT * FROM LinkedRevisions";
                    using (SQLiteDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            LinkedRevision lRevision = new LinkedRevision();
                            lRevision.Id         = reader.GetGuid(reader.GetOrdinal("LinkedRevision_Id"));
                            lRevision.RevisionId = reader.GetGuid(reader.GetOrdinal("LinkedRevision_Revision_Id"));
                            lRevision.Sequence   = reader.GetInt32(reader.GetOrdinal("LinkedRevision_Sequence"));
                            lRevision.Number     = reader.GetString(reader.GetOrdinal("LinkedRevision_Number"));
                            lRevision.NumberType = (NumberType)Enum.Parse(typeof(NumberType), reader.GetString(reader.GetOrdinal("LinkedRevision_NumberType")));

                            Guid projectId    = reader.GetGuid(reader.GetOrdinal("LinkedRevision_Project_Id"));
                            var  projectFound = from project in sheetData.LinkedProjects where project.Id == projectId select project;
                            if (projectFound.Count() > 0)
                            {
                                LinkedProject project = projectFound.First();
                                lRevision.LinkProject = project;
                            }

                            lRevision.LinkedElementId = reader.GetString(reader.GetOrdinal("LinkedRevision_Element_Id"));
                            lRevision.IsSource        = reader.GetBoolean(reader.GetOrdinal("LinkedRevision_IsSource"));

                            linkedRevisions.Add(lRevision);
                        }
                    }
                }

                ObservableCollection <RevisionDocument> revisionDocuments = new ObservableCollection <RevisionDocument>();
                using (SQLiteCommand cmd = new SQLiteCommand(connection))
                {
                    cmd.CommandText = "SELECT * FROM RevisionDocuments";
                    using (SQLiteDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            RevisionDocument document = new RevisionDocument();
                            document.Id    = reader.GetGuid(reader.GetOrdinal("Document_Id"));
                            document.Title = reader.GetString(reader.GetOrdinal("Document_Title"));
                            document.Path  = reader.GetString(reader.GetOrdinal("Document_Path"));
                            if (reader["Document_Contents"] != System.DBNull.Value)
                            {
                                document.Contents = (byte[])reader["Document_Contents"];
                            }

                            revisionDocuments.Add(document);
                        }
                    }
                }

                sheetData.Revisions.Clear();
                using (SQLiteCommand cmd = new SQLiteCommand(connection))
                {
                    cmd.CommandText = "SELECT * FROM Revisions";
                    using (SQLiteDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            RevitRevision revision = new RevitRevision();
                            revision.Id          = reader.GetGuid(reader.GetOrdinal("Revision_Id"));
                            revision.Description = reader.GetString(reader.GetOrdinal("Revision_Description"));
                            revision.IssuedBy    = reader.GetString(reader.GetOrdinal("Revision_IssuedBy"));
                            revision.IssuedTo    = reader.GetString(reader.GetOrdinal("Revision_IssuedTo"));
                            revision.Date        = reader.GetString(reader.GetOrdinal("Revision_Date"));

                            Guid documentId    = reader.GetGuid(reader.GetOrdinal("Revision_Document_Id"));
                            var  documentFound = from document in revisionDocuments where document.Id == documentId select document;
                            if (documentFound.Count() > 0)
                            {
                                revision.Document = documentFound.First();
                            }

                            var linkedRevisionFound = from link in linkedRevisions where link.RevisionId == revision.Id select link;
                            if (linkedRevisionFound.Count() > 0)
                            {
                                revision.LinkedRevisions = new ObservableCollection <LinkedRevision>(linkedRevisionFound.ToList());
                            }
                            sheetData.Revisions.Add(revision);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string message = ex.Message;
            }
        }