* YavscModel.csproj:
* NewProjectModel.cs: * ITContentProvider.csproj: refactoring * WebApiConfig.cs: Web Api Config * IModule.cs: * RssFeeds.cs: * IRenderer.cs: * Blog.cs: * ITagHandler.cs: * ViewRenderer.cs: * Comment.cs: * IViewRenderer.cs: * People.cs: * SignIn.cs: * BlogEntry.cs: * AuthToken.cs: * BlogHelper.cs: * DataAccess.cs: * Estimate.cs: * BlogManager.cs: * Writting.cs: * AskForADate.cs: * RestoreQuery.cs: * Basket.cs: * BlogProvider.cs: * CalendarList.cs: * Commande.cs: * StatusChange.cs: * WebFileInfo.cs: * WorkFlowManager.cs: * Euro.cs: * Unit.cs: * Text.cs: * Profile.cs: * Note.cs: * Link.cs: * BlogEditEntryModel.cs: * FindBlogEntryFlags.cs: * NewProjectModel.cs: * CalendarListEntry.cs: * CalendarEntryList.cs: * IContentProvider.cs: * CommandStatus.cs: * Label.cs: * Price.cs: * BlogEntryCollection.cs: * Period.cs: * Scalar.cs: * BlogEditCommentModel.cs: * Option.cs: * NpgsqlContentProvider.cs: * Product.cs: * LoginModel.cs: * Service.cs: * Catalog.cs: * Currency.cs: * NewEstimateEvenArgs.cs: * CheckBox.cs: * SaleForm.cs: * FileSystemManager.cs: * FormInput.cs: * TextInput.cs: * NewRoleModel.cs: * FileInfoCollection.cs: * FilesInput.cs: * NewAdminModel.cs: * SelectItem.cs: * SelectInput.cs: * RadioButton.cs: * StockStatus.cs: * Provider.cs: * DirNotFoundException.cs: * FormElement.cs: * ProductImage.cs: * WebFileInfoCollection.cs: * CatalogHelper.cs: * CatalogManager.cs: * RegisterViewModel.cs: * InvalidDirNameException.cs: * PhysicalProduct.cs: * CatalogProvider.cs: * ProductCategory.cs: * OrderStatusChangedEventArgs.cs: * ProviderCollection.cs: * WorkflowConfiguration.cs: * BlogProviderConfigurationElement.cs: * BlogProvidersConfigurationSection.cs: * BlogProvidersConfigurationCollection.cs: * CatalogProviderConfigurationElement.cs: * CatalogProvidersConfigurationSection.cs: * CatalogProvidersConfigurationCollection.cs: xml doc * SalesCatalog.csproj: * XmlCatalogProvider.cs: Maps the catalog using System.Web * BasketController.cs: * FrontOfficeController.cs: a Basket controller * Global.asax.cs: Session in Web Api * App.master: WebApi bas url as Javascript var 'apiBaseUrl' * Index.aspx: !!not sure of this change. * Web.csproj: compiles now includes WebApiConfig.cs * style.css: link background color * FileSystemController.cs: a file system controller
This commit is contained in:
parent
017a6fde23
commit
b505ad90e7
100 changed files with 2520 additions and 212 deletions
|
|
@ -7,6 +7,7 @@ using System.Web.Http;
|
|||
using Yavsc.Model.WorkFlow;
|
||||
using System.Collections.Specialized;
|
||||
using Yavsc.Model.FrontOffice;
|
||||
using System.Web.SessionState;
|
||||
|
||||
namespace Yavsc.ApiControllers
|
||||
{
|
||||
|
|
@ -32,23 +33,40 @@ namespace Yavsc.ApiControllers
|
|||
wfmgr = new WorkFlowManager ();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the current basket, creates a new one, if it doesn't exist.
|
||||
/// </summary>
|
||||
/// <value>The current basket.</value>
|
||||
protected Basket CurrentBasket {
|
||||
get {
|
||||
HttpSessionState session = HttpContext.Current.Session;
|
||||
Basket b = (Basket) session ["Basket"];
|
||||
if (b == null)
|
||||
session ["Basket"] = b = new Basket ();
|
||||
return b;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create the specified basket item using specified command parameters.
|
||||
/// </summary>
|
||||
/// <param name="cmdParams">Command parameters.</param>
|
||||
[AcceptVerbs("CREATE")]
|
||||
[Authorize]
|
||||
public long Create(NameValueCollection cmdParams)
|
||||
{
|
||||
throw new NotImplementedException ();
|
||||
// HttpContext.Current.Request.Files
|
||||
Commande cmd = new Commande(cmdParams, HttpContext.Current.Request.Files);
|
||||
CurrentBasket.Add (cmd);
|
||||
return cmd.Id;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Read the specified basket item.
|
||||
/// </summary>
|
||||
/// <param name="itemid">Itemid.</param>
|
||||
[AcceptVerbs("READ")]
|
||||
[Authorize]
|
||||
Commande Read(long itemid){
|
||||
throw new NotImplementedException ();
|
||||
return CurrentBasket[itemid];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -57,29 +75,21 @@ namespace Yavsc.ApiControllers
|
|||
/// <param name="itemid">Item identifier.</param>
|
||||
/// <param name="param">Parameter name.</param>
|
||||
/// <param name="value">Value.</param>
|
||||
[AcceptVerbs("UPDATE")]
|
||||
public void Update(long itemid, string param, string value)
|
||||
[Authorize]
|
||||
public void UpdateParam(long itemid, string param, string value)
|
||||
{
|
||||
throw new NotImplementedException ();
|
||||
CurrentBasket [itemid].Parameters [param] = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Delete the specified item.
|
||||
/// </summary>
|
||||
/// <param name="itemid">Item identifier.</param>
|
||||
[Authorize]
|
||||
public void Delete(long itemid)
|
||||
{
|
||||
throw new NotImplementedException ();
|
||||
CurrentBasket.Remove (itemid);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Post a file, as attached document to the specified
|
||||
/// Item
|
||||
/// </summary>
|
||||
[AcceptVerbs("POST")]
|
||||
public void Post(long itemId)
|
||||
{
|
||||
throw new NotImplementedException ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6,6 +6,7 @@ using System.Web.Mvc;
|
|||
using System.IO;
|
||||
using System.Web.Security;
|
||||
using System.Text.RegularExpressions;
|
||||
using Yavsc.Model.FileSystem;
|
||||
|
||||
namespace Yavsc.Controllers
|
||||
{
|
||||
|
|
@ -14,34 +15,37 @@ namespace Yavsc.Controllers
|
|||
/// </summary>
|
||||
public class FileSystemController : Controller
|
||||
{
|
||||
private static string usersDir = "~/users";
|
||||
private string usersDir = "~/users";
|
||||
|
||||
/// <summary>
|
||||
/// Gets the users dir.
|
||||
/// Gets the users base directory.
|
||||
/// </summary>
|
||||
/// <value>The users dir.</value>
|
||||
public static string UsersDir {
|
||||
public string UsersDir {
|
||||
get {
|
||||
return usersDir;
|
||||
}
|
||||
}
|
||||
|
||||
FileSystemManager mgr = null ;
|
||||
|
||||
/// <summary>
|
||||
/// Initialize the specified requestContext.
|
||||
/// </summary>
|
||||
/// <param name="requestContext">Request context.</param>
|
||||
protected override void Initialize (System.Web.Routing.RequestContext requestContext)
|
||||
{
|
||||
base.Initialize (requestContext);
|
||||
mgr = new FileSystemManager (UsersDir);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Index this instance.
|
||||
/// </summary>
|
||||
[Authorize]
|
||||
public ActionResult Index ()
|
||||
public ActionResult Index (string id)
|
||||
{
|
||||
string user = Membership.GetUser ().UserName;
|
||||
ViewData ["UserName"] = user;
|
||||
|
||||
DirectoryInfo di = new DirectoryInfo (
|
||||
Path.Combine (
|
||||
Server.MapPath (UsersDir),
|
||||
user));
|
||||
if (!di.Exists)
|
||||
di.Create ();
|
||||
return View (new FileInfoCollection (di.GetFiles ()));
|
||||
return View (mgr.GetFiles (Membership.GetUser().UserName+"/"+id));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -59,7 +63,7 @@ namespace Yavsc.Controllers
|
|||
return RedirectToAction ("Index");
|
||||
}
|
||||
}
|
||||
string fpath = Path.Combine (BaseDir, id);
|
||||
string fpath = Path.Combine (UserBaseDir, id);
|
||||
ViewData ["Content"] = Url.Content (fpath);
|
||||
FileInfo fi = new FileInfo (fpath);
|
||||
|
||||
|
|
@ -67,54 +71,23 @@ namespace Yavsc.Controllers
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create this instance.
|
||||
/// Create the specified id.
|
||||
/// </summary>
|
||||
public ActionResult Create ()
|
||||
{
|
||||
return View ();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create the specified collection.
|
||||
/// </summary>
|
||||
/// <param name="collection">Collection.</param>
|
||||
/// <param name="id">Identifier.</param>
|
||||
[HttpPost]
|
||||
[Authorize]
|
||||
public ActionResult Create (FormCollection collection)
|
||||
public ActionResult Create (string id)
|
||||
{
|
||||
try {
|
||||
string fnre = "[A-Za-z0-9~\\-.]+";
|
||||
HttpFileCollectionBase hfc = Request.Files;
|
||||
|
||||
for (int i = 0; i < hfc.Count; i++) {
|
||||
if (!Regex.Match (hfc [i].FileName, fnre).Success) {
|
||||
ViewData ["Message"] += string.Format ("<p>File name '{0}' refused</p>", hfc [i].FileName);
|
||||
ModelState.AddModelError (
|
||||
"AFile",
|
||||
string.Format (
|
||||
"The file name {0} dosn't match an acceptable file name {1}",
|
||||
hfc [i].FileName, fnre));
|
||||
return View ();
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < hfc.Count; i++) {
|
||||
// TODO Limit with hfc[h].ContentLength
|
||||
string filename = Path.Combine (Server.MapPath (BaseDir), hfc [i].FileName);
|
||||
hfc [i].SaveAs (filename);
|
||||
ViewData ["Message"] += string.Format ("<p>File name '{0}' saved</p>", hfc [i].FileName);
|
||||
}
|
||||
return RedirectToAction ("Index", "FileSystem");
|
||||
} catch (Exception e) {
|
||||
ViewData ["Message"] = "Exception:" + e.Message;
|
||||
return View ();
|
||||
}
|
||||
string path=Membership.GetUser().UserName+"/"+id;
|
||||
mgr.Put ( path, Request.Files);
|
||||
return View ("Index",mgr.GetFiles(path));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the base dir.
|
||||
/// Gets the user's base dir.
|
||||
/// </summary>
|
||||
/// <value>The base dir.</value>
|
||||
public static string BaseDir { get { return Path.Combine (UsersDir, Membership.GetUser ().UserName); } }
|
||||
public string UserBaseDir { get { return Path.Combine (UsersDir, Membership.GetUser ().UserName); } }
|
||||
|
||||
/// <summary>
|
||||
/// Edit the specified id.
|
||||
|
|
@ -122,7 +95,7 @@ namespace Yavsc.Controllers
|
|||
/// <param name="id">Identifier.</param>
|
||||
public ActionResult Edit (int id)
|
||||
{
|
||||
return View ();
|
||||
throw new NotImplementedException ();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -133,11 +106,7 @@ namespace Yavsc.Controllers
|
|||
[HttpPost]
|
||||
public ActionResult Edit (int id, FormCollection collection)
|
||||
{
|
||||
try {
|
||||
return RedirectToAction ("Index");
|
||||
} catch {
|
||||
return View ();
|
||||
}
|
||||
throw new NotImplementedException ();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -146,7 +115,7 @@ namespace Yavsc.Controllers
|
|||
/// <param name="id">Identifier.</param>
|
||||
public ActionResult Delete (int id)
|
||||
{
|
||||
return View ();
|
||||
throw new NotImplementedException ();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -157,11 +126,7 @@ namespace Yavsc.Controllers
|
|||
[HttpPost]
|
||||
public ActionResult Delete (int id, FormCollection collection)
|
||||
{
|
||||
try {
|
||||
return RedirectToAction ("Index");
|
||||
} catch {
|
||||
return View ();
|
||||
}
|
||||
throw new NotImplementedException ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -12,6 +12,7 @@ using WorkFlowProvider;
|
|||
using System.Web.Security;
|
||||
using System.Threading;
|
||||
using Yavsc.Model.FrontOffice;
|
||||
using Yavsc.Model.FileSystem;
|
||||
|
||||
namespace Yavsc.Controllers
|
||||
{
|
||||
|
|
@ -218,12 +219,14 @@ namespace Yavsc.Controllers
|
|||
return View (collection);
|
||||
}
|
||||
}
|
||||
string usersdir = Server.MapPath("~/users");
|
||||
FileSystemManager fsmgr = new FileSystemManager(usersdir);
|
||||
foreach (String h in hfc.AllKeys) {
|
||||
// TODO Limit with hfc[h].ContentLength
|
||||
hfc [h].SaveAs (Path.Combine (FileSystemController.BaseDir, hfc [h].FileName));
|
||||
hfc [h].SaveAs (Path.Combine (usersdir, hfc [h].FileName));
|
||||
}
|
||||
// Add specified product command to the basket,
|
||||
GetBasket().Add (Commande.Create (collection));
|
||||
GetBasket().Add (new Commande(collection,HttpContext.Request.Files));
|
||||
ViewData ["Message"] = LocalizedText.Item_added_to_basket;
|
||||
return View (collection);
|
||||
} catch (Exception e) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue