Пример #1
0
        public int LoadFromDatabase(FileStatus fileStatus, FileGrouping fileGrouping)
        {
            DataObjects.ImageFileInfoList sqlImageFileInfos = new DataObjects.ImageFileInfoList();

            switch (fileGrouping)
            {
            case FileGrouping.All:
                if (fileStatus == FileStatus.All)
                {
                    sqlImageFileInfos = SQL_ImageFileInfo.GetAll(DBOConn);
                }
                else
                {
                    sqlImageFileInfos = SQL_ImageFileInfo.GetSingletons(fileStatus == FileStatus.Moved, DBOConn);
                    sqlImageFileInfos.AddRange(SQL_ImageFileInfo.GetMultiples(fileStatus == FileStatus.Moved, DBOConn));
                }
                break;

            case FileGrouping.Singleton:
                if (fileStatus == FileStatus.All)
                {
                    sqlImageFileInfos = SQL_ImageFileInfo.GetSingletons(true, DBOConn);
                    sqlImageFileInfos.AddRange(SQL_ImageFileInfo.GetSingletons(false, DBOConn));
                }
                else
                {
                    sqlImageFileInfos = SQL_ImageFileInfo.GetSingletons(fileStatus == FileStatus.Moved, DBOConn);
                }
                break;

            case FileGrouping.Multiple:
                if (fileStatus == FileStatus.All)
                {
                    sqlImageFileInfos = SQL_ImageFileInfo.GetMultiples(true, DBOConn);
                    sqlImageFileInfos.AddRange(SQL_ImageFileInfo.GetMultiples(false, DBOConn));
                }
                else
                {
                    sqlImageFileInfos = SQL_ImageFileInfo.GetMultiples(fileStatus == FileStatus.Moved, DBOConn);
                }
                break;

            default:
                break;
            }

            foreach (DataObjects.ImageFileInfo sqlImageFileInfo in sqlImageFileInfos)
            {
                ImageFileInfo imageFileInfo = sqlImageFileInfo.AsImageFileInfo();

                ImageFiles.AddImageFileInfoToDictionary(imageFileInfo, DBOConn);
            }

            return(ImageFiles.Count);
        }
        /// <summary>
        /// This method deletes a Vendor record
        /// <returns>The return value from the stored procedure.</returns>
        public DataObjects.ImageFileInfoList GetMultiples(DBOFactoryTransaction objTransaction)
        {
            GetResultsDataSetDelegate objGetResultsMethod = new GetResultsDataSetDelegate(GetSelectResultsDataSet);
            FillCommandParamsDelegate objFillParamsMethod = new FillCommandParamsDelegate(delegate(SqlCommand objSQLCommand)
            {
                objSQLCommand.Parameters.AddWithValue("@IsMoved", IsMoved);
            });

            QueryController objQueryController = new QueryController(null, $"SELECT {AllColumnsString} FROM {Table} WHERE FileName IN ( SELECT FileName FROM {Table} GROUP BY FileName HAVING COUNT(1) > 1 ) AND IsMoved = @IsMoved", objFillParamsMethod, objGetResultsMethod);
            int             intReturnCode      = PerformQuery(objQueryController, "GetSingledtons", null);

            DataObjects.ImageFileInfoList objectList = GetObjectListFromDataset(this.ResultDataSet);

            return(objectList);
        }
        /// <summary>
        /// This method deletes a Vendor record
        /// <returns>The return value from the stored procedure.</returns>
        public DataObjects.ImageFileInfo GetByName(DBOFactoryTransaction objTransaction)
        {
            GetResultsDataSetDelegate objGetResultsMethod = new GetResultsDataSetDelegate(GetSelectResultsDataSet);
            FillCommandParamsDelegate objFillParamsMethod = new FillCommandParamsDelegate(delegate(SqlCommand objSQLCommand)
            {
                objSQLCommand.Parameters.AddWithValue("@FileFullPath", FileFullPath);
            });

            QueryController objQueryController = new QueryController(null, $"SELECT {AllColumnsString} FROM {Table} WHERE FileFullPath = @FileFullPath", objFillParamsMethod, objGetResultsMethod);
            int             intReturnCode      = PerformQuery(objQueryController, "GetByName", null);

            DataObjects.ImageFileInfoList objectList = GetObjectListFromDataset(this.ResultDataSet);

            this.ResultDataSet = null;

            return(objectList.FirstOrDefault());
        }