示例#1
0
        public async Task TestGetIdeaGoodData()
        {
            ACMDbContext    context         = ACMDbContextInMemoryFactory.InitializeContext();
            HomeownerSevice homeownerSevice = new HomeownerSevice(context);
            ACMUser         user            = new ACMUser {
                Email = "*****@*****.**", FullName = "gosho"
            };
            Idea idea1 = new Idea {
                Id = "1", User = user, Text = "idea1"
            };
            Idea idea2 = new Idea {
                Id = "2", User = user, Text = "idea2"
            };
            await context.Users.AddAsync(user);

            await context.Ideas.AddAsync(idea1);

            await context.Ideas.AddAsync(idea2);

            await context.SaveChangesAsync();

            EditIdeaDTO output = homeownerSevice.GetIdea(idea1.Id, user.Email);

            Assert.Equal(idea1.Text, output.Text);
            Assert.Equal(idea1.Id, output.Id);
        }
示例#2
0
        public IActionResult Edit(string id)
        {
            EditIdeaDTO model = homeownerSevice.GetIdea(id, User.Identity.Name);

            if (model == null)
            {
                return(Redirect("/Homeowners/Ideas"));
            }
            return(View(model));
        }
示例#3
0
 public async Task <IActionResult> Edit(EditIdeaDTO model)
 {
     if (ModelState.IsValid)
     {
         if (await homeownerSevice.EditIdea(model.Id, User.Identity.Name, model.Text))
         {
             return(Redirect("/Homeowners/Ideas"));
         }
     }
     return(View(model));
 }
示例#4
0
        public EditIdeaDTO GetIdea(string id, string userName)
        {
            EditIdeaDTO idea = context.Ideas
                               .Where(x => x.Id == id && x.User.Email == userName)
                               .Select(x => new EditIdeaDTO
            {
                Id   = x.Id,
                Text = x.Text
            }).FirstOrDefault();

            if (idea == null)
            {
                throw new ACMException();
            }
            return(idea);
        }