示例#1
0
        public async Task <IActionResult> Edit(EditInputModel input)
        {
            var userId = this.User
                         .FindFirstValue(ClaimTypes.NameIdentifier);

            if (this.ModelState.ContainsKey(ErrorMessage.InvalidRequest) ||
                this.forumPostService.Find <ValidationModel>(input.Id, userId, input.QuestionId) == null)
            {
                return(this.BadRequest());
            }

            if (!this.ModelState.IsValid)
            {
                var errorModel = this.forumPostService.Get <EditViewModel>(input.Id);
                errorModel.Title      = errorModel.QuestionId == null ? input.Title : errorModel.Title;
                errorModel.Body       = errorModel.QuestionId == null ? input.Body : errorModel.Body;
                errorModel.AnswerBody = input.AnswerBody;

                return(this.View(errorModel));
            }

            await this.forumPostService
            .EditAsync(input.Id, input.Title, input.AnswerBody ?? input.Body);

            return(this.RedirectToAction(nameof(this.Details), new { id = input.QuestionId ?? input.Id }));
        }
示例#2
0
        public async Task UpdateAsyncCorrect()
        {
            var homeworkId = Guid.NewGuid().ToString();
            var homework   = new Homework
            {
                Id = homeworkId, Name = "tets1", Description = "test1",
            };

            this.context.Homeworks.Add(homework);
            await this.context.SaveChangesAsync();

            var editModel = new EditInputModel
            {
                Id          = homeworkId,
                Name        = "Update",
                EndDate     = "24-03-2020",
                Description = "update description",
            };

            await this.service.UpdateAsync(editModel);

            var updateHomework = this.service.GetById(editModel.Id);

            Assert.NotEqual("tets1", updateHomework.Name);
            Assert.NotEqual("test1", updateHomework.Description);
            Assert.Equal(updateHomework.Name, homework.Name);
            Assert.Equal(updateHomework.Id, homework.Id);
        }
示例#3
0
        public async Task <IActionResult> Edit(long?id, [FromBody] EditInputModel model)
        {
            //データの入力チェック
            if (!ModelState.IsValid || !id.HasValue)
            {
                return(JsonBadRequest("Invalid inputs."));
            }
            //データの存在チェック
            var history = await inferenceHistoryRepository.GetByIdAsync(id.Value);

            if (history == null)
            {
                return(JsonNotFound($"Inference ID {id.Value} is not found."));
            }
            //推論名の入力チェック
            if (string.IsNullOrWhiteSpace(model.Name))
            {
                //推論名に空文字は許可しない
                return(JsonBadRequest($"A name of inference is NOT allowed to set empty string."));
            }

            history.Name     = EditColumn(model.Name, history.Name);
            history.Memo     = EditColumn(model.Memo, history.Memo);
            history.Favorite = EditColumn(model.Favorite, history.Favorite);
            unitOfWork.Commit();

            return(JsonOK(new InferenceSimpleOutputModel(history)));
        }
        public async Task UpdateCourseNameCorrect()
        {
            var courseId = Guid.NewGuid().ToString();
            var course   = new Course
            {
                Id          = courseId,
                Name        = "C# web",
                Description = "hard course",
            };

            this.context.Add(course);
            await this.context.SaveChangesAsync();

            var editModel = new EditInputModel
            {
                Id          = courseId,
                Name        = "C# test",
                StartOn     = "12-01-2020",
                EndOn       = "25-05-2020",
                Duration    = 4,
                Description = "none",
            };

            await this.service.UpdateAsync(editModel);

            var updateCourse = this.service.GetById(course.Id);

            Assert.NotEqual("C# web", updateCourse.Name);
            Assert.NotEqual("hard course", updateCourse.Description);
            Assert.Equal(updateCourse.Name, editModel.Name);
            Assert.Equal(updateCourse.Name, course.Name);
            Assert.Equal(course.Id, updateCourse.Id);
        }
        public async Task <IActionResult> Edit(long?id, [FromBody] EditInputModel model)
        {
            //データの入力チェック
            if (!ModelState.IsValid || !id.HasValue)
            {
                return(JsonBadRequest("Invalid inputs."));
            }
            //データの存在チェック
            var preprocessing = await preprocessRepository.GetByIdAsync(id.Value);

            if (preprocessing == null)
            {
                return(JsonNotFound($"Preprocessing ID {id.Value} is not found."));
            }

            if (model.Name != null)
            {
                if (string.IsNullOrWhiteSpace(model.Name))
                {
                    //名前に空文字は許可しない
                    return(JsonBadRequest($"A name of Preprocessing is NOT allowed to set empty string."));
                }
                preprocessing.Name = model.Name;
            }
            preprocessing.Memo   = EditColumn(model.Memo, preprocessing.Memo);
            preprocessing.Cpu    = EditColumn(model.Cpu, preprocessing.Cpu);
            preprocessing.Memory = EditColumn(model.Memory, preprocessing.Memory);
            preprocessing.Gpu    = EditColumn(model.Gpu, preprocessing.Gpu);

            unitOfWork.Commit();

            return(JsonOK(new IndexOutputModel(preprocessing)));
        }
