public ActionResult Create(AchivementCollection achivementCollection) { if (ModelState.IsValid) { achivementCollection.UserID = User.Identity.GetUserId(); db.AchivementCollections.Add(achivementCollection); db.SaveChanges(); return RedirectToAction("Profile", "Account"); } return View(achivementCollection); }
public ItemViewModel ItemCreateAchivement(AchivementCollection collection) { var factory = manager.GetFactory(collection); return new ItemViewModel() { Name = "Добавить достижение", ImageClass = factory.PreviewClass, Redirect = new RedirectViewModel() { Action = "Create", Controller = GetFactory(collection).Controller, Model = new { id = collection.ID } } }; }
public IAchivementFactory GetFactory(AchivementCollection collection) { switch (collection.AchivementType) { case AchivementTypes.Photo: return new PhotoCollectionFactory() { db = db, Collection = collection }; case AchivementTypes.Text: return new TextCollectionFactory() { db = db, Collection = collection }; default: return new NullCollectionFactory(); } }
public IEnumerable<ItemViewModel> ItemsDetailsAchivements(AchivementCollection collection) { var factory = GetFactory(collection); foreach (var achivement in factory.GetAchivements()) { yield return new ItemViewModel() { Name = achivement.Name, ImageClass = factory.PreviewClass, Redirect = new RedirectViewModel() { Action = "Details", Controller = factory.Controller, Model = new { id = achivement.ID, } } }; } }
public ActionResult Edit(AchivementCollection achivementCollection) { if (ModelState.IsValid) { db.Entry(achivementCollection).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } return View(achivementCollection); }
public IEnumerable<FolderViewModel> ViewFolders(AchivementCollection[] achivementCollection) { string type = ""; foreach (var collection in achivementCollection) { if (AchivementCount(collection) != 0) type = "folder file-folder"; else type = "folder empty-folder"; yield return new FolderViewModel() { Name = collection.Name, FolderClass = type, Redirect = new RedirectViewModel() { Action = "Collection", Controller = "Account", Model = new { id = collection.ID, } } }; } }
public int AchivementCount(AchivementCollection collection) { return manager.GetFactory(collection).GetCount(); }
IAchivementFactory GetFactory(AchivementCollection collection) { return manager.GetFactory(collection); }