public ActionResult Create(Card card) { card.bid = TempData["bid"] as string; card.lid = TempData["lid"] as string; if (ModelState.IsValid) { card.cardPos = db.Cards.Where<Card>(c => c.bid == card.bid && c.lid == card.lid).Count() + 1; card.cdate = DateTime.Now; card.archived = false; db.Cards.Add(card); db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.bid = card.bid; ViewBag.lid = card.lid; return View(card); }
public ActionResult Move(Card card) { if (ModelState.IsValid) { string newLid = card.lid; string oldLid = TempData["oldLid"] as string; card.lid = oldLid; db.Entry(card).State = EntityState.Modified; db.Cards.Remove(card); db.SaveChanges(); var cardsOfBoard = db.Cards.Where<Card>(c => c.bid == card.bid); var cards = cardsOfBoard.Where<Card>(c => c.lid == oldLid && c.cardPos > card.cardPos); foreach (Card c in cards) c.cardPos--; db.SaveChanges(); card.cardPos = cardsOfBoard.Where<Card>(c => c.lid == newLid).Count() + 1; card.lid = newLid; db.Cards.Add(card); db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.bid = card.bid; ViewBag.lid = card.lid; return View(card); }
public ActionResult Edit(Card card) { if (ModelState.IsValid) { int newPos = card.cardPos; int oldPos = (int)TempData["oldPos"]; card.cardPos = oldPos; db.Entry(card).State = EntityState.Modified; db.Cards.Remove(card); db.SaveChanges(); Card otherCard = db.Cards.First<Card>(c => c.cardPos == newPos); string lid = otherCard.lid; db.Entry(otherCard).State = EntityState.Modified; db.Cards.Remove(otherCard); db.SaveChanges(); card.cardPos = newPos; card.lid = TempData["lid"] as string; db.Cards.Add(card); db.SaveChanges(); otherCard.cardPos = oldPos; otherCard.lid = lid; db.Cards.Add(otherCard); db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.bid = card.bid; ViewBag.lid = card.lid; return View(card); }