示例#6
0
        public async Task <IActionResult> Edit(long id, [FromBody] EditInputModel model)
        {
            if (!ModelState.IsValid)
            {
                return(JsonBadRequest("Invalid inputs."));
            }
            var template = await templateRepository.GetByIdAsync(id);

            if (template == null)
            {
                return(JsonNotFound($"Template ID {id} is not found."));
            }
            if (model.AccessLevel != null)
            {
                if (model.AccessLevel != TemplateAccessLevel.Disabled &&
                    model.AccessLevel != TemplateAccessLevel.Private &&
                    model.AccessLevel != TemplateAccessLevel.Public)
                {
                    return(JsonBadRequest("Invalid access level"));
                }
                template.AccessLevel = model.AccessLevel.Value;
            }
            template.Name = EditColumnNotEmpty(model.Name, template.Name);
            template.Memo = EditColumn(model.Memo, template.Memo);
            unitOfWork.Commit();

            return(JsonOK(new IndexOutputModel(template)));
        }
示例#7
0
        public async Task <IActionResult> EditForAdmin(long?id, [FromBody] EditInputModel model, [FromServices] ITenantRepository tenantRepository)
        {
            //データの入力チェック
            if (!ModelState.IsValid || !id.HasValue)
            {
                return(JsonBadRequest("Invalid inputs."));
            }
            if (model.IsSystemRole && model.TenantId != null)
            {
                //Admin向けなのにテナント固有にしてあったら入力ミス
                return(JsonBadRequest($"Invalid inputs. The role is for admin, but set to specific tenant { model.TenantId }"));
            }
            //データの存在チェック
            Role role = await roleRepository.GetRoleForUpdateAsync(id.Value);

            if (role == null)
            {
                return(JsonNotFound($"Role ID {id.Value} is not found."));
            }
            if (model.TenantId != null && tenantRepository.Get(model.TenantId.Value) == null)
            {
                return(JsonNotFound($"Tenant ID {model.TenantId.Value} is not found."));
            }
            if (role.IsSystemRole != model.IsSystemRole)
            {
                //ロールの種類は変更できない
                return(JsonBadRequest("Invalid inputs. The role type is not allowed to change."));
            }
            //データの編集可否チェック
            if (role.IsNotEditable)
            {
                //名称と表示名の変更は許可しない。ソート順の変更のみ許可する。
                if (role.Name != model.Name || role.DisplayName != model.DisplayName)
                {
                    return(JsonBadRequest($"Role ID {id.Value} is not editable. Only the sort order is allowed to edit."));
                }
            }

            role.Name         = model.Name;
            role.DisplayName  = model.DisplayName;
            role.IsSystemRole = model.IsSystemRole;
            if (role.IsSystemRole)
            {
                role.TenantId = null;
            }
            else
            {
                role.TenantId = model.TenantId;
            }
            role.SortOrder = model.SortOrder.Value;

            roleRepository.Update(role, unitOfWork);

            unitOfWork.Commit();

            return(JsonOK(new IndexOutputModel(role)));
        }
