public ActionResult EditBasicInfo(string wikiname)
        {
            if (CommonTools.isEmpty(wikiname))
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);

            }
            Wiki wk = this.wkmngr.GetWiki(wikiname);
            if (wk == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.NotFound);
            }
            if (usremngr.UserHasAccessToWiki(this.usremngr.GetUser(this.User.Identity.Name), wk, true) == false)
            {
                return new HttpStatusCodeResult(HttpStatusCode.Forbidden);
            }
            ViewWiki vwk = new ViewWiki();
            vwk.ImportFromModel(wk);
            return View(vwk);
        }
        public ActionResult Create(ViewWiki vwk)
        {
            string ttusr = this.User.Identity.Name;

            if (ttusr != null)
            {
                // if (ModelState.IsValid)
                {

                    vwk.Administrator = CommonTools.usrmng.GetUser(ttusr);
                    Wiki wk = vwk.ExportToModel();

                    wmngr.CreateWiki(wk,ttusr);

                }
                return RedirectToAction("Index");
            }

               return View(vwk);
        }
        public void ImportFromModel(WikiModInvitations md)
        {
            try
            {
                if (md != null && CommonTools.isEmpty(md.Moderator) == false)
                {
                    ApplicationUser user = CommonTools.usrmng.GetUserbyID(md.Moderator);
                    if (user != null)
                    {
                        this.Id = md.Id;
                        this.Moderator = user;
                        this.Wiki = new ViewWiki();
                        this.Wiki.ImportFromModel(md.Wiki);

                    }
                }
            }
            catch (Exception ex)
            {

                CommonTools.ErrorReporting(ex);

            }
        }
 public ActionResult EditBasicInfo(ViewWiki vwk, string wikiname)
 {
     Wiki wk = vwk.ExportToModel();
     //  Wiki wk2 = this.wmngr.GetWiki(wikiname);
     //  wk.Name = wk2.Name;
     wikiname = vwk.Name;
     wk.Administrator = this.usremngr.GetUser(this.User.Identity.Name).Id;
     // if (ModelState.IsValid)
     {
         wk = this.wkmngr.EditBasicInfo(wk, wikiname);
         return RedirectToAction("Index","HomeWiki");
     }
     return View(vwk);
 }
        public ActionResult EditWiki(string wikiname)
        {
            if (CommonTools.isEmpty(wikiname))
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);

            }
            Wiki wk = this.wkmngr.GetWiki(wikiname);
            ViewBag.wikiname = wikiname;
            ViewWiki vwk = new ViewWiki();
            vwk.ImportFromModel(wk);
            return View(vwk);
        }
        // GET: HomeWiki
        public ActionResult Index()
        {
            try
            {

                List<Wiki> wikis = this.wmngr.ListWiki();
                List<ViewWiki> wkv = new List<ViewWiki>();
                foreach ( var w in wikis)
                {
                    ViewWiki v = new ViewWiki();
                    v.ImportFromModel(w);
                    wkv.Add(v);
                }

                return View(wkv);
            }
            catch (Exception ex)
            {

                CommonTools.ErrorReporting(ex);
                return null;
            }
        }
        public ActionResult Details(string wikiname)
        {
            try
            {
                string id = wikiname;
                if ( CommonTools.isEmpty(id))
                {
                    return new HttpStatusCodeResult(HttpStatusCode.BadRequest);

                }
                Wiki wk = this.wmngr.GetWiki(id);
                if ( wk==null)
                {
                    return HttpNotFound();
                }
                ViewWiki vwk = new ViewWiki();
                vwk.ImportFromModel(wk);
                return View(vwk);

            }
            catch (Exception ex)
            {

                CommonTools.ErrorReporting(ex);
                return null;
            }
        }
        public ActionResult CreateWikiByExternSrc(ViewWiki vwk, string newwikiname)
        {
            ApplicationUser usr = null;
            string ttusr = this.User.Identity.Name;

            if (ttusr != null)
            {
                // if (ModelState.IsValid)
                {

                    Wiki wk = vwk.ExportToModel();
                    wmngr.CreateWiki(wk,ttusr);

                }
                return RedirectToAction("Index");
            }

            return View(vwk);
        }