/*
Kooboo is a content management system based on ASP.NET MVC framework. Copyright 2009 Yardi Technology Limited.
This program is free software: you can redistribute it and/or modify it under the terms of the
GNU General Public License version 3 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program.
If not, see http://www.kooboo.com/gpl3/.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Collections.Specialized;
using System.Web;
namespace Everest.Library.ExtensionMethod{
/// <summary>
///
/// </summary>
public class HttpFileCollectionRemovable : HttpFileCollectionBase
{
public HttpFileCollectionRemovable() { }
// Methods
public HttpFileCollectionRemovable(HttpFileCollectionBase files)
{
foreach (var key in files.AllKeys)
{
this.AddFile(key, files[key]);
}
}
public void AddFile(string key, HttpPostedFileBase file)
{
base.BaseAdd(key, file);
}
public override void CopyTo(Array dest, int index)
{
int count = this.Count;
var _all = new HttpPostedFileBase[count];
for (int i = 0; i < count; i++)
{
_all[i] = this.Get(i);
}
_all.CopyTo(dest, index);
}
public override HttpPostedFileBase Get(int index)
{
return (HttpPostedFileBase)base.BaseGet(index);
}
public override HttpPostedFileBase Get(string name)
{
return (HttpPostedFileBase)base.BaseGet(name);
}
public override string GetKey(int index)
{
return base.BaseGetKey(index);
}
// Properties
public override string[] AllKeys
{
get
{
return base.BaseGetAllKeys();
}
}
public override HttpPostedFileBase this[string name]
{
get
{
return this.Get(name);
}
}
public override HttpPostedFileBase this[int index]
{
get
{
return this.Get(index);
}
}
public void Remove(string key)
{
base.BaseRemove(key);
}
public override int Count
{
get
{
return this.AllKeys.Count();
}
}
}
}
|