/// <exception cref="ProjectWithSameTitleExistsException">Condition.</exception>
        public void Handle(RegisterProject command)
        {
            var     title = new Title(command.Title);
            Project project;

            if (command.Deadline.HasValue)
            {
                var deadline = new ProjectDeadline(command.Deadline.Value);
                project = new Project(title, deadline);
            }
            else
            {
                project = new Project(title);
            }

            var  doesProjectWithTitleExistQuery = new DoesProjectWithTitleExistQuery(title);
            bool projectWithSameTitleExists     = _projectQueryService.Handle(doesProjectWithTitleExistQuery);

            if (projectWithSameTitleExists)
            {
                throw new ProjectWithSameTitleExistsException();
            }

            _eventStoreRepository.Save(project);
        }
예제 #2
0
        public JsonResult AddDeadlinebyAjax(int id, DateTime revisedate, string reason)
        {
            ProjectDeadline deadline = new ProjectDeadline();

            deadline.ProjectId   = id;
            deadline.Reason      = reason;
            deadline.RevisedDate = revisedate;
            deadline.CreatedBy   = Convert.ToInt32(Session["userId"] as string);
            deadline.UpdatedOn   = DateTime.Now;

            _objProjectDeadline.Insert(deadline);

            return(this.Json(true, JsonRequestBehavior.AllowGet));
        }