Beispiel #1
0
        public void CreateSprint(SprintRequest request, SprintResponse response)
        {
            var    oldSprint    = request.Sprint.SprintId;
            int    sprintNumber = 1;
            string sprintName   = string.Empty;
            var    teamName     = _uow.Repository <TeamEntity>().GetOverview()
                                  .Where(t => t.TeamId == request.Sprint.TeamId)
                                  .Select(n => n.TeamName).FirstOrDefault();

            if (!string.IsNullOrEmpty(teamName))
            {
                sprintName = $"{teamName} - Sprint: {sprintNumber}";
            }

            var teamSprints = _uow.Repository <SprintEntity>().GetOverview()
                              .Where(b => b.TeamId == request.Sprint.TeamId)
                              .Select(s => s.SprintId).ToList();

            if (teamSprints != null && teamSprints.Count > 0)
            {
                sprintNumber = teamSprints.Count;
                sprintName   = $"{teamName} - Sprint: {++sprintNumber}";
            }

            var newSprint = new SprintEntity
            {
                StartDate  = DateTime.Now,
                EndDate    = DateTime.Now.AddDays(14),
                SprintName = sprintName,
                TeamId     = request.Sprint.TeamId
            };

            _uow.Repository <SprintEntity>().Add(newSprint);
            _uow.Save();

            if (oldSprint != 0)
            {
                var notCompletedTasks = _uow.Repository <XRefSprintTaskEntity>().GetOverview(s => s.SprintId == oldSprint && s.ColumnId != (int)Column.DONE).ToList();
                notCompletedTasks.ForEach(t =>
                {
                    _uow.Repository <XRefSprintTaskEntity>().Add(new XRefSprintTaskEntity
                    {
                        ColumnId = t.ColumnId,
                        OrderId  = t.OrderId,
                        SprintId = newSprint.SprintId,
                        TaskId   = t.TaskId
                    });
                });
                _uow.Save();
            }
            response.SprintId   = newSprint.SprintId;
            response.StartDate  = newSprint.StartDate;
            response.EndDate    = newSprint.EndDate;
            response.TeamId     = newSprint.TeamId;
            response.SprintName = newSprint.SprintName;
        }
        public static Transition ToTransition(TransitionData transitionData, SprintEntity sprintEntity,
                                              Dictionary <string, State> statesDictionary)
        {
            var preconditionMethodInfo = typeof(Preconditions).GetMethod(transitionData.Precondition);
            var precondition           =
                (Func <SprintEntity, bool>)Delegate.CreateDelegate(typeof(Func <SprintEntity, bool>), preconditionMethodInfo);
            var nextState = statesDictionary[transitionData.NextState];

            return(new Transition(sprintEntity, precondition, nextState));
        }
    public static void AddNewSprint(SprintEntity sprint)
    {
        var con = new SQLiteConnection(ConnectionString);

        con.Open();
        var cmd = new SQLiteCommand(con);

        cmd.CommandText = "INSERT INTO sprint(SprintName, Task, BacklogId) VALUES('" + sprint.Name + "', '" + sprint.Task + sprint.BacklogId + "');";
        cmd.ExecuteNonQuery();
        con.Close();
    }
        public static bool SendTaskToImplementation(SprintEntity entity)
        {
            var task = entity as Task;

            if (entity.GetType() != typeof(Task) && task.Approved.HasValue && task.Approved == false)
            {
                return(false);
            }
            return(task.State.Name == StatesNames.EstimationStatus &&
                   task.RemainingWork > 0);
        }
        public static bool CloseTask(SprintEntity entity)
        {
            if (entity.GetType() != typeof(Task))
            {
                return(false);
            }
            var task = entity as Task;

            return(task.State.Name == StatesNames.EstimationStatus &&
                   task.Approved.HasValue &&
                   !task.Approved.Value);
        }
 public static bool StartImplementation(SprintEntity entity)
 {
     if (entity.GetType() == typeof(Task))
     {
         return(true);
     }
     if (entity.GetType() == typeof(Defect))
     {
         return((entity as Defect).Priority == PriorityEnum.Major);
     }
     return(false);
 }
