public IHttpActionResult Create([FromBody] ProjectDTO project) { ThrowIfUserHasNoRole(createRole); if (project == null) { throw new KairosException("Missing model parameter"); } if (project.Project_PK != 0) { throw new KairosException("Post method is not allowed because the requested primary key is must be '0' (zero) ."); } using (var projectCreateHandler = new ProjectCreateHandler(Db, ActiveUser, new ProjectValidator(), new ProjectFactory(Db, ActiveUser), new ProjectQuery(Db), AccessControl)) { using (var transaction = new TransactionScope()) { var saveResult = projectCreateHandler.Save(projectDTO: project, dateStamp: DateTime.Now); transaction.Complete(); if (saveResult.Success) { return(Ok(new SuccessResponse(saveResult.Model, saveResult.Message))); } return(Ok(new ErrorResponse(ServiceStatusCode.ValidationError, saveResult.ValidationResult, saveResult.Message))); } } }
public ProjectReservationCreateHandlerTest() { _fakeRepository = new Mock <IProjectRepository>(); _fakeMapper = new Mock <IMapper>(); _handler = new ProjectCreateHandler(_fakeRepository.Object, _fakeMapper.Object); }