コード例 #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);
        }
コード例 #2
0
ファイル: UISprint.cs プロジェクト: pundera/EscapeDBUsage3
 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"
     });
 }
コード例 #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);
        }
コード例 #4
0
 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();
 }
コード例 #5
0
ファイル: UISprint.cs プロジェクト: pundera/EscapeDBUsage
 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"
     });
 }
コード例 #6
0
 public ActionResult DeleteConfirmed(int id)
 {
     Sprints sprints = db.Sprints.Find(id);
     db.Sprints.Remove(sprints);
     db.SaveChanges();
     return RedirectToAction("Index");
 }
コード例 #7
0
        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;
        }
コード例 #8
0
ファイル: Project.cs プロジェクト: klot-git/scrum-factory
        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);
        }
コード例 #9
0
        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));
        }
コード例 #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;
        }
コード例 #12
0
        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;
        }
コード例 #13
0
 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);
 }
コード例 #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));
        }
コード例 #15
0
        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));
        }
コード例 #16
0
        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);
        }
コード例 #17
0
        /// <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);
                }
            }
        }
コード例 #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);
        }
コード例 #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);
        }
コード例 #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();
        }
コード例 #21
0
 // 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);
 }
コード例 #22
0
 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"));
     }
 }
コード例 #23
0
ファイル: UISprint.cs プロジェクト: pundera/EscapeDBUsage
 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();
                    }
                }
         });
 }
コード例 #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();
            }
        }
コード例 #25
0
        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);
        }
コード例 #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();
        }
コード例 #27
0
 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));
     }
 }
コード例 #28
0
 // 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));
     }
 }
コード例 #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();
        }
コード例 #30
0
        /// <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();
        }
コード例 #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);
                }
            }
        }
コード例 #32
0
        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));
            }
        }