public ActionResult UploadImage(string imageData)
 {
     try
     {
     MemeBL memeBL = new MemeBL();
     string filename = memeBL.CreateMeme(imageData);
     return RedirectToAction("Show", "Meme", new { filename = filename });
     }
      catch (Exception ex)
      {
          //todo: log exception
          return RedirectToAction("Index");
      }
 }
        public ActionResult Download(MemeViewModel meme)
        {
            try
            {
                MemeBL MemeBL = new MemeBL();
                MemeBL.DownloadMeme(meme);

            }
            catch (Exception ex)
            {
                //todo: log exception
            }
            return PartialView("~/Views/Meme/_MemeDisplay.cshtml", meme);
        }
 public ActionResult Show(string filename)
 {
     MemeBL memeBL = new MemeBL();
     if (memeBL.IsMemeNameExists(filename))
     {
         var model = memeBL.GetMeme(filename);
         return View(model);
     }
     else
     {
         //todo: redirect to 404 page
         return Content("404 !!!");
     }
 }
 public ActionResult Templates()
 {
     MemeBL memeBL = new MemeBL();
     var model = memeBL.GetAllMemesTemplates();
     return PartialView("~/Views/Meme/_MemePicker.cshtml", model);
 }
 public ActionResult All()
 {
     MemeBL memeBL = new MemeBL();
     var model = memeBL.GetAllMemes();
     return View(model);
 }