Beispiel #7
0
        public void CreateNetwork(SprintEntity sprintEntity, string transitionsDataPath)
        {
            var statesDictionary = GetStatesDictionary();

            using (var streamReader = new StreamReader(transitionsDataPath))
            {
                var transitionsData = JsonConvert.DeserializeObject <IEnumerable <TransitionData> >(streamReader.ReadToEnd());
                foreach (var transitionData in transitionsData)
                {
                    var transition = TransitionData.ToTransition(transitionData, sprintEntity, statesDictionary);
                    statesDictionary[transitionData.PrevState].AddTransition(transition);
                }
            }
            States = new List <State>();
            States.AddRange(statesDictionary.Values);
        }
Beispiel #8
0
        public string AssignToTeam(string id, string AssginedToTeam)
        {
            SprintRequest sprintRequest = new SprintRequest();
            SprintEntity  sprint        = new SprintEntity();

            sprint.Id             = id;
            sprint.AssignedToTeam = AssginedToTeam;
            sprintRequest.sprint  = sprint;
            JsonPackage package = new JsonPackage();

            package.Type      = "AssignToTeamRequest";
            package.ForwardTo = "SprintController";
            package.Content   = sprintRequest;
            String jsonpackage = JsonConvert.SerializeObject(package);

            return(jsonpackage);
        }
Beispiel #9
0
        public String Add(String name, String task)

        {
            SprintRequest sprintRequest = new SprintRequest();
            SprintEntity  sprint        = new SprintEntity();

            sprint.SetValues(name, task);
            sprintRequest.sprint = sprint;
            JsonPackage package = new JsonPackage();

            package.Type      = "AddRequest";
            package.ForwardTo = "SprintController";
            package.Content   = sprintRequest;
            String jsonpackage = JsonConvert.SerializeObject(package);

            return(jsonpackage);
        }
Beispiel #10
0
 public User(SprintEntity sprintEntity) : base(sprintEntity)
 {
 }
Beispiel #11
0
 public override void Handle(SprintEntity sprintEntity)
 {
     sprintEntity.State = new Implemented();
 }
Beispiel #12
0
 public override IEnumerable <string> Run(PetriNetwork petriNetwork, SprintEntity token)
 {
     throw new NotImplementedException();
 }
 public static bool CloseTaskAfterImplementation(SprintEntity entity)
 {
     return(entity.Tested);
 }
 public static bool SendBackToImplementation(SprintEntity entity)
 {
     return(!entity.Tested);
 }
 public static bool StartTesting(SprintEntity entity)
 {
     return(!entity.Tested &&
            entity.Implemented);
 }
Beispiel #16
0
 public void Handle(SprintEntity sprintEntity)
 {
     sprintEntity.State = new Tested();
 }
 public override void Handle(SprintEntity sprintEntity)
 {
     sprintEntity.State = new Done();
 }
 public abstract void Handle(SprintEntity sprintEntity);
 public static bool Estimate(SprintEntity entity)
 {
     return(entity.GetType() == typeof(Task) &&
            entity.State.Name == StatesNames.Start);
 }
 public StateObserver(SprintEntity sprintEntity)
 {
     this.SprintEntity = sprintEntity;
 }
 public static bool Sort(SprintEntity entity)
 {
     return(true);
 }
Beispiel #22
0
 public void Handle(SprintEntity sprintEntity)
 {
     sprintEntity.State = new New();
 }
 public abstract IEnumerable <string> Run(PetriNetwork petriNetwork, SprintEntity token);
 public void Handle(SprintEntity sprintEntity)
 {
     sprintEntity.State = new InProgress();
 }
 public static bool SendBugToImplementation(SprintEntity entity)
 {
     return(entity.GetType() == typeof(Defect) &&
            entity.State.Name == StatesNames.Start);
 }
Beispiel #26
0
 public void InsertSprintEntity(SprintEntity entity)
 {
     _petriNetwork.InsertSprintEntity(entity);
 }