public void CanEditPerson() { Mock<IRepository<Person>> mock_person = new Mock<IRepository<Person>>(); Mock<IRepository<Section>> mock_section = new Mock<IRepository<Section>>(); mock_section.Setup(m => m.Repository).Returns(CreateSectionTab().AsQueryable()); mock_person.Setup(m => m.Repository).Returns(CreatePersonTab().AsQueryable()); PersonController controller = new PersonController(mock_person.Object, mock_section.Object); PersonSectionAddEditModel personSection = new PersonSectionAddEditModel(); personSection.id = 5; personSection.name = "Zbigniew"; personSection.surname = "Strzelec"; personSection.area_code = 44; personSection.email = "*****@*****.**"; personSection.section_name = "4"; personSection.phone_number = 12345; personSection.phone_number2 = 666666; var redirectToRouteResult = controller.Edit(personSection) as RedirectToRouteResult; Person temp = mock_person.Object.Repository.FirstOrDefault(x => x.id == 5); Assert.AreEqual(temp.name, "ZBIGNIEW"); Assert.AreEqual(temp.surname, "STRZELEC"); Assert.AreEqual(temp.area_code, 44); Assert.AreEqual(temp.email, "*****@*****.**"); Assert.AreEqual(temp.id_section, 4); Assert.AreEqual(temp.phone_number, 12345); Assert.AreEqual(temp.phone_number2, 666666); mock_person.Verify(m => m.EditObject(temp), Times.Once()); Assert.IsNotNull(redirectToRouteResult); Assert.AreEqual("Index", redirectToRouteResult.RouteValues["Action"]); }
public ActionResult Add(PersonSectionAddEditModel model) { if (ModelState.IsValid) { try { Person person = CreatePersonFromPersonSectionAddEditModel(model); personRepository.AddObject(person); return RedirectToAction("Index"); } catch (Exception ex) { throw new Exception("Wystąpił błąd podczas dodawania pracownika. Proszę o kontakt z administratorem. Error message: " + ex.Message); } } else { model.SectionList = section_ctrl.SectionsShortNamesList(); if (Request.IsAjaxRequest()) { return PartialView("Person/_PersonAdd", model); } return View(model); } }
public void CanAddPerson() { Mock<IRepository<Person>> mock_person = new Mock<IRepository<Person>>(); Mock<IRepository<Section>> mock_section = new Mock<IRepository<Section>>(); mock_section.Setup(m => m.Repository).Returns(CreateSectionTab().AsQueryable()); mock_person.Setup(m => m.Repository).Returns(CreatePersonTab().AsQueryable()); PersonController controller = new PersonController(mock_person.Object, mock_section.Object); PersonSectionAddEditModel personSection = new PersonSectionAddEditModel(); personSection.id = 5; personSection.name = "Zbigniew"; personSection.surname = "Strzelec"; personSection.area_code = 44; personSection.email = "*****@*****.**"; personSection.section_name = "4"; personSection.phone_number = 12345; personSection.phone_number2 = 666666; var redirectToRouteResult = controller.Add(personSection) as RedirectToRouteResult; mock_person.Verify(m => m.AddObject(It.IsAny<Person>()), Times.Once()); Assert.IsNotNull(redirectToRouteResult); Assert.AreEqual("Index", redirectToRouteResult.RouteValues["Action"]); }
public ActionResult Add() { PersonSectionAddEditModel model = new PersonSectionAddEditModel(); model.SectionList = section_ctrl.SectionsShortNamesList(); if (Request.IsAjaxRequest()) { return PartialView("Person/_PersonAdd", model); } return View(model); }
private void UpdatePerson(ref Person person, PersonSectionAddEditModel personSection) { if (personSection.id != 0) person.id = personSection.id; else person.id = 0; if (personSection.area_code != null) person.area_code = personSection.area_code; else person.area_code = null; if (personSection.email != null) person.email = personSection.email; else person.email = null; if (personSection.name != null) person.name = personSection.name.ToUpper(); else person.name = null; if (personSection.phone_number != null) person.phone_number = personSection.phone_number; else person.phone_number = null; if (personSection.phone_number2 != null) person.phone_number2 = personSection.phone_number2; else person.phone_number2 = null; if (personSection.surname != null) person.surname = personSection.surname.ToUpper(); else person.surname = null; // person.id_section = GetAllShortNameSections().Where(x => x.Value == personSection.section_name).Select(x => x.Key).First(); int id = 0; int.TryParse(personSection.section_name, out id); person.id_section = id; }
private PersonSectionAddEditModel CreatePersonSetionAddEditFromPerson(Person person) { PersonSectionAddEditModel temp = new PersonSectionAddEditModel(); temp.area_code = person.area_code; temp.email = person.email; temp.id = person.id; temp.name = person.name; temp.phone_number = person.phone_number; temp.phone_number2 = person.phone_number2; temp.surname = person.surname; // delete because @Html.DropDownListFor(x => x.section_name, @Model.SectionList) doesn't work properly //temp.section_name = section_ctrl.GetAllShortNameSections().Where(x => x.Key == person.id_section).Select(x => x.Value).First(); temp.SectionList = section_ctrl.SectionsShortNamesList(); var p = temp.SectionList.FirstOrDefault(x => x.Value == person.id_section.ToString()); p.Selected = true; return temp; }
private Person CreatePersonFromPersonSectionAddEditModel(PersonSectionAddEditModel model) { Person person = new Person(); person.area_code = model.area_code; person.email = model.email; person.id = model.id; int id_section; int.TryParse(model.section_name, out id_section); person.id_section = id_section; person.name = model.name; person.phone_number = model.phone_number; person.phone_number2 = model.phone_number2; person.surname = model.surname; return person; }
public ActionResult Edit(PersonSectionAddEditModel model) { ModelState.Remove("Id"); if (ModelState.IsValid) { try { Person person = personRepository.Repository.FirstOrDefault(x => x.id == model.id); UpdatePerson(ref person, model); personRepository.EditObject(person); return RedirectToAction("Index"); } catch (Exception) { throw new Exception("Nie udało się edytować pracowanika. Proszę skontaktować się z administratorem"); } } else { model.SectionList = section_ctrl.SectionsShortNamesList(); if (Request.IsAjaxRequest()) { return PartialView("Person/_PersonEdit", model); } return View(model); } }