public ActionResult AddItem(string itemName) { itemName = Request.Form["itemName"].Trim(); string itemDescription = Request.Form["itemDescription"].Trim(); string executionExample = Request.Form["executionExample"].Trim(); string resultExample = Request.Form["resultExample"].Trim(); string codeLink = Request.Form["codeLink"].Trim(); int author = Convert.ToInt32(Request.Form["author"].Trim()); string itemHTML = Request.Form["html"].Trim(); List<string> catArray = new List<string>(); catArray = (Request.Form["cat"] != null)?Request.Form["cat"].Trim().Split(',').ToList<string>():new List<string>(); int item_id = 0; // Validate the fields List<string> error_messages = new List<string>(); DocsLinqDataContext doc_db = new DocsLinqDataContext(); if (itemName.Length == 0) { error_messages.Add("You must enter a name for this item."); } if (itemDescription.Length == 0) { error_messages.Add("You must enter a brief overview of this item."); } //if (catArray.Count == 0) { error_messages.Add("You did not specify a category for this item."); } if (error_messages.Count == 0) { // Add new item to database // Create new itemDoc object docItem item = new docItem { itemName = itemName, itemDescription = itemDescription, executionExample = executionExample, resultExample = resultExample, codeLink = codeLink, dateModified = DateTime.Now, author = author, itemHTML = itemHTML }; doc_db.docItems.InsertOnSubmit(item); item_id = item.itemID; try { // Commit new item doc_db.SubmitChanges(); // Get the itemID of the newly created entry int itemID = item.itemID; // Now we need to associate this item with the selected categories if (catArray.Count > 0) { foreach (string cat in catArray) { if (cat.Trim().Length > 0) { cat_item ci = new cat_item { itemID = itemID, catID = Convert.ToInt32(cat) }; doc_db.cat_items.InsertOnSubmit(ci); } } } try { // Commit cat_items and redirect doc_db.SubmitChanges(); return RedirectToAction("Items"); } catch (Exception e) { error_messages.Add(e.Message); } } catch (Exception e) { error_messages.Add(e.Message); } } // Store the fields in the ViewBag ViewBag.itemName = itemName; ViewBag.itemDescription = itemDescription; ViewBag.executionExample = executionExample; ViewBag.resultExample = resultExample; ViewBag.codeLink = codeLink; ViewBag.author = author; ViewBag.itemHTML = itemHTML; ViewBag.error_messages = error_messages; // Get all of the categories List<docCategory> categories = Documentation.GetCategories(); ViewBag.categories = categories; // get all of the users ::: this will allow us to designate the author of the new item List<user> users = Users.GetAllUsers(); ViewBag.users = users; return View(); }
/// <summary> /// Gets the item. /// </summary> /// <param name="itemID">The item ID.</param> /// <returns></returns> /// <remarks></remarks> public static docItem GetItem(int itemID = 0) { docItem item = new docItem(); DocsLinqDataContext doc_db = new DocsLinqDataContext(); item = (from i in doc_db.docItems where i.itemID.Equals(itemID) select i).Single<docItem>(); return item; }