public async Task <ActionResult> Edit(int id) { NotificationMailBox model; try { model = await _mailboxService.GetItemAsync(id); if (model == null) { return(RedirectToAction("Index")); } var mailBoxModel = new NotificationMailboxModel() { Id = model.Id, MailBoxName = model.MailBoxName, MailFrom = model.MailFrom, Password = model.Password, PasswordConfirmation = string.Empty, Port = model.Port, Server = model.Server, UserName = model.UserName, UseSsl = model.UseSsl }; ViewBag.PanelTitle = "Редактирование почтового ящика"; return(PartialView("_AddOrEdit", mailBoxModel)); } catch (Exception e) { throw new WebUiException($"Ошибка в контроллере {nameof(MailboxController)} в методе {nameof(Edit)}", e); } }
public async Task <ActionResult> Add(NotificationMailboxModel model) { if (ModelState.IsValid) { var box = new NotificationMailBox { MailBoxName = model.MailBoxName, MailFrom = model.MailFrom, UserName = model.UserName, Password = model.Password, Server = model.Server, Port = model.Port, UseSsl = model.UseSsl }; try { await _mailboxService.CreateAsync(box); return(RedirectToAction("Index")); } catch (ServiceException e) { throw new WebUiException($"Ошибка в контроллере {nameof(MailboxController)} в методе {nameof(Add)}", e); } } return(PartialView("_AddOrEdit", model)); }
public async Task <ActionResult> Edit(NotificationMailboxModel model) { if (model == null) { return(RedirectToAction("Index")); } if (ModelState.IsValid) { try { var itemToUpdate = await _mailboxService.GetItemAsync(model.Id); itemToUpdate.MailBoxName = model.MailBoxName; itemToUpdate.MailFrom = model.MailFrom; itemToUpdate.Password = model.Password; itemToUpdate.UserName = model.UserName; itemToUpdate.Server = model.Server; itemToUpdate.Port = model.Port; itemToUpdate.UseSsl = model.UseSsl; await _mailboxService.UpdateAsync(itemToUpdate); } catch (Exception e) { throw new WebUiException( $"Ошибка в контроллере {nameof(MailboxController)} в методе {nameof(Edit)}", e); } return(RedirectToAction("Index")); } return(PartialView("_AddOrEdit", model)); }
public ActionResult Add() { var model = new NotificationMailboxModel(); ViewBag.PanelTitle = "Добавление почтового ящика"; return(PartialView("_AddOrEdit", model)); }
public async Task Edit_InputmailboxAddViewModel_ReturnsRedirectToList() { var model = new NotificationMailboxModel() { Id = 2, MailBoxName = "M2" }; _mailboxService.Setup(x => x.GetItemAsync(It.IsAny <int>())).ReturnsAsync(new NotificationMailBox() { Id = 1, MailBoxName = "M1" }); var result = await _controller.Edit(model); var redirectResult = ((RedirectToRouteResult)result); Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult)); Assert.AreEqual(redirectResult.RouteValues["action"], "Index"); _mailboxService.Verify(x => x.UpdateAsync(It.IsAny <NotificationMailBox>()), Times.Exactly(1)); }