public ActionResult DeleteComment(string id, InventoryTaskModel task, string comment) { InventoryTaskModel.Comment comment1 = new InventoryTaskModel.Comment(); var singletask = productCollection.AsQueryable <InventoryTaskModel>().SingleOrDefault(x => x.Id == new ObjectId(id)); foreach (var coment in singletask.Comments) { if (coment.commId == comment) { comment1 = coment; // Debug.WriteLine(comment); } } //Debug.WriteLine(comment); comments.RemoveAll(l => l.commId == comment); // Debug.WriteLine(comments.Count()); //Debug.WriteLine(comment1.comm); var filter = Builders <InventoryTaskModel> .Filter.Eq("_id", ObjectId.Parse(id)); var update = Builders <InventoryTaskModel> .Update .Set("Comments", comments); var result = productCollection.UpdateOne(filter, update); return(RedirectToAction("AddComment", new { id = id })); }
public ActionResult DisjointTask(string id, InventoryTaskModel task) { assignees.Remove(Session["UserId"].ToString()); Session["JoinedTaskCount"] = Int32.Parse(Session["JoinedTaskCount"].ToString()) - 1; if (assignees.Count == 0 || assignees == null) { task.assignees = assignees; var filter = Builders <InventoryTaskModel> .Filter.Eq("_id", ObjectId.Parse(id)); var update = Builders <InventoryTaskModel> .Update .Set("assignees", assignees) .Set("state", "Unassigned"); var result = productCollection.UpdateOne(filter, update); assignees = new List <string>(); return(RedirectToAction("Details", new { id = id })); } else { task.assignees = assignees; var filter = Builders <InventoryTaskModel> .Filter.Eq("_id", ObjectId.Parse(id)); var update = Builders <InventoryTaskModel> .Update .Set("assignees", assignees); var result = productCollection.UpdateOne(filter, update); assignees = new List <string>(); return(RedirectToAction("Details", new { id = id })); } }
public ActionResult Create(InventoryTaskModel inventoryTask) { inventoryTask.posterName = Session["Username"].ToString(); inventoryTask.posterPhoto = Session["Img"].ToString(); inventoryTask.taskType = "Inventory Task"; inventoryTask.taskName = inventoryTask.taskType + " - " + inventoryTask.address; var vol = volunteerCollection.AsQueryable <VolunteerModel>().SingleOrDefault(x => x.Name == inventoryTask.requester); inventoryTask.reqPhoto = vol.UserPhoto; inventoryTask.state = "Unassigned"; inventoryTask.FileList = documentsList; try { productCollection.InsertOne(inventoryTask); deletedTask = new List <object>(); deletedTask.Add(inventoryTask); documentsList = new List <string>(); Session["TaskCount"] = Int32.Parse(Session["TaskCount"].ToString()) + 1; return(RedirectToAction("Details", new { id = inventoryTask.Id })); } catch { return(View()); } }
public ActionResult Edit(string id, InventoryTaskModel task) { task.FileList = documentsList; task.posterName = Session["Username"].ToString(); task.posterPhoto = Session["Img"].ToString(); task.taskType = "Inventory Task"; task.taskName = task.taskType + " - " + task.address; task.requester = "Ellie"; task.state = "Unassigned"; try { var filter = Builders <InventoryTaskModel> .Filter.Eq("_id", ObjectId.Parse(id)); var update = Builders <InventoryTaskModel> .Update .Set("ImportanceLevel", task.ImportanceLevel) .Set("requester", task.requester) .Set("taskID", task.taskID) .Set("taskName", task.taskName) .Set("taskType", task.taskType) .Set("posterName", task.posterName) .Set("creationDate", task.creationDate) .Set("state", task.state) .Set("address", task.address) .Set("taskDate", task.taskDate) .Set("taskTime", task.taskTime) .Set("AdditionalInfo", task.AdditionalInfo) .Set("FileList", task.FileList);; var result = productCollection.UpdateOne(filter, update); deletedTask = new List <object>(); task.Id = ObjectId.Parse(id); deletedTask.Add(task); documentsList = new List <string>(); return(RedirectToAction("Details", new { id = id })); } catch { return(View()); } }
public ActionResult AddComment(string id, InventoryTaskModel task) { scomm.volunteerId = Session["UserId"].ToString(); scomm.comm = task.singleComm; scomm.volunteerName = Session["Username"].ToString(); scomm.volunteerPhoto = Session["Img"].ToString(); comments = new List <InventoryTaskModel.Comment>(); var singletask = productCollection.AsQueryable <InventoryTaskModel>().SingleOrDefault(x => x.Id == new ObjectId(id)); if (singletask.Comments == null || singletask.Comments.Count() == 0) { comments = new List <InventoryTaskModel.Comment>(); scomm.commId = "1"; } else { List <int> ids = new List <int>(); foreach (var coment in singletask.Comments) { comments.Add(coment); ids.Add(Int32.Parse(coment.commId)); } scomm.commId = (ids.Max() + 1).ToString(); } comments.Add(scomm); // task.singleComm = ""; var filter = Builders <InventoryTaskModel> .Filter.Eq("_id", ObjectId.Parse(id)); var update = Builders <InventoryTaskModel> .Update .Set("Comments", comments) .Set("singleComm", ""); var result = productCollection.UpdateOne(filter, update); return(RedirectToAction("AddComment", new { id = id })); //return RedirectToAction("Details", new { id = id }); }
public ActionResult CompleteTask(string id, InventoryTaskModel task) { var filter = Builders <InventoryTaskModel> .Filter.Eq("_id", ObjectId.Parse(id)); var update = Builders <InventoryTaskModel> .Update .Set("state", "Completed"); var result = productCollection.UpdateOne(filter, update); if (Session["Role"].ToString() == "Admin" || Session["Role"].ToString() == "Moderator") { Session["TaskCount"] = Int32.Parse(Session["TaskCount"].ToString()) - 1; // Session["JoinedTaskCount"] = Int32.Parse(Session["JoinedTaskCount"].ToString()) - 1; Session["CompletedTaskCount"] = Int32.Parse(Session["CompletedTaskCount"].ToString()) + 1; return(RedirectToAction("../CompletedTasks/Index")); } else { return(RedirectToAction("../AllTasks/Index")); } }