Esempio n. 1
0
        public CreateSprintResponse Create(CreateSprintRequest request)
        {
            var validationResult = ValidateRequest(request);
            var response         = responseFactory.GetResponse(validationResult);

            if (!validationResult.IsSuccess)
            {
                return(response);
            }

            Sprint sprint;

            using (var trans = transactionFactory.GetTransaction())
            {
                var project = projectGetter.GetCurrentProject();
                if (project == null)
                {
                    response.ProjectDoesNotExist = true;
                    return(response);
                }

                sprint = CreateSprint(request, project);
                sprintRepo.Add(sprint);
                trans.Commit();

                response.Sprint = sprint;
            }

            return(response);
        }
Esempio n. 2
0
        Project GetProject(ListSprintsRequest request)
        {
            if (request.Project != null)
            {
                return(data.Theorise(request.Project));
            }

            return(currentProjectProvider.GetCurrentProject());
        }
        public Ticket CreateTicket(CreateTicketRequest request)
        {
            var ticket = wrappedInstance.CreateTicket(request);

            var project = projectGetter.GetCurrentProject();

            logger.DebugFormat("Next available ticket number: {0}", project?.NextAvailableTicketNumber);
            var ticketNumber = (project != null)? project.NextAvailableTicketNumber++ : default(long);

            ticket.Project      = project;
            ticket.TicketNumber = ticketNumber;

            return(ticket);
        }
Esempio n. 4
0
        public Project GetCurrentProject()
        {
            if (session.TryGet(SessionKey.CurrentProjectIdentity, out IIdentity <Project> id))
            {
                return(data.Get(id));
            }

            var project = wrapped.GetCurrentProject();

            if (project != null)
            {
                session.Set(SessionKey.CurrentProjectIdentity, project.GetIdentity());
            }

            return(project);
        }
        public ISpecificationExpression <Ticket> GetSpecification()
        {
            var wrappedResult = wrapped.GetSpecification();

            projectCriteriaDetector.Visit(search);
            var hasProjectCriteria = projectCriteriaDetector.DoesSearchContainAnyProjectCriteria();

            if (hasProjectCriteria)
            {
                return(wrappedResult);
            }

            var project = projectProvider.GetCurrentProject();
            var spec    = projectSpecFactory(project.GetIdentity());

            return(wrappedResult.And(spec));
        }
Esempio n. 6
0
        AvailableProjectsModel GetAvailableProjects()
        {
            var projects       = projectsProvider.GetsProjects();
            var mappedProjects = mapper.Map <IList <Project>, IList <AvailableProjectModel> >(projects);
            var currentProject = currentProjectProvider.GetCurrentProject();

            var current = mappedProjects.FirstOrDefault(x => Equals(x.Identity, currentProject.GetIdentity()));

            if (current != null)
            {
                current.IsCurrent = true;
            }

            return(new AvailableProjectsModel {
                Projects = mappedProjects,
                CanCreateSprints = capabilityProvider.DoesUserHaveCapability(ProjectCapability.CreateSprint,
                                                                             currentProject.GetIdentity()),
            });
        }
Esempio n. 7
0
 string GetProjectCode() => currentProjectProvider.GetCurrentProject()?.Code;
 public IIdentity <Project> GetTargetEntityIdentity(CreateTicketRequest value)
 => projectProvider.GetCurrentProject()?.GetIdentity();
 public IIdentity <Project> GetTargetEntityIdentity(ListSprintsRequest value)
 => value.Project ?? projectProvider.GetCurrentProject().GetIdentity();