Index: branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Controllers/PlatformController.cs
===================================================================
--- branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Controllers/PlatformController.cs	(revision 6310)
+++ branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Controllers/PlatformController.cs	(revision 6310)
@@ -0,0 +1,90 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.Mvc;
+using HLWebOKBAdminPlugin.Models;
+using HLWebOKBAdminPlugin.OKBAdministrationService;
+
+namespace HLWebOKBAdminPlugin.Controllers
+{
+    public class PlatformController : Controller
+    {
+        //
+        // GET: /Platform/
+
+        public ActionResult Index()
+        {
+            Session["SelectedSubMenu"] = "Platform";
+            PlatformModel plm = new PlatformModel();
+            return View(plm);
+        }//Index
+
+
+        public ActionResult Detail(long? id) {
+            Session["SelectedSubMenu"] = "Platform";
+            PlatformModel plm = new PlatformModel();
+
+            if (id == null)
+                plm.Platform = new Platform();
+            else
+                plm.Platform = (Platform)plm.Platforms.Where(x => x.Id.Equals((long)id)).FirstOrDefault();
+            return View(plm);
+        }//Detail
+
+        public ActionResult Delete(long? id) {
+            Session["SelectedSubMenu"] = "Platform";
+
+            PlatformModel plm = new PlatformModel();
+            if (id != 0) {
+                plm.DeletePlatform((long)id);
+            }
+            return View("Index", plm);
+        }//Delete
+
+        public ActionResult SaveChanges(FormCollection collection) {
+            long platformId = long.Parse(collection.Get("PlatformId"));
+            String platformName = collection.Get("PlatformName");
+            String platformDescription = collection.Get("PlatformDescription");
+
+            // Later, we will get the runs from the session ...
+            PlatformModel plm = new PlatformModel();
+            if (platformId != 0)
+                plm.Platform = (Platform)plm.Platforms.Where(x => x.Id.Equals(platformId)).FirstOrDefault();
+
+            plm.Platform.Name = platformName;
+            plm.Platform.Description = platformDescription;
+
+            plm.SavePlatform(plm.Platform);
+
+            return View("Index", plm);
+        }//SaveChanges
+
+        public ActionResult SortAsc() {
+            Session["SelectedSubMenu"] = "Platform";
+            PlatformModel plm = new PlatformModel();
+            plm.Platforms = plm.Platforms.OrderBy(x => x.Name).ToList<Platform>();
+            return View("Index", plm);
+        }
+
+        /// <summary>
+        /// Controller for Index View
+        /// </summary>
+        /// <returns></returns>
+        public ActionResult SortDesc() {
+            Session["SelectedSubMenu"] = "Platform";
+            PlatformModel plm = new PlatformModel();
+
+            IOrderedEnumerable<Platform> plmOrderedList = plm.Platforms.OrderByDescending(x => x.Name);
+            IList<Platform> plmList = new List<Platform>();
+            foreach (var item in plmOrderedList) {
+                plmList.Add(item);
+            }
+            plm.Platforms = plmList;
+
+            // this should be the right code
+            //pm.Problems = pm.Problems.OrderByDescending(x => x.Name).ToArray<Problem>();
+            return View("Index", plm);
+        }
+    }
+}
Index: branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Models/PlatformModel.cs
===================================================================
--- branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Models/PlatformModel.cs	(revision 6310)
+++ branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Models/PlatformModel.cs	(revision 6310)
@@ -0,0 +1,76 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using HLWebOKBAdminPlugin.OKBAdministrationService;
+using HLWebOKBAdminPlugin.Helpers;
+
+namespace HLWebOKBAdminPlugin.Models {
+    public class PlatformModel {
+        public String SelectedSubMenu { get; set; }
+        public IList<Platform> Platforms { 
+            get { return PlatformGetAll();}
+            set {;}
+        }
+
+        public Platform Platform { get; set; }
+
+        public PlatformModel() {
+            Platform = new Platform();
+        }//PlatformModel
+
+        //***************************************Platform Class**********************************************
+        private IList<Platform> PlatformGetAll() {
+            AdministrationServiceClient adminClient = Admin.GetClientFactory();
+
+            IList<Platform> platformList = new List<Platform>();
+
+            if (adminClient != null) {
+                Platform[] platforms = adminClient.GetPlatforms();
+                foreach (Platform pl in platforms) {
+                    platformList.Add(pl);
+                }
+            }//if (adminClient != null)
+
+            return platformList;
+        }//ProblemClassGetAll                
+
+        private long AddPlatform(Platform plattform) {
+            AdministrationServiceClient adminClient = Admin.GetClientFactory();
+
+            if (adminClient != null) {
+                return adminClient.AddPlatform(plattform);
+            }
+
+            return 0;
+        }//AddPlatform
+
+        public void DeletePlatform(long id) {
+            AdministrationServiceClient adminClient = Admin.GetClientFactory();
+
+            if (adminClient != null) {
+                adminClient.DeletePlatform(id);
+            }
+        }//DeletePlatform
+
+        public long SavePlatform(Platform platform) {
+            AdministrationServiceClient adminClient = Admin.GetClientFactory();
+
+            if (adminClient != null) {
+                if (platform.Id == 0) {
+                    return AddPlatform(platform);
+                }
+                else {
+                    Platform pl = adminClient.GetPlatform(platform.Id);
+
+                    if (pl != null) {
+                        adminClient.UpdatePlatform(platform);
+                        return platform.Id;
+                    }
+                }
+            }
+
+            return 0;
+        }//SavePlatform        
+    }
+}
Index: branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/Admin/Menu.ascx
===================================================================
--- branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/Admin/Menu.ascx	(revision 6309)
+++ branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/Admin/Menu.ascx	(revision 6310)
@@ -2,4 +2,7 @@
 
 <ul>
