public ActionResult BookUpdate(BookHolidayViewModel viewModel) { if (viewModel.Updating) { var updateHolidayRequest = new UpdateHolidayRequest { Id = viewModel.HolidayId.Value, Start = viewModel.Start, End = viewModel.End }; var validationResult = _holidayService.ValidateUpdate(updateHolidayRequest); if (!validationResult.IsValid) { foreach (var error in validationResult.Errors) { ModelState.AddModelError(error.Field ?? "", error.Text); } return(View("BookUpdate", viewModel)); } _holidayService.Update(updateHolidayRequest); } else { Guid id = Guid.NewGuid(); var bookHolidayRequest = new BookHolidayRequest { Id = id, EmployeeId = viewModel.EmployeeId.Value, Start = viewModel.Start, End = viewModel.End }; var validationResult = _holidayService.ValidateBook(bookHolidayRequest); if (!validationResult.IsValid) { foreach (var error in validationResult.Errors) { ModelState.AddModelError(error.Field ?? "", error.Text); } return(View("BookUpdate", viewModel)); } _holidayService.Book(bookHolidayRequest); } return(RedirectToAction("Index", "Employee", new { employeeId = viewModel.EmployeeId })); }
public void Update(UpdateHolidayRequest request) { var session = _sessionFactory.OpenSession(); CurrentSessionContext.Bind(session); try { using (var transactionScope = new TransactionScope()) { var holiday = _holidayRepository.GetById(request.Id); DomainEvents.Register <HolidayUpdatedEvent>(HolidayUpdated); holiday.Update(request.Start, request.End); session.Flush(); transactionScope.Complete(); } } finally { CurrentSessionContext.Unbind(_sessionFactory); DomainEvents.ClearCallbacks(); session.Dispose(); } }
public ValidationMessageCollection ValidateUpdate(UpdateHolidayRequest request) { var session = _sessionFactory.OpenSession(); CurrentSessionContext.Bind(session); try { Holiday holiday; using (var transaction = session.BeginTransaction()) { holiday = _holidayRepository.GetById(request.Id); transaction.Commit(); } return(holiday.ValidateUpdate(request.Start, request.End)); } finally { CurrentSessionContext.Unbind(_sessionFactory); session.Dispose(); } }
/// <summary> /// Update Holiday /// </summary> /// <param name="request"></param> public void UpdateHoliday(UpdateHolidayRequest request) { Channel.UpdateHoliday(request); }
/// <summary> /// Update Holiday /// </summary> /// <param name="request"></param> public void UpdateHoliday(UpdateHolidayRequest request) { _holiday.UpdateHoliday(request.User, request.HolidayId, request.Status, request.Holiday); }