示例#8
0
 /// <summary>
 /// データセット編集
 /// </summary>
 /// <param name="dataset">編集前のデータセット</param>
 /// <param name="model">編集内容</param>
 private void EditDataSet(DataSet dataset, EditInputModel model)
 {
     //Nameは空文字禁止なので、空文字は変更なしと見なす
     if (string.IsNullOrEmpty(model.Name) == false)
     {
         dataset.Name = model.Name == ValueOfEmptyString ? dataset.Name : model.Name;
     }
     dataset.Memo = EditColumn(model.Memo, dataset.Memo);
 }
        public ActionResult Edit(EditInputModel input)
        {
            var book     = BookStore.GetBook(input.Book);
            var category = book.GetCategory(input.Category);
            var word     = category.GetWord(input.Word);

            var model = new EditModel(word);

            return(View(model));
        }
示例#10
0
        public async Task UpdateAsync(EditInputModel inputModel)
        {
            var currentEvent = this.eventRepository.All().Where(x => x.Id == inputModel.Id).FirstOrDefault();

            currentEvent.Name     = inputModel.Name;
            currentEvent.Date     = DateTime.ParseExact(inputModel.Date, "dd-MM-yyyy", CultureInfo.InvariantCulture);
            currentEvent.CourseId = inputModel.CourseId;

            this.eventRepository.Update(currentEvent);
            await this.eventRepository.SaveChangesAsync();
        }
示例#11
0
        public async Task UpdateAsync(EditInputModel inputModel)
        {
            var exercise = this.exerciseRepository.All().Where(x => x.Id == inputModel.Id).FirstOrDefault();

            exercise.Name       = inputModel.Name;
            exercise.Condition  = inputModel.Condition;
            exercise.HomeworkId = inputModel.HomeworkId;

            this.exerciseRepository.Update(exercise);
            await this.exerciseRepository.SaveChangesAsync();
        }
示例#12
0
        public async Task <IActionResult> EditData(long?id, [FromBody] EditInputModel model, [FromServices] ITagRepository tagRepository)
        {
            //データの入力チェック
            if (!ModelState.IsValid || !id.HasValue)
            {
                return(JsonBadRequest("Invalid inputs."));
            }
            //データの存在チェック
            var data = await dataRepository.GetByIdAsync(id.Value);

            if (data == null)
            {
                return(JsonNotFound($"Data ID {id.Value} is not found."));
            }

            if (model.Name != null)
            {
                if (string.IsNullOrWhiteSpace(model.Name))
                {
                    //名前に空文字は許可しない
                    return(JsonBadRequest($"A name of Data is NOT allowed to set empty string."));
                }
                // 名前の前後の空白文字を除去して設定する。
                data.Name = model.Name.Trim();
            }
            data.Memo = EditColumn(model.Memo, data.Memo);

            //タグの編集。指定がない場合は変更なしと見なして何もしない。
            if (model.Tags != null)
            {
                if (model.Tags.Count() > 0)
                {
                    //タグが一つでも指定されていたら、全部上書き
                    await tagLogic.EditAsync(data.Id, model.Tags);
                }
                else
                {
                    //タグがゼロなら全削除
                    tagLogic.Delete(data.Id);
                }
            }

            // DBへの編集内容を一旦確定させるためコミット
            unitOfWork.Commit();

            // 未使用タグ削除
            tagRepository.DeleteUnUsedTags();

            // DBへタグ削除結果のコミット
            unitOfWork.Commit();

            return(JsonOK(new IndexOutputModel(data)));
        }
        //[HandleError, OrchardAuthorization(PermissionName = ApplicationFrameworkPermissionStrings.EditConfigurationSettings)]
        public ActionResult Edit(string selectedCategoryName, string selectedInstanceName)
        {
            EditInputModel inputModel = new EditInputModel();

            inputModel.CategoryName = selectedCategoryName;
            inputModel.InstanceName = selectedInstanceName.ToString();
            EditViewModel viewModel = _performanceMonitorWorkerService.Edit(inputModel);

            viewModel.InstanceName = selectedInstanceName.ToString();

            return(View(viewModel));
        }
