public async Task <IActionResult> GetCurrentSprint(string teamid)
        {
            var request = new SprintRequest {
                TeamId = Int32.Parse(teamid)
            };
            var response = await _service.GetCurrentSprint(request);

            return(response.Success ? Ok(response) : StatusCode(404, response.Errors));
        }
Example #2
0
        public IActionResult GetSprintsList(string teamid)
        {
            var request = new SprintRequest {
                TeamId = Int32.Parse(teamid)
            };
            var response = _service.GetSprintsList(request);

            return(response.Success ? Ok(response) : StatusCode(404, response.Errors));
        }
        public IActionResult Post([FromBody] SprintVM sprint)
        {
            var request = new SprintRequest {
                Sprint = sprint, UserId = UserId
            };
            var response = _service.CreateSprint(request);

            return(response.Success ? Ok(response) : StatusCode(404, response.Errors));
        }
        public IActionResult Post([FromBody] SortedSprintTasksVM sortedSprintTasks)
        {
            var request = new SprintRequest {
                SortedSprintTasks = sortedSprintTasks
            };
            var response = _service.SortSprintTasks(request);

            return(response.Success ? Ok(response) : StatusCode(404, response.Errors));
        }
Example #5
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 SprintRequest AsSprintRequest()
        {
            var request = new SprintRequest
            {
                region = this.region,
                steps  = this.steps.ToArray()
            };

            return(request);
        }
Example #7
0
        public SprintResponse GetSprintsList(SprintRequest request)
        {
            var response = new SprintResponse();

            RunCode(MethodBase.GetCurrentMethod().Name, request, response, (uow) =>
            {
                _manager.GetSprintsList(request, response);
            });
            return(response);
        }
Example #8
0
        public async Task <SprintResponse> GetCurrentSprint(SprintRequest request)
        {
            var response = new SprintResponse();

            await RunCodeAsync(MethodBase.GetCurrentMethod().Name, request, response, async (uow) =>
            {
                await _manager.GetCurrentSprint(request, response);
            });

            return(response);
        }
Example #9
0
        public void AssignToTeam(string id, string AssignedToTeam)
        {
            SprintRequest request = new SprintRequest();

            String textToSend = SprintJsonHandler.AssignToTeam(id, AssignedToTeam);

            TcpClient     client   = new TcpClient(SERVER_IP, PORT_NO);
            NetworkStream nwStream = client.GetStream();

            byte[] bytesToSend = ASCIIEncoding.ASCII.GetBytes(textToSend);
            nwStream.Write(bytesToSend, 0, bytesToSend.Length);
            client.Close();
        }
Example #10
0
        public CurlResponse Execute(SprintRequest sprintRequest)
        {
            var wc = GetAuthenticatedWebClient();

            var curlResponse = wc.PostObjectAsJson <CurlResponse>(executeUrl, sprintRequest);

            if (SprintStatusChanged != null)
            {
                PollStatus(curlResponse);
            }

            return(curlResponse);
        }
Example #11
0
        //------------------------------------------SPRINTS-------------------------------------------------

        public void AddSprint(String task, String name)
        {
            String        contr   = "a";
            string        namex   = "b";
            string        idx     = "1";
            SprintRequest request = new SprintRequest();

            String textToSend = SprintJsonHandler.Add(name, task);

            TcpClient     client   = new TcpClient(SERVER_IP, PORT_NO);
            NetworkStream nwStream = client.GetStream();

            byte[] bytesToSend = ASCIIEncoding.ASCII.GetBytes(textToSend);
            nwStream.Write(bytesToSend, 0, bytesToSend.Length);
            client.Close();
        }
Example #12
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);
        }
Example #13
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);
        }
Example #14
0
        public void GetSprintsList(SprintRequest request, SprintResponse response)
        {
            var sprints = _uow.Repository <SprintEntity>().GetOverview()
                          .Where(b => b.TeamId == request.TeamId)
                          .Select(s => new ShortSprint {
                SprintName = s.SprintName, SprintId = s.SprintId
            }).ToList();

            if (sprints != null && sprints.Count > 0)
            {
                response.SprintsList = sprints;
            }
            else
            {
                response.SprintsList = new List <ShortSprint>();
                response.Errors.Add("Get Sprints", "This team cannot have any sprints yet.");
            }
        }
