public async Task <IActionResult> Edit([FromServices] Utils utils, int id, EditApplicationPostModel model) { var app = await _db.Applications.Include(a => a.ApplicationVersions).Where(a => a.Id == id).FirstOrDefaultAsync(); if (app == null) { return(RedirectToAction("Index")); } if (ModelState.IsValid) { var code = (model.Code == app.Code) ? model.Code : ((await utils.ValidateApplicationCode(model.Code)) ? model.Code : ""); var name = (model.Name == app.Name) ? model.Name : ((await utils.ValidateApplicationName(model.Name)) ? model.Name : ""); if (string.IsNullOrEmpty(code)) { return(View(new EditApplicationGetModel { Application = app, Error = 2 })); } if (string.IsNullOrEmpty(name)) { return(View(new EditApplicationGetModel { Application = app, Error = 3 })); } app.Code = code; app.Name = name; await _db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(new EditApplicationGetModel { Application = app, Error = 1 })); }
public ActionResult Edit(EditApplicationPostModel viewModel) { if (!ModelState.IsValid) { return(RedirectWithViewModel(Mapper.Map <EditApplicationPostModel, EditApplicationViewModel>(viewModel), "edit")); } var response = _editApplicationCommand.Invoke(new EditApplicationRequest { Name = viewModel.Name, IsActive = viewModel.IsActive, CurrentUser = Core.AppContext.CurrentUser, ApplicationId = viewModel.Id, MatchRuleFactoryId = viewModel.MatchRuleFactoryId, HipChatRoomId = viewModel.HipChatRoomId, UserId = Errordite.Core.Domain.Organisation.User.GetId(viewModel.UserId), NotificationGroups = viewModel.NotificationGroups.Where(n => n.Selected).Select(g => g.Id).ToList(), Version = viewModel.Version, CampfireRoomId = viewModel.CampfireRoomId, NotificationFrequency = viewModel.NotificationFrequency }); if (response.Status != EditApplicationStatus.Ok) { return(RedirectWithViewModel(Mapper.Map <EditApplicationPostModel, EditApplicationViewModel>(viewModel), "edit", response.Status.MapToResource(Resources.Application.ResourceManager), routeValues: new { applicationId = viewModel.Id })); } ConfirmationNotification(Resources.Application.EditApplicationStatus_Ok.FormatWith(viewModel.Name)); return(Redirect(Url.Applications())); }