public ActionResult Save(int projectId, string achievementTitle, FileViewModel achievementImage) { if (achievementImage == null) { ModelState.AddGeneralError("Achievement file required"); return this.RedirectToAction<ProjectsController>(x => x.Index()); } if (achievementTitle.IsNullOrBlank()) { ModelState.AddGeneralError("Achievement title required"); return this.RedirectToAction<ProjectsController>(x => x.Index()); } var achievement = new Achievement(); var project = this.projectsRepository.GetById(projectId); achievement.Project = project; achievement.Name = achievementTitle; achievementsRepository.AddPhysically(achievement); achievement.ImageName = storage.SaveAchievementImage(achievementImage.InputStream, achievementImage.Name); this.achievementsRepository.SaveChanges(); return this.RedirectToAction<ProjectsController>(x => x.Show(projectId)); }
public void GetAchievementTriggerFromDb_ShouldAlwaysIncludeAchievement() { var repository = this.Container.Resolve<IRepository<AchievementsTrigger>>(); var achievementRepository = this.Container.Resolve<IRepository<Achievement>>(); var achievement = new Achievement { Name = "achievement" }; achievementRepository.AddPhysically(achievement); var achievementTrigger = new AchievementsTrigger(); achievementTrigger.Achievement = achievement; repository.AddPhysically(achievementTrigger); repository.ClearContext(); var container = IntegrationTestsComponentRegistration.CreateTestsWindsorContainer(); var newRepo = container.Resolve<IRepository<AchievementsTrigger>>(); var triggerFromDb = newRepo.GetById(achievementTrigger.Id); triggerFromDb.Achievement.Should().Not.Be.Null(); triggerFromDb.Achievement.Name.Should().Be.EqualTo("achievement"); }
public string FullAchievementPath(Achievement achievement) { return this.urlHelper.Content(achievementVirualPath + achievement.ImageName); }
public static string Path(this UrlHelper urlHelper, Achievement achievement) { return new Storage(urlHelper).FullAchievementPath(achievement); }