Exemple #1
0
        public async Task <string> MigrateSprints()
        {
            string message = "";

            Project[] projects = null;
            projects = await jiraClient.GetProjects();

            foreach (var i in projects)
            {
                Sprints sprints = null;
                sprints = await jiraClient.GetProjectSprints(i.id);

                int migratedSprints = 0;
                foreach (var j in sprints.sprints)
                {
                    Response response = await vsoClient.createIteration(new Vso.Project(i.name, i.description, "Git", "adcc42ab-9882-485e-a3ed-7678f01f66bc"), new Vso.Iteration(j.name, j.start, j.end));

                    if (response.success)
                    {
                        migratedSprints++;
                        response.message = $"Sprint '{j.name}' migrated...";
                    }
                    else
                    {
                        response.message = $"Sprint '{j.name}' not migrated...";
                    }
                    response.message += "\n\r    Migrated Sprints:" + migratedSprints + "/" + sprints.sprints.Length;
                    message          += showResponse(response);
                }
            }
            return(message);
        }
Exemple #2
0
 private void DoInsertSprint()
 {
     Sprints.Insert(Sprints.IndexOf(this) + 1, new UISprint(EvAgg, Sprints, new NodeRoot(EvAgg, viewModel), viewModel, databaseSchemaViewModel)
     {
         Name = "NAME", Number = 99, Version = "9.9.9.9"
     });
 }
Exemple #3
0
        public IList <Sprints> GetSprintCounts()
        {
            List <Sprints> sprintCountsList = new List <Sprints>();
            int            sprintCounts     = Convert.ToInt16(
                WebConfigurationManager.AppSettings["SprintCounts"]);

            //Default value
            if (sprintCounts.ToString() == null || sprintCounts != 0)
            {
                sprintCounts = Constants.DefaultSprintCounts;
            }

            Sprints sprintDefault = new Sprints();

            sprintDefault.Value = -1;
            sprintDefault.Text  = "-Select-";
            sprintCountsList.Add(sprintDefault);

            for (int iSprintCount = 1; iSprintCount <= sprintCounts; iSprintCount++)
            {
                Sprints sprintSingleCount = new Sprints();
                sprintSingleCount.Value = iSprintCount;
                sprintSingleCount.Text  = "Sprint" + iSprintCount;
                sprintCountsList.Add(sprintSingleCount);
            }

            return(sprintCountsList);
        }
 public void Flush()
 {
     Business.Data.Sprint.SelectedBoard  = SelectedBoards.FirstOrDefault()?.Item1 ?? 0;
     Business.Data.Sprint.SelectedSprint = SelectedSprint?.Item1 ?? 0;
     Business.Data.Sprint.Boards         = Boards?.ToList();
     Business.Data.Sprint.Sprints        = Sprints?.ToList();
 }
Exemple #5
0
 private void DoInsertSprint()
 {
     Sprints.Insert(Sprints.IndexOf(this) + 1, new UISprint(EvAgg, Sprints, new NodeRoot(EvAgg))
     {
         Name = "NAME", Number = 99, Version = "9.9.9.9"
     });
 }
 public ActionResult DeleteConfirmed(int id)
 {
     Sprints sprints = db.Sprints.Find(id);
     db.Sprints.Remove(sprints);
     db.SaveChanges();
     return RedirectToAction("Index");
 }
        public void Pull()
        {
            _initializing = true;
            if (Business.Data?.Sprint?.Boards != null && Boards.Count == 0)
            {
                Boards = new ObservableCollection <Tuple <int, string> >(Business.Data.Sprint.Boards);
            }

            if (Business.Data?.Sprint?.Sprints != null)
            {
                Sprints = new ObservableCollection <Tuple <int, string> >(Business.Data.Sprint.Sprints);
            }

            try
            {
                var board = Boards.First(i => i.Item1 == Business.Data.Sprint.SelectedBoard);
                if (!SelectedBoards.Contains(board))
                {
                    SelectedBoards.Add(board);
                }

                SelectedSprint = Sprints.First(i => i.Item1 == Business.Data.Sprint.SelectedSprint);
            }
            catch (Exception ex)
            {
                Debug.WriteLine($"{ex.Message} {ex.StackTrace}");
            }

            _initializing = false;
        }
