public ActionResult Book(Guid leadId) { var consultants = _employeeService.GetCurrentByDepartmentId(Constants.SalesDepartmentId); var viewModel = new BookVisitViewModel { Id = Guid.NewGuid(), AppointmentId = Guid.NewGuid(), LeadId = leadId, Consultants = new SelectList(consultants, "Id", "FullName") }; return View(viewModel); }
public void BookAsync(BookVisitViewModel viewModel) { AsyncManager.Parameters["viewModel"] = viewModel; var calendarValidationMessages = _appointmentService.ValidateBook(new ValidateBookRequest { EmployeeId = viewModel.ConsultantId.Value, DepartmentId = Constants.SalesDepartmentId, Start = viewModel.Start, End = viewModel.End }).ToList(); if (calendarValidationMessages.Any()) { calendarValidationMessages.ForEach(message => ModelState.AddModelError("", message.Text)); return; } var bookVisitCommand = new BookVisit { Id = viewModel.Id, AppointmentId = viewModel.AppointmentId, LeadId = viewModel.LeadId, Start = viewModel.Start, End = viewModel.End, ConsultantId = viewModel.ConsultantId }; var bookAppointmentCommand = new BookAppointment { Id = viewModel.AppointmentId, EmployeeId = viewModel.ConsultantId.Value, DepartmentId = Constants.SalesDepartmentId, Start = viewModel.Start, End = viewModel.End, }; _bus.Send(bookVisitCommand).Register<SalesReplies.ReturnCode>(returnCode => AsyncManager.Parameters["salesReturnCode"] = returnCode); _bus.Send(bookAppointmentCommand).Register<CalendarReplies.ReturnCode>(returnCode => AsyncManager.Parameters["calendarReturnCode"] = returnCode); }
public ActionResult BookCompleted( BookVisitViewModel viewModel, SalesReplies.ReturnCode salesReturnCode, CalendarReplies.ReturnCode calendarReturnCode) { if (!ModelState.IsValid) { return View(viewModel); } return RedirectToAction("Index", new { viewModel.LeadId }); }