Esempio n. 1
0
        public async Task UpdateAsync(int id, EditRigInputModel input)
        {
            var rig = this.rigsRepository.All()
                      .FirstOrDefault(r => r.Id == id);

            rig.Name        = input.Name;
            rig.Description = input.Description;

            await this.rigsRepository.SaveChangesAsync();
        }
Esempio n. 2
0
        public async Task <IActionResult> Edit(int id, EditRigInputModel input)
        {
            var currentUserId = this.User.FindFirst(ClaimTypes.NameIdentifier).Value;
            var rigOwnerId    = this.rigsService.GetRigOwnerId(id);

            var isAdministrator = this.User.IsInRole(GlobalConstants.AdministratorRoleName);

            if (currentUserId != rigOwnerId && !isAdministrator)
            {
                return(this.NotFound());
            }

            if (!this.ModelState.IsValid)
            {
                return(this.View(input));
            }

            await this.rigsService.UpdateAsync(id, input);

            return(this.RedirectToAction(nameof(this.ById), new { id }));
        }
Esempio n. 3
0
        public async Task UpdateAsyncShouldWorkCorrect()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options;

            using var db = new ApplicationDbContext(options);
            var rigRepository = new EfDeletableEntityRepository <Rig>(db);

            var service = new RigsService(null, rigRepository);

            await rigRepository.AddAsync(new Rig
            {
                Id    = 22,
                Steps = new List <Step> {
                    new Step()
                },
                Description = "initial test description",
                Name        = "initial name",
                OwnerId     = "t1t2t3",
            });

            await rigRepository.SaveChangesAsync();

            var input = new EditRigInputModel
            {
                Name        = "updated name",
                Description = "updated description",
            };

            await service.UpdateAsync(22, input);

            await rigRepository.SaveChangesAsync();

            AutoMapperConfig.RegisterMappings(typeof(RigModel).Assembly);
            var rig = service.GetById <RigModel>(22);

            Assert.Equal("updated name", rig.Name);
            Assert.Equal("updated description", rig.Description);
        }