Index: branches/OaaS/HeuristicLab.Services.Optimization.Web/Controllers/AdminController.cs
===================================================================
--- branches/OaaS/HeuristicLab.Services.Optimization.Web/Controllers/AdminController.cs	(revision 8958)
+++ branches/OaaS/HeuristicLab.Services.Optimization.Web/Controllers/AdminController.cs	(revision 8958)
@@ -0,0 +1,88 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.Mvc;
+using HeuristicLab.Services.Optimization.Web.Models;
+using System.IO;
+using System.Text;
+using System.Xml;
+using HeuristicLab.Services.Optimization.ControllerService;
+using System.ServiceModel;
+using System.ServiceModel.Description;
+using System.Web.Security;
+using HeuristicLab.Services.Optimization.ControllerService.Model;
+
+namespace HeuristicLab.Services.Optimization.Web.Controllers
+{
+    [Authorize(Roles = "Web User")]
+    public class AdminController : Controller
+    {
+      public delegate T ControllerServiceDelegate<T>(IControllerService service);
+      public delegate void ControllerServiceDelegate(IControllerService service);
+
+      public T withControllerService<T>(ControllerServiceDelegate<T> del) {
+        using (var cf = new ChannelFactory<IControllerService>(OptimizationController.DEFAULT_CONTROLLER_ENDPOINT)) {
+          var credentialBehaviour = cf.Endpoint.Behaviors.Find<ClientCredentials>();
+          credentialBehaviour.UserName.UserName = Membership.GetUser().UserName;
+          credentialBehaviour.UserName.Password = Session["pw"] as string;
+          var controllerProxy = cf.CreateChannel();
+          return del(controllerProxy);
+        }
+      }
+
+      public void withControllerService(ControllerServiceDelegate del) {
+        using (var cf = new ChannelFactory<IControllerService>(OptimizationController.DEFAULT_CONTROLLER_ENDPOINT)) {
+          var credentialBehaviour = cf.Endpoint.Behaviors.Find<ClientCredentials>();
+          credentialBehaviour.UserName.UserName = Membership.GetUser().UserName;
+          credentialBehaviour.UserName.Password = Session["pw"] as string;
+          var controllerProxy = cf.CreateChannel();
+          del(controllerProxy);
+        }
+      }
+        //
+        // GET: /Admin/
+        [HttpGet]
+        public ActionResult Index()
+        {
+          var names = withControllerService<IEnumerable<string>>((service) => {            
+            User u = new User() { Username = Membership.GetUser().UserName, Password = Session["pw"] as string };
+            return service.GetOptimizationScenarioNames();
+          });
+          return View(names);
+        }
+
+        [HttpPost]
+        public ActionResult AddScenario(UploadScenario newSecnario) {
+          StreamReader reader = new StreamReader(newSecnario.ScenarioMapper.InputStream);
+          string scenarioMapper = reader.ReadToEnd();
+
+          XmlDocument doc = new XmlDocument();
+          doc.Load(newSecnario.ScenarioXml.InputStream);
+          string scenarioXml;
+          using (var stringWriter = new StringWriter())
+          using (var xmlTextWriter = XmlWriter.Create(stringWriter)) {
+            doc.WriteTo(xmlTextWriter);
+            xmlTextWriter.Flush();
+            scenarioXml = stringWriter.GetStringBuilder().ToString();
+          }
+
+          var ok = withControllerService<bool>((service) => {
+            OptimizationModel model = new OptimizationModel();
+            User u = new User() { Username = Membership.GetUser().UserName, Password = Session["pw"] as string };
+            return service.AddHiveScenario(u, scenarioXml, scenarioMapper);                        
+          });
+
+          return RedirectToAction("Index");
+        }
+
+        public ActionResult DeleteScenario(string id) {
+          withControllerService<bool>((service) => {            
+            User u = new User() { Username = Membership.GetUser().UserName, Password = Session["pw"] as string };
+            return service.DeleteHiveScenario(u, id);
+          });
+          return RedirectToAction("Index");
+        }
+
+    }
+}
Index: branches/OaaS/HeuristicLab.Services.Optimization.Web/Controllers/HomeController.cs
===================================================================
--- branches/OaaS/HeuristicLab.Services.Optimization.Web/Controllers/HomeController.cs	(revision 8545)
+++ branches/OaaS/HeuristicLab.Services.Optimization.Web/Controllers/HomeController.cs	(revision 8958)
@@ -7,8 +7,6 @@
 namespace HeuristicLab.Services.Optimization.Web.Controllers {
   public class HomeController : Controller {
-    public ActionResult Index() {
-      ViewBag.Message = "Welcome to ASP.NET MVC!";
-
-      return View();
+    public ActionResult Index() {      
+      return RedirectToAction("Index", "Optimization");      
     }
 