示例#14
0
        public async Task UpdateAsync(EditInputModel inputModel)
        {
            var homework = this.homeworkRepository.All().FirstOrDefault(x => x.Id == inputModel.Id);

            homework.Name        = inputModel.Name;
            homework.EndDate     = DateTime.ParseExact(inputModel.EndDate, "dd-MM-yyyy", CultureInfo.InvariantCulture);
            homework.Description = inputModel.Description;
            homework.IsReady     = inputModel.IsReady;
            homework.CourseId    = inputModel.CourseId;

            this.homeworkRepository.Update(homework);
            await this.homeworkRepository.SaveChangesAsync();
        }
示例#15
0
        public async Task <IActionResult> Edit(EditInputModel inputModel)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.RedirectToAction(nameof(this.Edit)));
            }

            inputModel.UserId = this.userManager.GetUserId(this.User);

            await this.usersService.UpdateAsync(inputModel);

            return(this.RedirectToAction(nameof(this.AccountDetails)));
        }
示例#16
0
        public async Task <IActionResult> Edit()
        {
            var user = await this.userManager.GetUserAsync(this.User);

            var viewModel = new EditInputModel
            {
                UserId         = user.Id,
                AvatarImageUrl = user.AvatarImageUrl,
                Rank           = user.Rank,
                Champions      = user.Champions,
            };

            return(this.View(viewModel));
        }
 public ActionResult Edit(EditInputModel inputModel)
 {
     if (ModelState.IsValid)
     {
         Service.Dtos.Culture c = new Service.Dtos.Culture
         {
             ID   = inputModel.CultureID,
             Name = inputModel.Name
         };
         base.cultureService.UpdateCulture(c);
         return(RedirectToAction("Index"));
     }
     return(View(new CreateViewModel()));
 }
示例#18
0
        public async Task EditAsync(EditInputModel editInput)
        {
            var user = this.usersRepository
                       .All()
                       .First(x => x.Id == editInput.Id);

            user.FirstName             = editInput.FirstName;
            user.LastName              = editInput.LastName;
            user.SmsNotifications      = editInput.SmsNotifications;
            user.EmailNotifications    = editInput.EmailNotifications;
            user.FacebookNotifications = editInput.FacebookNotifications;

            await this.usersRepository.SaveChangesAsync();
        }
示例#19
0
        public async Task <IActionResult> Edit(string exerciseId, EditInputModel inputModel)
        {
            var exercise = this.exercisesService.GetById(exerciseId);

            inputModel.Id         = exercise.Id;
            inputModel.HomeworkId = exercise.HomeworkId;

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

            await this.exercisesService.UpdateAsync(inputModel);

            return(this.Redirect("/Exercise/Details?id=" + inputModel.Id));
        }
示例#20
0
        public ActionResult Edit(EditInputModel eim)
        {
            IEnumerable <SelectListItem> publishers;
            EditViewModel evm;

            if (ModelState.IsValid)
            {
                // here is where we would do mapping.

                db.Entry(eim.Book).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToActionFor <BooksController>(c => c.Index(null), eim.SearchSortPageParams));
            }
            publishers = new SelectList(db.Publishers.OrderBy(s => s.Name), "ID", "Name", eim.Book.PublisherID);
            evm        = new EditViewModel(eim.SearchSortPageParams, eim.Book, publishers);
            return(View(evm));
        }
示例#21
0
        public async Task UpdateAsync_WithCorrectData_ShouldSuccessfullyDelete()
        {
            var errorMessage = "UsersService UpdateAsync() method does not work properly.";

            // Arrange
            var context = ApplicationDbContextInMemoryFactory.InitializeContext();

            var usersRepository = new EfRepository <ApplicationUser>(context);

            var cloudinaryService = new Mock <ICloudinaryService>();

            var usersService = new UsersService(usersRepository, cloudinaryService.Object);

            var userStore = new ApplicationUserStore(context);

            var userManager = new UserManager <ApplicationUser>(userStore, null, null, null, null, null, null, null, null);

            var user = new ApplicationUser()
            {
                Id       = Guid.NewGuid().ToString(),
                UserName = "******",
            };

            var userModel = new EditInputModel
            {
                UserId         = user.Id,
                Rank           = "Challenger",
                Champions      = "Katarina",
                AvatarImageUrl = "https://res.cloudinary.com/lolshop-cloud/image/upload/v1586952164/avatar_yswuru.jpg",
                NewImage       = null,
            };

            // Act
            await userManager.CreateAsync(user);

            await usersService.UpdateAsync(userModel);

            var actualResult   = usersRepository.All().First();
            var expectedResult = userModel;

            // Assert
            Assert.True(expectedResult.UserId == actualResult.Id, errorMessage);
            Assert.True(expectedResult.AvatarImageUrl == actualResult.AvatarImageUrl, errorMessage);
            Assert.True(expectedResult.Rank == actualResult.Rank, errorMessage);
            Assert.True(expectedResult.Champions == actualResult.Champions, errorMessage);
        }