Example #15
0
        public IActionResult UpdateSprint([FromBody] SprintRequest request)
        {
            if (request == null)
            {
                return(BadRequest());
            }

            var sprint = _mapper.Map <Sprint>(request);

            var result = _sprintService.Update(sprint);

            if (result == null)
            {
                return(NotFound());
            }

            return(Ok(result));
        }
Example #16
0
        public void SortSprintTasks(SprintRequest request, SprintResponse response)
        {
            var sprintColumn   = _uow.Repository <SprintColumnEntity>().GetOverview();
            var xRefSprintTask = _uow.Repository <XRefSprintTaskEntity>().GetOverview();
            int orderId        = 0;

            foreach (var col in request.SortedSprintTasks.SprintBoardTasks)
            {
                foreach (var t in col.Items)
                {
                    var xst = new XRefSprintTaskEntity
                    {
                        Id       = t.Id,
                        SprintId = request.SortedSprintTasks.SprintId,
                        TaskId   = (int)t.TaskId,
                        ColumnId = col.ColumnId,
                        OrderId  = orderId
                    };
                    _uow.Repository <XRefSprintTaskEntity>().Update(xst);
                    orderId++;
                }
            }
            _uow.Save();
        }
Example #17
0
        public async Task GetCurrentSprint(SprintRequest request, SprintResponse response)
        {
            await Task.Run(() =>
            {
                var sprint         = _uow.Repository <SprintEntity>().GetOverview().Where(b => b.TeamId == request.TeamId).OrderByDescending(s => s.SprintId).FirstOrDefault();
                var sprintColumn   = _uow.Repository <SprintColumnEntity>().GetOverview();
                var xRefSprintTask = _uow.Repository <XRefSprintTaskEntity>().GetOverview();
                var task           = _uow.Repository <TaskEntity>().GetOverview();
                var user           = _uow.Repository <UserEntity>().GetOverview();
                var effort         = _uow.Repository <EffortEntity>().GetOverview();
                if (sprint != null)
                {
                    response.SprintName = sprint.SprintName;
                    response.EndDate    = sprint.EndDate;
                    response.StartDate  = sprint.StartDate;

                    var tasks =
                        (from xst in xRefSprintTask
                         join sc in sprintColumn on xst.ColumnId equals sc.ColumnId
                         join t in task on xst.TaskId equals t.Id
                         join u in user on t.UserId equals u.Id into uX
                         from u in uX.DefaultIfEmpty()
                         join e in effort on t.EffortId equals e.EffortId
                         where xst.SprintId == sprint.SprintId
                         select new SprintTask
                    {
                        Id = xst.Id,
                        ColumnId = sc.ColumnId,
                        ColumnName = sc.ColumnName,
                        OrderId = xst == null ? 0 : xst.OrderId,
                        SprintId = xst == null ? 0 : xst.SprintId,
                        TaskId = t == null ? 0 : t.Id,
                        TaskName = t?.TaskName,
                        UserName = u?.UserName,
                        Effort = e.EffortName,
                        CreatedDate = xst.CreatedDate
                    }).ToList();

                    foreach (var s in sprintColumn)
                    {
                        var items = tasks.Where(t => t.ColumnId == s.ColumnId).OrderBy(i => i.OrderId).ThenBy(d => d.CreatedDate).ToList();

                        var sprintBoardTask = new SprintBoardTask
                        {
                            ColumnName = s.ColumnName,
                            ColumnId   = s.ColumnId,
                            Items      = _mapper.Map <List <SprintTaskVM> >(items)
                        };

                        response.SprintBoardTasks.Add(sprintBoardTask);
                    }

                    response.TeamId   = request.TeamId;
                    response.SprintId = sprint.SprintId;
                }
                else
                {
                    response.Message = $"There is no active sprint yet for team: {request.TeamId}";
                }
            });
        }