/// <summary> /// Berfungsi untuk menambahkan pro di halaman edit memo /// </summary> /// <param name="memoViewModel">Sebuah object dari memo view model</param> /// <param name="collection">Object dari FormCollection yang isinya data dari input form halaman view</param> /// <returns>PRO berhasil ditambahkan</returns> public ActionResult AddPRO(MemoViewModel memoViewModel, FormCollection collection) { try { var username = User.Identity.Name; var memoID = collection.GetValues("Memo.ID"); foreach (var pro in memoViewModel.selectedProID) { var proData = db.Pros.Find(pro); var newMemoPRO = new MemoPRO { MemoID = Convert.ToInt32(memoID[0]), PROID = pro, Quantity = proData.Quantity, Created = DateTime.Now, CreatedBy = username, LastModified = DateTime.Now, LastModifiedBy = username }; db.MemoPROes.Add(newMemoPRO); } db.SaveChanges(); Session["message"] = "pro added"; return(RedirectToAction("Edit", "Memo", new { id = memoID[0] })); } catch (Exception ex) { ViewBag.Exception = ex; } return(View("Error")); }
public ActionResult CreateMemoPRO(MemoViewModel memoViewModel) { var username = User.Identity.Name; List <Services.NewMemoServices> memo = (List <Services.NewMemoServices>)Session["newMemo"]; int productID = memo[0].SelectedProduct; var selectedPROList = db.Pros.Where(x => x.ProductID == productID).ToList(); var viewModel = new MemoViewModel { PROCollections = selectedPROList }; try { List <MemoPRO> listOfMemoPRO = new List <MemoPRO>(); foreach (var pro in memoViewModel.selectedProID) { var currentPRO = db.Pros.Find(pro); var newMemoPRO = new MemoPRO { PROID = pro, Number = currentPRO.Number }; listOfMemoPRO.Add(newMemoPRO); } memo[0].ListOfMemoPROs = listOfMemoPRO; Session["newMemo"] = memo; return(View(viewModel)); } catch (Exception ex) { ViewBag.Exception = ex; } return(View(viewModel)); }
/// <summary> /// Berfungsi untuk mengubah quantity dari pro pada saat pro baru di input oleh user ketika user ingin create memo baru /// </summary> /// <param name="memoPRO">Sebuah object dari memo pro</param> /// <returns>Quantity berhasil ditambahkan</returns> public ActionResult EditMemoPRO(MemoPRO memoPRO) { try { var memoPROData = db.MemoPROes.Find(memoPRO.ID); if (memoPRO.Quantity > memoPROData.PRO.Quantity) { return(Json(new { success = false, responseText = "Update quantity failed. Quantity that inserted is higher than PRO quantity" }, JsonRequestBehavior.AllowGet)); } else { memoPROData.Quantity = memoPRO.Quantity; db.SaveChanges(); return(Json(new { success = true, responseText = "Quantity successfully updated" }, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { ViewBag.Exception = ex; } return(View("Error")); }
/// <summary> /// Berfungsi untuk menambahkan memo baru ke dalam database /// </summary> /// <param name="memoViewModel">Sebuah object dari memo view model</param> /// <returns>Ketika memo berhasil ditambahkan, maka web akan meredirect ke halaman detail</returns> public ActionResult SaveMemo(MemoViewModel memoViewModel) { List <Services.NewMemoServices> memo = (List <Services.NewMemoServices>)Session["newMemo"]; var currentMemo = memo[0].Memo; var currentListOfMemoPRO = memo[0].ListOfMemoPROs; try { var username = User.Identity.Name; var newMemo = new Memo { Description = currentMemo.Description, MemoTypeID = currentMemo.MemoTypeID, ProductID = currentMemo.ProductID, Created = DateTime.Now, CreatedBy = username, LastModified = DateTime.Now, LastModifiedBy = username }; db.Memos.Add(newMemo); db.SaveChanges(); var newMemoID = newMemo.ID; foreach (var memoPro in currentListOfMemoPRO) { var newMemoPRO = new MemoPRO { MemoID = newMemoID, PROID = memoPro.PROID, Quantity = memoPro.Quantity, Created = DateTime.Now, CreatedBy = username, LastModified = DateTime.Now, LastModifiedBy = username }; db.MemoPROes.Add(newMemoPRO); } db.SaveChanges(); var selectedComponent = memoViewModel.SelectedComponent; foreach (int componentID in memoViewModel.SelectedComponent) { var newMemoComponent = new MemoComponent { MemoID = newMemoID, ComponentID = componentID, Created = DateTime.Now, CreatedBy = username, LastModified = DateTime.Now, LastModifiedBy = username }; db.MemoComponents.Add(newMemoComponent); } db.SaveChanges(); Session.Remove("newMemo"); return(RedirectToAction("Details", "Memo", new { id = newMemoID })); } catch (Exception ex) { ViewBag.Exception = ex; } return(View("Error")); }