示例#22
0
        public async Task UpdateAsync(EditInputModel inputModel)
        {
            var user = this.usersRepository.All().FirstOrDefault(x => x.Id == inputModel.UserId);

            user.Rank = inputModel.Rank;

            user.Champions = inputModel.Champions;

            if (inputModel.NewImage != null)
            {
                var imageUrl = await this.cloudinaryService.UploadPhotoAsync(inputModel.NewImage, inputModel.UserId, GlobalConstants.CloudFolderForUserImages);

                user.AvatarImageUrl = imageUrl;
            }

            this.usersRepository.Update(user);
            await this.usersRepository.SaveChangesAsync();
        }
示例#23
0
        public async Task <IActionResult> Edit(string eventId, EditInputModel inputModel)
        {
            inputModel.Id = eventId;
            var eventById = this.eventsService.GetEventById(eventId);

            inputModel.CourseId = eventById.CourseId;

            if (!this.ModelState.IsValid)
            {
                return(this.NotFound(inputModel));
            }

            await this.eventsService.UpdateAsync(inputModel);

            var updateEvent = this.eventsService.GetEventById(inputModel.Id);

            return(this.Redirect("/Event/Details?id=" + updateEvent.Id));
        }
示例#24
0
        public async Task <IActionResult> Put(EditInputModel editInput)
        {
            var response = new Response();

            if (!this.ModelState.IsValid)
            {
                response.Message = "Invalid input!";
                return(this.BadRequest(response));
            }

            editInput.Id = this.User.FindFirstValue(ClaimTypes.NameIdentifier);

            await this.usersService.EditAsync(editInput);

            response.Message = "Successfully edited profile";

            return(this.Ok(response));
        }
示例#25
0
        public async Task <IActionResult> Edit(long?id, [FromBody] EditInputModel model)
        {
            //データの入力チェック
            if (!ModelState.IsValid || !id.HasValue)
            {
                return(JsonBadRequest("Invalid inputs."));
            }
            //データの存在チェック
            var history = await trainingHistoryRepository.GetByIdAsync(id.Value);

            if (history == null)
            {
                return(JsonNotFound($"Training ID {id.Value} is not found."));
            }

            history.Name     = EditColumnNotEmpty(model.Name, history.Name);
            history.Memo     = EditColumn(model.Memo, history.Memo);
            history.Favorite = EditColumn(model.Favorite, history.Favorite);

            //タグの編集。指定がない場合は変更なしと見なして何もしない。
            if (model.Tags != null)
            {
                if (model.Tags.Count() > 0)
                {
                    //タグが一つでも指定されていたら、全部上書き
                    await tagLogic.EditTrainingHistoryTagsAsync(history.Id, model.Tags);
                }
                else
                {
                    //タグがゼロなら全削除
                    tagLogic.DeleteTrainingHistoryTags(history.Id);
                }
            }

            unitOfWork.Commit();

            // 未使用タグ削除
            tagRepository.DeleteUnUsedTrainingHistoryTags();

            // DBへタグ削除結果のコミット
            unitOfWork.Commit();

            return(JsonOK(new SimpleOutputModel(history)));
        }
        public async Task <IActionResult> Edit(long?id, [FromBody] EditInputModel model)
        {
            // データの入力チェック
            if (!ModelState.IsValid || !id.HasValue)
            {
                return(JsonBadRequest("Invalid inputs."));
            }
            // データの存在チェック
            var preprocessing = await preprocessRepository.GetByIdAsync(id.Value);

            if (preprocessing == null)
            {
                return(JsonNotFound($"Preprocessing ID {id.Value} is not found."));
            }

            if (model.Name != null)
            {
                if (string.IsNullOrWhiteSpace(model.Name))
                {
                    // 名前に空文字は許可しない
                    return(JsonBadRequest($"A name of Preprocessing is NOT allowed to set empty string."));
                }
                preprocessing.Name = model.Name;
            }
            preprocessing.Memo   = EditColumn(model.Memo, preprocessing.Memo);
            preprocessing.Cpu    = EditColumn(model.Cpu, preprocessing.Cpu);
            preprocessing.Memory = EditColumn(model.Memory, preprocessing.Memory);
            preprocessing.Gpu    = EditColumn(model.Gpu, preprocessing.Gpu);

            // 各リソースの超過チェック
            // 変更がない場合、変更内容モデルの項目にはnullが設定されているので、DB設定値を用いてここでチェックをする。
            Tenant tenant       = tenantRepository.Get(CurrentUserInfo.SelectedTenant.Id);
            string errorMessage = clusterManagementLogic.CheckQuota(tenant, preprocessing.Cpu, preprocessing.Memory, preprocessing.Gpu);

            if (errorMessage != null)
            {
                return(JsonBadRequest(errorMessage));
            }

            unitOfWork.Commit();

            return(JsonOK(new IndexOutputModel(preprocessing)));
        }
