Advertisement
Ciwan

Create Quote for New Author

Dec 22nd, 2011
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.97 KB | None | 0 0
  1. // POST: /Quote/NewAuthor
  2.         [HttpPost]
  3.         public ActionResult NewAuthor(QuoteNewAuthorVM vm)
  4.         {
  5.             if (ModelState.IsValid)
  6.             {
  7.                 Quote q = new Quote()
  8.                 {
  9.                     Body = vm.Body,
  10.                     Likes = 0,
  11.                     isApproved = false,
  12.                     CreatedOn = DateTime.Now
  13.                 };
  14.  
  15.                 Author a = new Author()
  16.                 {
  17.                     FirstName = vm.FirstName,
  18.                     LastName = vm.LastName,
  19.                     UrlFriendlyName = vm.FirstName.ToLowerInvariant().Replace(" ", "_") + "_" + vm.LastName.ToLowerInvariant().Replace(" ", "_"),
  20.                     DOB = vm.DOB,
  21.                     DOD = vm.DOD,
  22.                     Occupation = vm.Occupation,
  23.                     WikiLink = vm.WikiLink,
  24.                     isApproved = false,
  25.                     CreatedOn = DateTime.Now
  26.                 };
  27.  
  28.                 HttpPostedFileBase file = Request.Files["authorImage"];
  29.                 if (file != null)
  30.                 {
  31.                     byte[] buffer = new byte[file.InputStream.Length];
  32.                     file.InputStream.Read(buffer, 0, (int)file.InputStream.Length);
  33.                     a.Image = buffer;
  34.                 }
  35.  
  36.                 string[] individualTags = vm.Tags.Split(',');
  37.                 var tags = new List<Tag>();
  38.  
  39.                 foreach (var t in individualTags)
  40.                 {
  41.                     if (!unitOfWork.TagRepository.DoesTagExist(t))
  42.                     {
  43.                         var newTag = new Tag
  44.                         {
  45.                             Name = t,
  46.                             CreatedOn = DateTime.Now
  47.                         };
  48.  
  49.                         tags.Add(newTag);
  50.                     }
  51.                     else
  52.                     {
  53.                         var xx = t.ToLowerInvariant();
  54.                         tags.Add(unitOfWork.TagRepository.getTagByName(t));
  55.                     }
  56.                 }
  57.  
  58.                 q.Author = a; // Setting Quote Author
  59.                 q.Tags = tags; // Setting Quote Tags
  60.                 q.Language = unitOfWork.LanguageRepository.Find(vm.SelectedLanguageId); // Setting Quote Language
  61.  
  62.                 // Adding Quote to Database. Returns True if Successful
  63.                 if (unitOfWork.QuoteRepository.AddNewQuote(q))
  64.                 {
  65.                     return RedirectToAction("Index", "Home");
  66.                 }
  67.                 else
  68.                 {
  69.                     var langs = unitOfWork.LanguageRepository.Languages.ToList();
  70.                     vm.Languages = langs.ToSelectListItems();
  71.                     return View(vm);
  72.                 }
  73.             }
  74.             else
  75.             {
  76.                 var langs = unitOfWork.LanguageRepository.Languages.ToList();
  77.                 vm.Languages = langs.ToSelectListItems();
  78.                 return View(vm);
  79.             }          
  80.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement