AjaxControlToolkit.AsyncFileUpload.ReceivedFile C# (CSharp) Метод

ReceivedFile() приватный Метод

private ReceivedFile ( string sendingControlID ) : void
sendingControlID string
Результат void
        void ReceivedFile(string sendingControlID)
        {
            AsyncFileUploadEventArgs eventArgs = null;
            _lastError = String.Empty;

            if(this.Page.Request.Files.Count > 0) {
                HttpPostedFile file = null;
                if(sendingControlID == null || sendingControlID == String.Empty) {
                    file = this.Page.Request.Files[0];
                } else {
                    foreach(string uploadedFile in this.Page.Request.Files) {
                        var fileToUse = uploadedFile;
                        var straggler = "$ctl02";
                        if(fileToUse.EndsWith(straggler))
                            fileToUse = fileToUse.Remove(fileToUse.Length - straggler.Length);

                        if(fileToUse.Replace("$", "_").EndsWith(sendingControlID)) {
                            file = this.Page.Request.Files[uploadedFile];
                            break;
                        }
                    }
                }
                if(file == null) {
                    _lastError = Constants.Errors.FileNull;
                    eventArgs = new AsyncFileUploadEventArgs(
                        AsyncFileUploadState.Failed,
                        Constants.Errors.FileNull,
                        String.Empty,
                        String.Empty
                    );

                    OnUploadedFileError(eventArgs);
                } else if(file.FileName == String.Empty) {
                    _lastError = Constants.Errors.NoFileName;

                    eventArgs = new AsyncFileUploadEventArgs(
                       AsyncFileUploadState.Unknown,
                       Constants.Errors.NoFileName,
                       file.FileName,
                       file.ContentLength.ToString()
                    );

                    OnUploadedFileError(eventArgs);
                } else if(file.InputStream == null) {
                    _lastError = Constants.Errors.NoFileName;

                    eventArgs = new AsyncFileUploadEventArgs(
                        AsyncFileUploadState.Failed,
                        Constants.Errors.NoFileName,
                        file.FileName,
                        file.ContentLength.ToString()
                    );

                    OnUploadedFileError(eventArgs);
                } else if(file.ContentLength < 1) {
                    _lastError = Constants.Errors.EmptyContentLength;

                    eventArgs = new AsyncFileUploadEventArgs(
                        AsyncFileUploadState.Unknown,
                        Constants.Errors.EmptyContentLength,
                        file.FileName,
                        file.ContentLength.ToString()
                    );

                    OnUploadedFileError(eventArgs);
                } else {
                    eventArgs = new AsyncFileUploadEventArgs(
                        AsyncFileUploadState.Success,
                        String.Empty,
                        file.FileName,
                        file.ContentLength.ToString()
                    );

                    if(_persistFile) {
                        GC.SuppressFinalize(file);
                        PersistentStoreManager.Instance.AddFileToSession(this.ClientID, file.FileName, file);
                    } else {
                        _postedFile = file;
                    }
                    OnUploadedComplete(eventArgs);
                }
            }
        }