示例#27
0
        public async Task UpdateAsync(EditInputModel inputModel)
        {
            var course = this.courseRepository.All().FirstOrDefault(x => x.Id == inputModel.Id);

            course.Name        = inputModel.Name;
            course.StartOn     = DateTime.ParseExact(inputModel.StartOn, "dd-MM-yyyy", CultureInfo.InvariantCulture);
            course.EndOn       = DateTime.ParseExact(inputModel.EndOn, "dd-MM-yyyy", CultureInfo.InvariantCulture);
            course.Duration    = inputModel.Duration;
            course.Description = inputModel.Description;

            if (!string.IsNullOrWhiteSpace(inputModel.Grade))
            {
                course.Grade = double.Parse(inputModel.Grade);
            }

            course.UserId = inputModel.UserUserId;

            this.courseRepository.Update(course);
            await this.courseRepository.SaveChangesAsync();
        }
示例#28
0
        public async Task <IActionResult> Edit(string courseId, EditInputModel inputModel)
        {
            var course = this.coursesService.GetById(courseId);

            inputModel.Id         = course.Id;
            inputModel.UserUserId = course.UserId;
            if (!this.ModelState.IsValid)
            {
                return(this.View(inputModel));
            }

            await this.coursesService.UpdateAsync(inputModel);

            if (!string.IsNullOrWhiteSpace(inputModel.Grade))
            {
                return(this.Redirect("/Course/OldCourseDetails?id=" + inputModel.Id));
            }

            return(this.Redirect("/Course/Details?id=" + inputModel.Id));
        }
示例#29
0
        public async Task <IActionResult> Edit(string homeworkId, EditInputModel inputModel)
        {
            var homework = this.homeworksService.GetById(homeworkId);

            inputModel.Id       = homework.Id;
            inputModel.CourseId = homework.CourseId;

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

            await this.homeworksService.UpdateAsync(inputModel);

            if (inputModel.IsReady == false)
            {
                return(this.Redirect("/Homework/Details?id=" + inputModel.Id));
            }

            return(this.Redirect("/Homework/Old"));
        }
示例#30
0
        public async Task <IActionResult> Edit([FromRoute] long?id, [FromBody] EditInputModel model)
        {
            //データの入力チェック
            if (!ModelState.IsValid || id == null)
            {
                return(JsonBadRequest("Invalid inputs."));
            }
            //データの存在チェック
            var dataset = await dataSetRepository.GetByIdAsync(id.Value);

            if (dataset == null)
            {
                return(JsonNotFound($"DataSet Id {id.Value} is not found."));
            }

            EditDataSet(dataset, model);

            unitOfWork.Commit();

            return(JsonOK(new IndexOutputModel(dataset)));
        }