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 })); }
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); }
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))); }
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))); }
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))); }
/// <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)); }
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(); }
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(); }
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)); }
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(); }
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))); }
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())); }
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(); }
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)); }
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)); }
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); }
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(); }
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)); }
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)); }
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))); }
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(); }
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)); }
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")); }
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))); }