コード例 #1
0
        private void AddTemplateFieldValueForVideo(string IdVideo, int IdCategory, TemplateFieldValueData ValueData)
        {
            //Test if Field Exist for this category
            int idFieldCategory = ValueData.FieldDefinition.IdFieldCategory;

            if (idFieldCategory == -1)
            {
                int idTemplateField = ValueData.FieldDefinition.Id;
                if (idTemplateField == -1)
                {
                    idTemplateField = _AddTemplateField(ValueData.FieldDefinition);
                }
                if (idFieldCategory == -1)
                {
                    idFieldCategory = _AddTemplateFieldToCategory(idTemplateField, IdCategory);
                }
            }
            using (PikoDataContext dataContext = new PikoDataContext(PikoDataServiceApp.DatabasePath, "PikoServer"))
            {
                String sqlQuery = "";
                if (ValueData.IdValue == -1)
                {
                    sqlQuery = "SELECT MAX(ID) + 1 AS NEW_ID FROM TEMPLATE_FIELD_VIDEO_VALUES";
                    OleDbDataReader resultData = dataContext.Select(sqlQuery);
                    int             newId      = 1;
                    if (resultData.HasRows && resultData.Read() == true)
                    {
                        int    idxColumn = resultData.GetOrdinal("NEW_ID");
                        object value     = resultData.GetValue(idxColumn);
                        if (typeof(DBNull) == value.GetType())
                        {
                            newId = 1;
                        }
                        else
                        {
                            newId = (int)value;//resultData.GetInt32(idxColumn);
                        }
                    }
                    sqlQuery = "INSERT INTO TEMPLATE_FIELD_VIDEO_VALUES(ID,FIELD_VALUE,ID_VIDEO,ID_TEMPLATE_FIELD_CATEGORY) VALUES(" + newId + ",'" + ValueData.Value + "','" + IdVideo + "'," + idFieldCategory + ")";
                }
                else
                {
                    sqlQuery  = "UPDATE TEMPLATE_FIELD_VIDEO_VALUES SET " + Environment.NewLine;
                    sqlQuery += "FIELD_VALUE='" + ValueData.Value + "'" + Environment.NewLine;
                    sqlQuery += "WHERE ID_VIDEO ='" + IdVideo + "'" + Environment.NewLine;
                }
                dataContext.Execute(sqlQuery);
            }
        }
