public ActionResult UpdateChecklist(RepairStatusView repair, string upc) { Trello t = new Models.Trello(); var cards = t.GetCards(SessionVariables.CurrentLocation.ToString()); foreach (var card in cards) { if (card.name == upc) { var checklists = t.GetChecklists(card.id); var checklist = checklists.Last().checkItems; // check if checklist item was changed for (var i = 0; i < checklist.Count(); i++) { if ((repair.Checklist[i].state == true && checklist[i].state == "incomplete") || (repair.Checklist[i].state == false && checklist[i].state == "complete")) { var newState = "incomplete"; if (repair.Checklist[i].state == true) { newState = "complete"; } var result = t.PutChangeChecklistItem(card.id, checklist[i].id, newState); } if (repair.Checklist[i].delete == true) { t.DeleteChecklistItem(card.id, checklist[i].id); } } } } return(RedirectToAction("Index")); }
public ActionResult AddItemToChecklist(string upc, string newCheckItem) { Trello t = new Models.Trello(); var cards = t.GetCards(SessionVariables.CurrentLocation.ToString()); foreach (var card in cards) { if (card.name == upc) { var checklists = t.GetChecklists(card.id); //var checklist = checklists.First().checkItems; var result = t.PostCardChecklistItem(checklists.Last().id, newCheckItem); } } return(RedirectToAction("UpdateRepair", new { upc = upc })); }
// opens a view to updates an individual repair public ActionResult UpdateRepair(string upc) { RepairStatusView item = new RepairStatusView(); Trello t = new Models.Trello(); var cards = t.GetCards(SessionVariables.CurrentLocation.ToString()); foreach (var card in cards) { if (card.name == upc) { item.ItemUpc = card.name; item.Comments = t.GetCardComments(card.id); var checklists = t.GetChecklists(card.id); var checklist = checklists.Last().checkItems; item.Checklist = new List <Models.Trello.CheckItemView>(); foreach (var checkitem in checklist) { Trello.CheckItemView civ = new Models.Trello.CheckItemView(); civ.id = checkitem.id; civ.name = checkitem.name; civ.nameData = checkitem.nameData; civ.pos = checkitem.pos; civ.idChecklist = checkitem.idChecklist; if (checkitem.state == "complete") { civ.state = true; } else { civ.state = false; } item.Checklist.Add(civ); } item.RequestDate = checklists.Last().name; item.DueDate = card.due; foreach (var b in t.GetBoards()) { if (b.id == card.idBoard) { item.ItemLocation = b.name; } } } } return(View(item)); }
// Marks any existing checklist items as complete, closes the due date, and marks the repair request as closed public ActionResult CloseRepair(string itemUpc, string itemLoc, string description, string confirm) { if (itemUpc == null || itemLoc == null || description == "" || confirm != "close") { TempData["message"] = "To close a request for repair, you must include a closing note and confirm that the repair has been resolved. Please try again."; return(RedirectToAction("Index")); } if (confirm == "nevermind") { TempData["message"] = "To close a request for repair, you must confirm that the repair has been resolved. Please try again."; return(RedirectToAction("Index")); } bool success = false; Trello t = new Models.Trello(); // get card id first var cards = t.GetCards(itemLoc); string cardId = null; foreach (var card in cards) { if (card.name == itemUpc) { cardId = card.id; continue; } } if (cardId != null) { var user = db.tb_CSULabTechs.FirstOrDefault(m => m.ENAME == SessionVariables.CurrentUserId); // retrieves the checklist and close any open checklist items var checklists = t.GetChecklists(cardId); var checklistId = checklists.Last().id; List <Trello.CheckItem> checklistItems = t.GetChecklistItems(checklistId); foreach (var item in checklistItems) { var result = t.PutChangeChecklistItem(cardId, item.id, "complete"); } // post the close note as a comment description = "CLOSED --> " + description + " -- Posted by: " + user.First_Name + " " + user.Last_Name + "(" + DateTime.Now.ToString() + ")"; var commentId = t.PostCardComment(cardId, description); // mark the due date as complete var dueDateClosed = t.PutCloseDueDate(cardId); // determine success if (commentId != null && dueDateClosed != null) { success = true; } } if (success) // success { TempData["message"] = "The repair request for Item #" + itemUpc + " has been closed."; return(RedirectToAction("Index")); } else { TempData["message"] = "There was a problem closing this repair. Please try again."; return(RedirectToAction("Index")); } }