+<li <% if(Session["SelectedSubMenu"] == "Platform") {%> class="selected" <%}%>>
+    <%: Html.ActionLink("Platform", "Index", "Platform")%>
+</li>
 <li <% if(Session["SelectedSubMenu"] == "AlgorithmClass") {%> class="selected" <%}%>>
     <%: Html.ActionLink("AlgorithmClass", "Index", "AlgorithmClass")%>
Index: branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/Algorithm/Index.aspx
===================================================================
--- branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/Algorithm/Index.aspx	(revision 6309)
+++ branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/Algorithm/Index.aspx	(revision 6310)
@@ -30,11 +30,11 @@
       <tr>
         <td>
-          <%: Html.Label(p.Name)%>
+          <%: p.Name %>
         </td>
         <td>
-          <%: Html.Label(p.Description) %>
+          <%: p.Description %>
         </td>
         <td>
-          <%: Html.Label(p.DataTypeName)%>
+          <%: p.DataTypeName %>
         </td>
                 <td class="hl-iconcell">
Index: branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/AlgorithmClass/Index.aspx
===================================================================
--- branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/AlgorithmClass/Index.aspx	(revision 6309)
+++ branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/AlgorithmClass/Index.aspx	(revision 6310)
@@ -33,8 +33,8 @@
             <tr>
                 <td>
-                    <%: Html.Label(p.Name)%>
+                    <%: p.Name %>
                 </td>
                 <td>
-                    <%: Html.Label(p.Description) %>
+                    <%: p.Description %>
                 </td>
                 <td class="hl-iconcell">
