/// <inheritdoc />
        public override IEnumerable <UploadRequest> GetRequestsForSession(string uploadSessionId)
        {
            List <UploadRequest> requests = new List <UploadRequest>();

            string sql;

            sql = "SELECT " + _statusField + " FROM " + _table + " WHERE " + _sessionIdField + "=" + _sessionIdParameterName + " AND NOT " + _requestIdField + " IS NULL";

            using (IDbConnection cn = CreateConnection(_connectionString))
                using (IDbCommand cmd = cn.CreateCommand())
                {
                    cmd.CommandText = sql;

                    AddParameter(cmd, _sessionIdParameterName, DbType.String, uploadSessionId);

                    cn.Open();

                    using (IDataReader rd = cmd.ExecuteReader(CommandBehavior.SingleResult))
                    {
                        while (rd.Read())
                        {
                            requests.Add(UploadRequest.Deserialize(rd.GetString(0)));
                        }
                    }
                }

            return(requests);
        }
        /// <inheritdoc />
        public override UploadRequest GetRequest(string uploadSessionId, string uploadRequestId)
        {
            string data = GetData(uploadSessionId, uploadRequestId);

            if (!string.IsNullOrEmpty(data))
            {
                return(UploadRequest.Deserialize(data));
            }
            else
            {
                return(null);
            }
        }
Esempio n. 3
0
        internal static object GetStringDeserialized(string value)
        {
            value = value.Replace(' ', '+');

            // TODO: decrypt

            ObjectStateFormatter formatter = new ObjectStateFormatter();

            if (string.IsNullOrEmpty(value))
            {
                return(null);
            }
            else if (value.StartsWith("session-"))
            {
                return(UploadSession.Deserialize(value.Substring("session-".Length)));
            }
            else if (value.StartsWith("request-"))
            {
                return(UploadRequest.Deserialize(value.Substring("request-".Length)));
            }
            else if (value.StartsWith("sessionlist-"))
            {
                string[] uploadSessionStrings = (string[])formatter.Deserialize(value.Substring("sessionlist-".Length));

                List <UploadSession> sessions = new List <UploadSession>();

                foreach (string sessionString in uploadSessionStrings)
                {
                    sessions.Add(UploadSession.Deserialize(sessionString));
                }

                return(sessions);
            }
            else if (value.StartsWith("requestlist-"))
            {
                string[] uploadRequestStrings = (string[])formatter.Deserialize(value.Substring("requestlist-".Length));

                List <UploadRequest> requests = new List <UploadRequest>();

                foreach (string requestString in uploadRequestStrings)
                {
                    requests.Add(UploadRequest.Deserialize(requestString));
                }

                return(requests);
            }
            else
            {
                return(formatter.Deserialize(value));
            }
        }