Ejemplo n.º 1
0
        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);
 }