Exemple #8
0
        public Sprint SprintForDate(DateTime date)
        {
            Sprint sprint = null;

            // order them by number
            var sprintArray = Sprints.OrderBy(i => i.SprintNumber).ToArray();

            for (int i = 0; i < sprintArray.Length; i++)
            {
                var start = sprintArray[i].StartDate.Date;
                var end   = sprintArray[i].EndDate.Date;

                // if there is a sprint after that, uses the next sprint startDate as end
                if (i + 1 < sprintArray.Length)
                {
                    end = sprintArray[i + 1].StartDate.Date.AddDays(-1);
                }

                if (date >= start && date <= end)
                {
                    sprint = sprintArray[i];
                    break;
                }
            }

            return(sprint);
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,Description,Start,End,Status,IsInitialized")] Sprints sprints)
        {
            if (id != sprints.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(sprints);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SprintsExists(sprints.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(sprints));
        }
Exemple #10
0
        public IList <Sprints> GetMileStoneCounts()
        {
            List <Sprints> milestoneCountsList = new List <Sprints>();
            int            milestoneCounts     = Convert.ToInt16(
                WebConfigurationManager.AppSettings["MileStoneCounts"]);

            //Default value
            if (milestoneCounts.ToString() == null || milestoneCounts != 0)
            {
                milestoneCounts = Constants.DefaultMilestoneCounts;
            }

            Sprints sprintDefault = new Sprints();

            sprintDefault.Value = -1;
            sprintDefault.Text  = "-Milestone-";
            milestoneCountsList.Add(sprintDefault);

            for (int iSprintCount = 1; iSprintCount <= milestoneCounts; iSprintCount++)
            {
                Sprints milestoneSingleCount = new Sprints();
                milestoneSingleCount.Value = iSprintCount;
                milestoneSingleCount.Text  = "MileStone" + iSprintCount;
                milestoneCountsList.Add(milestoneSingleCount);
            }

            return(milestoneCountsList);
        }
        public バックログアイテム未コミット時(Tenants.テナントId tenantId, バックログアイテムId backlogItemId, Sprints.スプリントId sprintId)
        {
            this.TenantId = tenantId;
            this.EventVersion = 1;
            this.OccurredOn = DateTime.UtcNow;
            this.BacklogItemId = backlogItemId;

            this.SprintId = sprintId;
        }
        public BacklogItemCommitted(Tenants.TenantId tenantId, BacklogItemId backlogItemId, Sprints.SprintId sprintId)
        {
            this.TenantId = tenantId;
            this.EventVersion = 1;
            this.OccurredOn = DateTime.UtcNow;
            this.BacklogItemId = backlogItemId;

            this.SprintId = sprintId;
        }
 public ActionResult Edit([Bind(Include="Id,qtd_tarefas,dias")] Sprints sprints)
 {
     if (ModelState.IsValid)
     {
         db.Entry(sprints).State = EntityState.Modified;
         db.SaveChanges();
         return RedirectToAction("Index");
     }
     return View(sprints);
 }
Exemple #14
0
        public IQueryable <Sprint> GetMySprints(IPrincipal User)
        {
            ApplicationUser currentUser = GetUser(User.Identity);

            if (currentUser == null)
            {
                return(Enumerable.Empty <Sprint>().AsQueryable());
            }
            return(Sprints.Where(s => s.Project.User.Id == currentUser.Id));
        }
        public async Task <IActionResult> Create([Bind("Id,Description,Start,End,Status,IsInitialized")] Sprints sprints)
        {
            if (ModelState.IsValid)
            {
                _context.Add(sprints);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(sprints));
        }
        public ActionResult Create([Bind(Include="Id,qtd_tarefas,dias")] Sprints sprints)
        {
            if (ModelState.IsValid)
            {
                db.Sprints.Add(sprints);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            return View(sprints);
        }
        /// <summary>
        /// Anvender det valgte projekt i singletonnen til at hente alle sprint der ligger tilknyttet til projektet ud og sætte det ind i OC der er binded op til viewet.
        /// </summary>
        public async void LoadSprints()
        {
            List <Sprint> sp = await SprintsPer.LoadBacklog(LeSingleton.SelectedProject.Project_Id);

            if (sp != null)
            {
                foreach (Sprint sprint in sp)
                {
                    Sprints.Add(sprint);
                }
            }
        }
Exemple #18
0
        public async Task <Sprints> GetBoardSprints(string boardId)
        {
            Sprints sprints = null;

            var response = await client.GetAsync($"/rest/agile/1.0/board/{boardId}/sprint");

            if (response.IsSuccessStatusCode)
            {
                sprints = await response.Content.ReadAsAsync <Sprints>();
            }
            return(sprints);
        }
Exemple #19
0
        public async Task <Sprints> GetProjectSprints(string projectId)
        {
            Sprints sprints = null;

            var response = await client.GetAsync($"/rest/greenhopper/1.0/integration/teamcalendars/sprint/list?jql=project={projectId}");

            if (response.IsSuccessStatusCode)
            {
                sprints = await response.Content.ReadAsAsync <Sprints>();
            }
            return(sprints);
        }
Exemple #20
0
        //todo: mange this with attributres in in entity classes

        /*protected override void OnModelCreating(DbModelBuilder modelBuilder)
         * {
         *  modelBuilder.Entity<Sprint>()
         *      .HasKey(s => s.ID)
         *      .HasRequired(s => s.Project)
         *      .WithMany(p => p.Sprints)
         *      .HasForeignKey(s => s.ProjectId);
         *
         *  modelBuilder.Entity<Project>()
         *      .HasKey(p => p.ID)
         *      .HasOptional(p => p.Backlog);
         *
         *  modelBuilder.Entity<Feature>()
         *      .HasKey(s => s.ID)
         *      .HasRequired(s => s.Project)
         *      .WithMany(p => p.Features)
         *      .HasForeignKey(s => s.ProjectId);
         *
         *  modelBuilder.Entity<Project>()
         *      .HasKey(p => p.ID)
         *      .HasOptional(p => p.DefaultFeature);
         * }*/

        public async Task AddNewProject(Project project)
        {
            Projects.Insert(project);
            await SaveChangesAsync();

            var sprint = new Sprint("Backlog", project);

            Sprints.Insert(sprint);

            project.BacklogId           = sprint.ID;
            project.NextProjectTicketId = 1;
            await SaveChangesAsync();
        }
 // GET: /Sprints/Delete/5
 public ActionResult Delete(int? id)
 {
     if (id == null)
     {
         return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
     }
     Sprints sprints = db.Sprints.Find(id);
     if (sprints == null)
     {
         return HttpNotFound();
     }
     return View(sprints);
 }
 public ActionResult DeleteConfirmed(int id)
 {
     if (Session["UserName"] == null)
     {
         return(RedirectToAction("index", "home"));
     }
     else
     {
         Sprints sprints = db.Sprints.Find(id);
         db.Sprints.Remove(sprints);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
 }
Exemple #23
0
 private void DoCopySprint()
 {
     this.ConfirmationRequest.Raise(
         new Confirmation {
         Content = "Are you sure to COPY all data from one Sprint to another?", Title = "Confirmation - COPY!"
     },
         c => { if (c.Confirmed)
                {
                    if (Sprints.Count > Sprints.IndexOf(this) + 1)
                    {
                        Sprints[Sprints.IndexOf(this) + 1].Root = this.Root.Copy();
                    }
                }
         });
 }
Exemple #24
0
        private void LoadDatabase()
        {
            using (var stream = File.OpenText(DatabaseFile.FullName))
            {
                var reader   = new JsonTextReader(stream);
                var database = new JsonSerializer().Deserialize <DatabaseContainer>(reader);

                Meta = database.Meta;
                Projects.Load(this, database.Projects);
                Features.Load(this, database.Features);
                Sprints.Load(this, database.Sprints);
                Tickets.Load(this, database.Tickets);

                reader.Close();
            }
        }
        public ActionResult CadastrarSprint([Bind(Prefix = "item3")] Sprints sprint)
        {

            int idProjeto = Convert.ToInt32(Request.QueryString["idProjeto"]);

            var ProjetoBD = db.Projetos.Where(p => p.Id.Equals(idProjeto)).FirstOrDefault();

            if (ModelState.IsValid)
            {
                ProjetoBD.Sprints.Add(sprint);

                db.SaveChanges();

                return RedirectToAction("ProjetoDetalhes", "Projetos", new { id = idProjeto });
            }
            return View(ProjetoBD);
        }
Exemple #26
0
        public async Task DeleteSprint(Sprint sprint)
        {
            var linkedTickets = Tickets.Where(x => x.Feature.SprintId == sprint.ID);

            Tickets.RemoveRange(linkedTickets);

            var linkedFeatures = Features.Where(x => x.SprintId == sprint.ID);

            Features.RemoveRange(linkedFeatures);

            var linkedProjects = Projects.Where(x => x.BacklogId == sprint.ID);

            Projects.ToList().ForEach(x => x.BacklogId = null);

            Sprints.Remove(sprint);

            await SaveChangesAsync();
        }
 public ActionResult Edit([Bind(Include = "SprintId,SprintName,AdminId,StartDate,EndDate,BackgColor,ProcessColor")] Sprints sprints)
 {
     if (Session["UserName"] == null)
     {
         return(RedirectToAction("index", "home"));
     }
     else
     {
         if (ModelState.IsValid)
         {
             db.Entry(sprints).State = EntityState.Modified;
             db.SaveChanges();
             return(RedirectToAction("SprintsOfPrjekt", "SprintTaskList", new { id = Session["CurrentProject"] }));
         }
         ViewBag.BackgColor   = new SelectList(db.Colors, "ColorId", "ColorName", sprints.BackgColor);
         ViewBag.ProcessColor = new SelectList(db.Colors, "ColorId", "ColorName", sprints.ProcessColor);
         ViewBag.AdminId      = new SelectList(db.Users, "UserId", "Surname", sprints.AdminId);
         return(View(sprints));
     }
 }
 // GET: Sprints/Delete/5
 public ActionResult Delete(int?id)
 {
     if (Session["UserName"] == null)
     {
         return(RedirectToAction("index", "home"));
     }
     else
     {
         if (id == null)
         {
             return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
         }
         Sprints sprints = db.Sprints.Find(id);
         if (sprints == null)
         {
             return(HttpNotFound());
         }
         return(View(sprints));
     }
 }
Exemple #29
0
        public async Task DeleteProject(Project project)
        {
            var linkedTickets = Tickets.Where(x => x.Feature.Sprint.ProjectId == project.ID).ToList();

            Tickets.RemoveRange(linkedTickets);

            var linkedFeatures = Features.Where(x => x.Sprint.ProjectId == project.ID);

            Features.RemoveRange(linkedFeatures);

            var linkedSprints = Sprints.Where(x => x.ProjectId == project.ID);

            Sprints.RemoveRange(linkedSprints);

            await SaveChangesAsync();

            Projects.Remove(project);

            await SaveChangesAsync();
        }
        /// <summary>
        /// Generere et nyt Objec af typen sprint for at kunne sende det med til WEB API'en for at kunne generere et nyt object der bliver sendt tilbage fra api'en hvis det lykkes.
        /// </summary>
        public async void Create()
        {
            List <int> storyId = new List <int>();

            foreach (Story storey in SprintBacklog)
            {
                storyId.Add(storey.Story_Id);
            }

            Sprint sp = await SprintsPer.Create(new Sprint()
            {
                Story_Ids = storyId, Sprint_Goal = Sprint_GoalVM, Sprint_Start = TimeConverter.ConverterToDateTime(Sprint_StartDate, Sprint_StartTime), Sprint_End = TimeConverter.ConverterToDateTime(Sprint_EndDate, Sprint_EndTime)
            }, LeSingleton.SelectedProject.Project_Id);

            if (sp != null)
            {
                Sprints.Add(sp);
            }

            SprintReset();
        }
Exemple #31
0
        public async void Load()
        {
            List <Sprint> spr = await SprintsPer.LoadBacklog(LeSingleton.SelectedProject.Project_Id);

            if (spr != null)
            {
                foreach (Sprint sprint in spr)
                {
                    Sprints.Add(sprint);
                }
            }

            List <Story> st = await StoryPer.LoadBacklog(LeSingleton.SelectedProject.Project_Id);

            if (st != null)
            {
                foreach (Story storey in st)
                {
                    Stories.Add(storey);
                }
            }
        }
        public ActionResult Create([Bind(Include = "SprintId,SprintName,AdminId,StartDate,EndDate,BackgColor,ProcessColor")] Sprints sprints)
        {
            if (Session["UserName"] == null)
            {
                return(RedirectToAction("index", "home"));
            }
            else
            {
                if (ModelState.IsValid)
                {
                    //var param = Session["CurrentProject"];
                    db.Sprints.Add(sprints);
                    db.SaveChanges();
                    return(RedirectToAction("Create", "ProjectConnections", new { selectedProject = Session["CurrentProject"], selectedSprint = sprints.SprintId }));
                }

                ViewBag.BackgColor   = new SelectList(db.Colors, "ColorId", "ColorName", sprints.BackgColor);
                ViewBag.ProcessColor = new SelectList(db.Colors, "ColorId", "ColorName", sprints.ProcessColor);
                ViewBag.AdminId      = new SelectList(db.Users, "UserId", "Surname", sprints.AdminId);
                return(View(sprints));
            }
        }