コード例 #2
0
        public SupportData GetVideoInfo(string IdVideo)
        {
            SupportData videoInfo = null;

            try
            {
                using (PikoDataContext dataContext = new PikoDataContext(PikoDataServiceApp.DatabasePath, "PikoServer"))
                {
                    String          sqlQuery = "SELECT ID, EXTENSION,TC_START,EOM,DURATION,WIDTH,HEIGHT,FRAMERATE,AUDIO_COUNT,FILE_SIZE,FILE_NAME,STATE,SUPPORT_ID,ID_CATEGORY,TITLE FROM Videos WHERE Id = '" + IdVideo + "'";
                    OleDbDataReader result   = dataContext.Select(sqlQuery);
                    if (result.HasRows)
                    {
                        if (result.Read())
                        {
                            videoInfo = new SupportData();
                            int idxColumn = result.GetOrdinal("ID");
                            videoInfo.UIdSupport = result.GetString(idxColumn);
                            if (videoInfo.UIdSupport == null)
                            {
                                videoInfo.UIdSupport = IdVideo;
                            }
                            idxColumn           = result.GetOrdinal("EXTENSION");
                            videoInfo.Extension = result.GetString(idxColumn);
                            if (videoInfo.Extension == null)
                            {
                                videoInfo.Extension = "";
                            }
                            idxColumn          = result.GetOrdinal("TC_START");
                            videoInfo.TcStart  = (ulong)result.GetInt32(idxColumn);
                            idxColumn          = result.GetOrdinal("FILE_NAME");
                            videoInfo.FileName = result.GetString(idxColumn);
                            if (videoInfo.FileName == null)
                            {
                                videoInfo.FileName = "";
                            }
                            videoInfo.IsExist    = true;
                            idxColumn            = result.GetOrdinal("FILE_SIZE");
                            videoInfo.FileSize   = long.Parse(result.GetString(idxColumn));
                            idxColumn            = result.GetOrdinal("ID_CATEGORY");
                            videoInfo.IdCategory = result.GetInt32(idxColumn);
                            videoInfo.FullPath   = videoInfo.FileName + videoInfo.Extension;
                            idxColumn            = result.GetOrdinal("TITLE");
                            videoInfo.Title      = result.GetString(idxColumn);

                            result.Close();

                            sqlQuery  = "SELECT TFC.ID, TFC.ID_TEMPLATE_FIELD, TF.LABEL AS LABEL_TEMPLATE_FIELD,TF.ID_FIELD_TYPE " + Environment.NewLine;
                            sqlQuery += "FROM TEMPLATE_FIELD AS TF " + Environment.NewLine + "INNER JOIN TEMPLATE_FIELD_CATEGORY AS TFC ON TF.ID = TFC.ID_TEMPLATE_FIELD " + Environment.NewLine;
                            sqlQuery += "WHERE ID_CATEGORY = " + videoInfo.IdCategory.ToString();
                            //sqlQuery += "LEFT JOIN TEMPLATE_FIELD_VIDEO_VALUES AS TFVV ON TFC.ID = TFVV.ID_TEMPLATE_FIELD " + Environment.NewLine;
                            //sqlQuery += "WHERE TFVV.ID_VIDEO = '" + IdVideo + "' AND ID_CATEGORY = " + videoInfo.IdCategory.ToString();
                            result = dataContext.Select(sqlQuery);
                            if (result.HasRows)
                            {
                                List <TemplateFieldValueData> listTFData = new List <TemplateFieldValueData>();
                                while (result.Read())
                                {
                                    idxColumn = result.GetOrdinal("ID");
                                    int idTfc = result.GetInt32(idxColumn);
                                    //TFVV.ID AS ID_VALUE,TFVV.VALUE,TFVV.ID_VIDEO
                                    string sqlQuery2 = "SELECT ID,FIELD_VALUE,ID_VIDEO " + Environment.NewLine;
                                    sqlQuery2 += "FROM TEMPLATE_FIELD_VIDEO_VALUES " + Environment.NewLine;
                                    sqlQuery2 += "WHERE ID_VIDEO = '" + IdVideo + "' AND ID_TEMPLATE_FIELD_CATEGORY = " + idTfc.ToString();

                                    OleDbDataReader        result2     = dataContext.Select(sqlQuery2);
                                    TemplateFieldValueData tfValueData = new TemplateFieldValueData();
                                    //FIELD DEFINITION
                                    tfValueData.FieldDefinition = new TemplateFieldData();
                                    idxColumn = result.GetOrdinal("ID");
                                    tfValueData.FieldDefinition.Id = result.GetInt32(idxColumn);
                                    tfValueData.FieldDefinition.IdFieldCategory = idTfc;
                                    idxColumn = result.GetOrdinal("LABEL_TEMPLATE_FIELD");
                                    tfValueData.FieldDefinition.FieldName = result.GetString(idxColumn);
                                    idxColumn = result.GetOrdinal("ID_FIELD_TYPE");
                                    tfValueData.FieldDefinition.FieldType = (TemplateFieldType)result.GetInt32(idxColumn);
                                    if (result2.HasRows && result2.Read())
                                    {
                                        //VALUE
                                        idxColumn         = result2.GetOrdinal("FIELD_VALUE");
                                        tfValueData.Value = result2.GetString(idxColumn);
                                    }
                                    else
                                    {
                                        tfValueData.Value = "";
                                    }
                                    result2.Close();
                                    listTFData.Add(tfValueData);
                                }
                                videoInfo.TemplateFields = listTFData.ToArray();
                            }
                            else
                            {
                                videoInfo.TemplateFields = new TemplateFieldValueData[0];
                            }
                            result.Close();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
            }
            if (videoInfo == null)
            {
                videoInfo = new SupportData();
                videoInfo.TemplateFields = new TemplateFieldValueData[0];
                videoInfo.FullPath       = "";
                videoInfo.Title          = "";
                videoInfo.FileName       = "";
                videoInfo.Extension      = "";
                videoInfo.UIdSupport     = "";
            }
            return(videoInfo);
        }