public async Task<ActionResult> Create(DepartmentCreate.CommandModel commandModel)
        {
            var request = new DepartmentCreate.Request(SystemPrincipal.Name, commandModel);
            var response = await DomainServices.DispatchAsync<DepartmentCreate.Response>(request);

            if (!response.HasValidationIssues)
                return RedirectToAction("Index");

            var instructors = await _QueryRepository.GetEntitiesAsync<Instructor>(new AsNoTrackingQueryStrategy()); ;
            ViewBag.InstructorID = new SelectList(instructors, "ID", "FullName", commandModel.InstructorID);

            ModelState.AddRange(response.ValidationDetails);
            return View(commandModel);
        }
        // Create Department
        public static DepartmentCreate.Response Handle(IRepository repository, DepartmentCreate.Request request)
        {
            // Validation now performed in the dispacther decorators (See AutoValidate<T> in the DomainBootstrapper class)

            var container         = DepartmentFactory.Create(request.CommandModel);
            var validationDetails = repository.Save(container);

            var deptId = default(int?);

            if (!validationDetails.HasValidationIssues)
            {
                deptId = container.FindEntity <Department>().DepartmentID;
            }

            return(new DepartmentCreate.Response(validationDetails, deptId));
        }
Ejemplo n.º 3
0
        public async Task <ActionResult> Create(DepartmentCreate.CommandModel commandModel)
        {
            var request  = new DepartmentCreate.Request(SystemPrincipal.Name, commandModel);
            var response = await DomainServices.DispatchAsync <DepartmentCreate.Response>(request);

            if (!response.HasValidationIssues)
            {
                return(RedirectToAction("Index"));
            }

            var instructors = await _QueryRepository.GetEntitiesAsync <Instructor>(new AsNoTrackingQueryStrategy());;

            ViewBag.InstructorID = new SelectList(instructors, "ID", "FullName", commandModel.InstructorID);

            ModelState.AddRange(response.ValidationDetails);
            return(View(commandModel));
        }