Index: branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/Platform/Detail.aspx
===================================================================
--- branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/Platform/Detail.aspx	(revision 6310)
+++ branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/Platform/Detail.aspx	(revision 6310)
@@ -0,0 +1,56 @@
+﻿<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
+
+<%@ Import Namespace="HLWebOKBAdminPlugin.Models" %>
+<%@ Import Namespace="HLWebOKBAdminPlugin.OKBAdministrationService" %>
+
+<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
+	Detail
+</asp:Content>
+<asp:Content ID="Content3" runat="server" ContentPlaceHolderID="SubMenuContent">
+   <% Html.RenderAction("Menu", "Admin"); %>
+</asp:Content>
+<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
+    <% using(Html.BeginForm("SaveChanges", "Platform")) %>
+    <% { %>
+    <h2>Detail</h2>
+            <div class="hl-menuButtons">                 
+        <%: Html.ActionLink("Back to Index", "Index", null, new { @class = "hl-button-text-back" })%>
+        </div>
+    <% Platform pc = ((PlatformModel)Model).Platform; %>
+    <table class="hl-table">
+        <tr>
+            <th>
+                Id:
+            </th>
+            <td>
+                <%: Html.Label(pc.Id.ToString())%>
+            </td>
+            <%: Html.Hidden("PlatformId", pc.Id.ToString(), pc.Id.ToString())%>
+        </tr>
+        <tr>
+            <th>
+                Name:
+            </th>
+            <td>
+                <%: Html.TextBox("PlatformName", pc.Name, pc.Name)%>
+            </td>
+        </tr>
+        <tr>
+            <th>
+                Description:
+            </th>
+            <td>
+                <%: Html.TextBox("PlatformDescription", pc.Description, pc.Description)%>
+            </td>
+        </tr>
+        <tr>
+            <th>
+                Action:
+            </th>
+            <td>
+                <input type="submit" value="save" />
+            </td>
+        </tr>
+    </table> 
+    <% } %>
+</asp:Content>
Index: branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/Platform/Index.aspx
===================================================================
--- branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/Platform/Index.aspx	(revision 6310)
+++ branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/Platform/Index.aspx	(revision 6310)
@@ -0,0 +1,50 @@
+﻿<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
+
+<%@ Import Namespace="HLWebOKBAdminPlugin.Models" %>
+<%@ Import Namespace="HLWebOKBAdminPlugin.OKBAdministrationService" %>
+
+
+<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
+	Index
+</asp:Content>
+<asp:Content ID="Content3" runat="server" ContentPlaceHolderID="SubMenuContent">
+   <% Html.RenderAction("Menu", "Admin"); %>
+</asp:Content>
+<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
+
+    <h2>Platform</h2>
+
+<%  long? id = null;  %>
+<div class="hl-menuButtons">
+    <%: Html.ActionLink("New Platform", "Detail", new { id }, new { @class = "hl-button-text-plus" })%>
+</div>
+
+        <table class="hl-dataTable">
+                <thead>
+        <tr>
+        <th>Name</th>
+        <th>Description</th>
+        <th>Actions</th>
+        </tr>
+        </thead>
+        <tbody>
+            <!--// We get this from the Controller (Index)-->
+            <% foreach (Platform p in ((PlatformModel)Model).Platforms) {  %>
+            <tr>
+                <td>
+                    <%: p.Name %>
+                </td>
+                <td>
+                    <%: p.Description %>
+                </td>
+                <td class="hl-iconcell">
+                    <%: Html.ActionLink("detail", "Detail", new { p.Id }, new { @class = "hl-icon-edit" })%>
+                    <%: Html.ActionLink("delete", "Delete", new { p.Id }, new { @class = "hl-icon-delete" })%>
+                </td>
+
+            </tr>
+            <% } %>
+        </tbody>
+        </table>
+  
+</asp:Content>
Index: branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/Problem/Index.aspx
===================================================================
--- branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/Problem/Index.aspx	(revision 6309)
+++ branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/Problem/Index.aspx	(revision 6310)
@@ -33,11 +33,11 @@
             <tr>
                 <td>
-                    <%: Html.Label(p.Name)%>
+                    <%: p.Name%>
                 </td>
                 <td>
-                    <%: Html.Label(p.Description) %>
+                    <%: p.Description %>
                 </td>
                 <td>
-                    <%: Html.Label(p.DataTypeName)%>
+                    <%: p.DataTypeName %>
                 </td>
                 <td class="hl-iconcell">
Index: branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/ProblemClass/Index.aspx
===================================================================
--- branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/ProblemClass/Index.aspx	(revision 6309)
+++ branches/WebApplication/MVC2/HLWebOKBAdminPlugin/Views/ProblemClass/Index.aspx	(revision 6310)
@@ -33,8 +33,8 @@
             <tr>
                 <td>
-                    <%: Html.Label(p.Name)%>
+                    <%: p.Name%>
                 </td>
                 <td>
-                    <%: Html.Label(p.Description) %>
+                    <%: p.Description %>
                 </td>
                 <td class="hl-iconcell">
