Пример #1
0
 private void updateDatabaseObjectInfo()
 {
     DatabaseObject.NumberBoxes  = ProjectTiles.Count();
     DatabaseObject.NumberCards  = ProjectCards.Count();
     DatabaseObject.NumberTokens = ProjectTokens.Count();
     DatabaseObject.NumberBoards = ProjectBoards.Count();
 }
Пример #2
0
        public ActionResult Board(int?id)
        {
            var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));

            if (Request.IsAuthenticated)
            {
                ApplicationUser user = userManager.FindByNameAsync(User.Identity.Name).Result;
                if (!userManager.IsInRole(User.Identity.GetUserId(), "Project") && !userManager.IsInRole(User.Identity.GetUserId(), "System Admin"))
                {
                    return(RedirectToAction("AccessBlock", "Account", new { area = "" }));
                }
                else
                {
                    ProjectBoards ProjectBoard = db.ProjectBoards.Find(Convert.ToInt32(id));
                    if (ProjectBoard == null)
                    {
                        ViewData["H1"] = "New Board";
                    }
                    else
                    {
                        ViewData["H2"] = ProjectBoard.Client;
                        ViewData["H1"] = ProjectBoard.Name;
                    }
                    return(View());
                }
            }
            else
            {
                return(RedirectToAction("Login", "Account", new { area = "" }));
            }
        }
Пример #3
0
        public IHttpActionResult PutProjectBoard(int id, ProjectBoards projectBoard)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != projectBoard.BoardId)
            {
                return(BadRequest());
            }
            projectBoard.User       = HttpContext.Current.User.Identity.Name.ToString();
            projectBoard.UpdateDate = DateTime.Now;

            db.Entry(projectBoard).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProjectBoardExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Пример #4
0
        public HttpResponseMessage Get(int?id)
        {
            var                  response             = Request.CreateResponse();
            ProjectBoards        ProjectBoard         = db.ProjectBoards.Find(Convert.ToInt32(id));
            JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
            string               jsonString           = ProjectBoard.Configuration;

            if (ProjectBoard.ProjectColumns.Count == 0)
            {
                var columns = new List <ProjectColumns>();
                //var stories = new List<ProjectStories>();
                columns.Add(new ProjectColumns {
                    Description = "Backlog Column", Name = "Backlog", ProjectBoard = ProjectBoard, UpdateDate = DateTime.Now,
                });
                columns.Add(new ProjectColumns {
                    Description = "In Progress Column", Name = "In Progress", ProjectBoard = ProjectBoard, UpdateDate = DateTime.Now
                });
                columns.Add(new ProjectColumns {
                    Description = "Pending Column", Name = "Pending", ProjectBoard = ProjectBoard, UpdateDate = DateTime.Now
                });
                columns.Add(new ProjectColumns {
                    Description = "Release Column", Name = "Release", ProjectBoard = ProjectBoard, UpdateDate = DateTime.Now
                });
                ProjectBoard.ProjectColumns = columns;
                db.SaveChanges();
            }
            var ColumnsReturns = ProjectBoard.ProjectColumns
                                 .Select(o => new ProjectColumns
            {
                Name           = o.Name,
                ColumnId       = o.ColumnId,
                UpdateDate     = o.UpdateDate,
                Description    = o.Description,
                ProjectStories = o.ProjectStories
            }).ToList();

            foreach (var col in ColumnsReturns)
            {
                foreach (var Story in col.ProjectStories)
                {
                    Story.ProjectColumns = null;

                    foreach (var Comment in Story.ProjectComments)
                    {
                        Comment.ProjectStories = null;
                    }
                    foreach (var Task in Story.ProjectTasks)
                    {
                        Task.ProjectStories = null;
                    }
                    foreach (var Update in Story.ProjectUpdates)
                    {
                        Update.ProjectStories = null;
                    }
                }
            }

            response.Content = new StringContent(JsonConvert.SerializeObject(ColumnsReturns, Formatting.Indented));
            return(response);
        }
Пример #5
0
        public void DeleteBoard(dynamic json)
        {
            var           db           = new CalculationDBContext();
            ProjectBoards ProjectBoard = db.ProjectBoards.Find(Convert.ToInt32(json.boardId));

            db.ProjectBoards.Remove(ProjectBoard);
            db.SaveChanges();
        }
Пример #6
0
        public HttpResponseMessage Update(JObject moveTaskParams)
        {
            dynamic json     = moveTaskParams;
            string  data     = Convert.ToString(json.data);
            var     response = Request.CreateResponse();

            if (json.boardId == null)
            {
                response.StatusCode = HttpStatusCode.BadRequest;
            }
            ProjectBoards ProjectBoard = repo.GetBoard(json);

            ProjectBoard = repo.UpdateBoard(json);

            List <ProjectColumnViewModel> ProjectColumns = new List <ProjectColumnViewModel>();

            foreach (var Column in ProjectBoard.ProjectColumns)
            {
                ProjectColumns.Add(new ProjectColumnViewModel {
                    ColumnId = Column.ColumnId, Description = Column.Description, Name = Column.Name, UpdateDate = DateTime.Now, ProjectStories = Column.ProjectStories
                });
            }
            foreach (var Column in ProjectColumns)
            {
                foreach (var Story in Column.ProjectStories)
                {
                    Story.ProjectColumns = null;
                    if (Story.ProjectComments != null)
                    {
                        foreach (var Comment in Story.ProjectComments)
                        {
                            Comment.ProjectStories = null;
                        }
                    }

                    if (Story.ProjectTasks != null)
                    {
                        foreach (var Task in Story.ProjectTasks)
                        {
                            Task.ProjectStories = null;
                        }
                    }
                    if (Story.ProjectUpdates != null)
                    {
                        foreach (var Update in Story.ProjectUpdates)
                        {
                            Update.ProjectStories = null;
                        }
                    }
                }
            }
            response.StatusCode = HttpStatusCode.OK;
            response.Content    = new StringContent(JsonConvert.SerializeObject(ProjectColumns));
            return(response);
        }
Пример #7
0
        public IHttpActionResult GetProjectBoard(int id)
        {
            ProjectBoards projectBoard = db.ProjectBoards.Find(id);

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

            return(Ok(projectBoard));
        }
Пример #8
0
        private bool postParse()
        {
            foreach (var element in projectElements)
            {
                if (!(element is IHasElements elementedElement))
                {
                    continue;
                }
                var elementQueue = elementedElement.PendingElements;
                while (elementQueue.Count > 0)
                {
                    int nextElement = elementQueue.Dequeue();
                    switch (elementedElement.NestedElementType)
                    {
                    case ElementType.Token:
                        if (ProjectTokens.All(b => b.ID != nextElement))
                        {
                            return(false);
                        }
                        elementedElement.Elements.Add(ProjectTokens.First(b => b.ID == nextElement));
                        break;

                    case ElementType.Card:
                        if (ProjectCards.All(b => b.ID != nextElement))
                        {
                            return(false);
                        }
                        elementedElement.Elements.Add(ProjectCards.First(b => b.ID == nextElement));
                        break;

                    case ElementType.Tile:
                        if (ProjectTiles.All(b => b.ID != nextElement))
                        {
                            return(false);
                        }
                        elementedElement.Elements.Add(ProjectTiles.First(b => b.ID == nextElement));
                        break;

                    case ElementType.Board:
                        if (ProjectBoards.All(b => b.ID != nextElement))
                        {
                            return(false);
                        }
                        elementedElement.Elements.Add(ProjectBoards.First(b => b.ID == nextElement));
                        break;
                    }
                }
            }

            return(true);
        }
Пример #9
0
        public ProjectBoards GetBoard(dynamic json)
        {
            if (json.boardId == null)
            {
                return(null);
            }
            else
            {
                int           ID    = Convert.ToInt32(json.boardId);
                var           Test  = db.ProjectBoards.Include(t => t.ProjectColumns).Where(t => t.BoardId == ID).FirstOrDefault();
                ProjectBoards Board = db.ProjectBoards.Find(ID);

                return(Board);
            }
        }
Пример #10
0
        public IHttpActionResult PostProjectBoard(ProjectBoards projectBoard)
        {
            if (projectBoard.BoardId > 0)
            {
                BoardRepository repo = new BoardRepository();
                projectBoard = repo.CopyBoard(projectBoard, projectBoard.BoardId);
            }
            else
            {
                projectBoard.UpdateDate = DateTime.Now;
                projectBoard.User       = HttpContext.Current.User.Identity.Name.ToString();
                db.Configuration.ProxyCreationEnabled = false;
            }
            db.ProjectBoards.Add(projectBoard);
            db.SaveChanges();

            projectBoard.ProjectColumns = null;
            return(CreatedAtRoute("DefaultApi", new { id = projectBoard.BoardId }, projectBoard));
        }
Пример #11
0
        public HttpResponseMessage Create(JObject moveTaskParams)
        {
            dynamic json     = moveTaskParams;
            string  data     = Convert.ToString(json.data);
            var     response = Request.CreateResponse();

            if (json.boardId == null)
            {
                response.StatusCode = HttpStatusCode.BadRequest;
            }
            ProjectBoards ProjectBoard = repo.GetBoard(json);

            if (ProjectBoard == null)
            {
                repo.AddBoard(json);
            }

            response.StatusCode = HttpStatusCode.OK;
            return(response);
        }
Пример #12
0
        public IHttpActionResult DeleteProjectBoard(int id)
        {
            var originalBoard = db.ProjectBoards
                                .Where(p => p.BoardId == id)
                                .Include(p => p.ProjectColumns)
                                .SingleOrDefault();

            ProjectBoards projectBoard = db.ProjectBoards.Find(id);

            foreach (var Column in originalBoard.ProjectColumns.ToList())
            {
                foreach (var Story in Column.ProjectStories.ToList())
                {
                    foreach (var Comment in Story.ProjectComments.ToList())
                    {
                        db.ProjectComments.Remove(Comment);
                    }
                    foreach (var Task in Story.ProjectTasks.ToList())
                    {
                        db.ProjectTasks.Remove(Task);
                    }
                    foreach (var Update in Story.ProjectUpdates.ToList())
                    {
                        db.ProjectUpdates.Remove(Update);
                    }
                    db.ProjectStories.Remove(Story);
                }
                db.ProjectColumns.Remove(Column);
            }
            db.ProjectBoards.Remove(originalBoard);

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

            db.ProjectBoards.Remove(projectBoard);
            db.SaveChanges();

            return(Ok(projectBoard));
        }
Пример #13
0
        public ProjectBoards UpdateBoard(dynamic json)
        {
            db.Configuration.LazyLoadingEnabled   = false;
            db.Configuration.ProxyCreationEnabled = false;
            ProjectBoards ProjectBoard = db.ProjectBoards.Find(Convert.ToInt32(json.boardId));

            ProjectBoard.Configuration = Convert.ToString(json.data);
            ProjectBoard.User          = HttpContext.Current.User.Identity.Name.ToString();
            ProjectBoard.UpdateDate    = DateTime.Now;
            List <ProjectColumns> Columns = (List <ProjectColumns>)javaScriptSerializ­er.Deserialize(Convert.ToString(json.data), typeof(List <ProjectColumns>));

            foreach (var col in Columns)
            {
                col.ProjectBoard = ProjectBoard;
                if (col.ProjectStories != null)
                {
                    foreach (var story in col.ProjectStories)
                    {
                        story.ProjectColumns = col;
                    }
                }
            }
            // Load original parent including the child item collection
            var originalBoard = db.ProjectBoards
                                .Where(p => p.BoardId == ProjectBoard.BoardId)
                                .Include(p => p.ProjectColumns)
                                .SingleOrDefault();

            if (originalBoard != null)
            {
                //update parent
                var parentEntry = db.Entry(originalBoard);
                parentEntry.CurrentValues.SetValues(ProjectBoard);

                foreach (var originalColumnItem in
                         originalBoard.ProjectColumns.ToList())
                {
                    if (!ProjectBoard.ProjectColumns.Any(c => c.ColumnId == originalColumnItem.ColumnId))
                    {
                        // Yes -> It's a deleted child item -> Delete
                        db.ProjectColumns.Remove(originalColumnItem);
                    }
                }
                /////COLUMNS
                foreach (var columnItem in Columns)
                {
                    var originalColumnItem = db.ProjectColumns
                                             .Where(c => c.ColumnId == columnItem.ColumnId)
                                             .Include(p => p.ProjectStories)
                                             .SingleOrDefault();

                    // Is original child item with same ID in DB?
                    if (originalColumnItem != null)
                    {
                        // Yes -> Update scalar properties of child item
                        var columnEntry          = db.Entry(originalColumnItem);
                        var originalColumnValues = db.Entry(originalColumnItem).OriginalValues;
                        // Set the Name property to a new value
                        columnEntry.Property(u => u.ColumnId).CurrentValue    = columnItem.ColumnId;
                        columnEntry.Property(u => u.Description).CurrentValue = columnItem.Description;
                        columnEntry.Property(u => u.Name).CurrentValue        = columnItem.Name;
                        columnEntry.Property(u => u.UpdateDate).CurrentValue  = columnItem.UpdateDate;

                        // Load original parent including the child item collection
                        var originalColumn = db.ProjectColumns
                                             .Where(p => p.ColumnId == columnItem.ColumnId)
                                             .Include(p => p.ProjectStories)
                                             .SingleOrDefault();

                        ///STORIES
                        foreach (var originalStoryItem in
                                 originalColumn.ProjectStories.ToList())
                        {
                            if (!columnItem.ProjectStories.Any(c => c.StoryId == originalStoryItem.StoryId))
                            {
                                // Yes -> It's a deleted child item -> Delete
                                db.ProjectStories.Remove(originalStoryItem);
                            }
                        }
                        foreach (var storyItem in columnItem.ProjectStories)
                        {
                            var originalStoryItem = originalColumnItem.ProjectStories
                                                    .Where(c => c.StoryId == null)
                                                    .SingleOrDefault();

                            if (storyItem.StoryId > 0)
                            {
                                originalStoryItem = originalColumnItem.ProjectStories
                                                    .Where(c => c.StoryId == storyItem.StoryId)
                                                    .SingleOrDefault();
                            }

                            // Is original child item with same ID in DB?
                            if (originalStoryItem != null)
                            {
                                // Yes -> Update scalar properties of child item
                                var storyEntry          = db.Entry(originalStoryItem);
                                var originalStoryValues = db.Entry(originalStoryItem).OriginalValues;
                                // Set the Name property to a new value
                                storyEntry.Property(u => u.Name).CurrentValue               = storyItem.Name;
                                storyEntry.Property(u => u.StoryId).CurrentValue            = storyItem.StoryId;
                                storyEntry.Property(u => u.Requested).CurrentValue          = storyItem.Requested;
                                storyEntry.Property(u => u.Moscow).CurrentValue             = storyItem.Moscow;
                                storyEntry.Property(u => u.Timebox).CurrentValue            = storyItem.Timebox;
                                storyEntry.Property(u => u.AcceptanceCriteria).CurrentValue = storyItem.AcceptanceCriteria;
                                storyEntry.Property(u => u.StartDate).CurrentValue          = storyItem.StartDate;
                                storyEntry.Property(u => u.RAG).CurrentValue           = storyItem.RAG;
                                storyEntry.Property(u => u.RequestedDate).CurrentValue = storyItem.RequestedDate;
                                storyEntry.Property(u => u.SLADays).CurrentValue       = storyItem.SLADays;
                                storyEntry.Property(u => u.Complexity).CurrentValue    = storyItem.Complexity;
                                storyEntry.Property(u => u.ElapsedTime).CurrentValue   = storyItem.ElapsedTime;
                                storyEntry.Property(u => u.DueDate).CurrentValue       = storyItem.DueDate;
                                storyEntry.Property(u => u.User).CurrentValue          = storyItem.User;
                                storyEntry.Property(u => u.Description).CurrentValue   = storyItem.Description;
                                storyEntry.Property(u => u.Name).CurrentValue          = storyItem.Name;
                                storyEntry.Property(u => u.UpdateDate).CurrentValue    = storyItem.UpdateDate;
                                storyEntry.Property(u => u.Effort).CurrentValue        = storyItem.Effort;
                                storyEntry.State = EntityState.Modified;

                                // Load original parent including the child item collection
                                var originalStory = db.ProjectStories
                                                    .Where(p => p.StoryId == storyItem.StoryId)
                                                    .Include(p => p.ProjectComments)
                                                    .Include(t => t.ProjectTasks)
                                                    .Include(t => t.ProjectUpdates)
                                                    .SingleOrDefault();
                                //COMMENTS
                                foreach (var originalCommentItem in
                                         originalStory.ProjectComments.ToList())
                                {
                                    if (!storyItem.ProjectComments.Any(c => c.CommentId == originalCommentItem.CommentId))
                                    {
                                        // Yes -> It's a deleted child item -> Delete
                                        db.ProjectComments.Remove(originalCommentItem);
                                    }
                                }
                                foreach (var commentItem in storyItem.ProjectComments)
                                {
                                    var originalCommentItem = originalStoryItem.ProjectComments
                                                              .Where(c => c.CommentId == commentItem.CommentId)
                                                              .SingleOrDefault();

                                    // Is original child item with same ID in DB?
                                    if (originalCommentItem != null)
                                    {
                                        //// Yes -> Update scalar properties of child item
                                        //var commentEntry = db.Entry(originalCommentItem);
                                        //var originalCommentValues = db.Entry(originalCommentItem).OriginalValues;
                                        //// Set the Name property to a new value
                                        //commentEntry.Property(u => u.CommentId).CurrentValue = commentItem.CommentId;
                                        //commentEntry.Property(u => u.CommentName).CurrentValue = commentItem.CommentName;
                                        //commentEntry.Property(u => u.CommentType).CurrentValue = commentItem.CommentType;
                                        //commentEntry.Property(u => u.CommentDateTime).CurrentValue = commentItem.CommentDateTime;
                                        //commentEntry.Property(u => u.UpdateDate).CurrentValue = commentItem.UpdateDate;
                                        //commentEntry.Property(u => u.CommentUser).CurrentValue = commentItem.CommentUser;
                                        //commentEntry.State = EntityState.Modified;
                                    }
                                    else
                                    {
                                        commentItem.ProjectStories = originalStory;
                                        commentItem.UpdateDate     = DateTime.Now;
                                        originalStoryItem.ProjectComments.Add(commentItem);
                                    }
                                }
                                //Tasks
                                foreach (var originalTaskItem in
                                         originalStory.ProjectTasks.ToList())
                                {
                                    if (!storyItem.ProjectTasks.Any(c => c.TaskId == originalTaskItem.TaskId))
                                    {
                                        // Yes -> It's a deleted child item -> Delete
                                        db.ProjectTasks.Remove(originalTaskItem);
                                    }
                                }
                                foreach (var taskItem in storyItem.ProjectTasks)
                                {
                                    var originalTaskItem = originalStoryItem.ProjectTasks
                                                           .Where(c => c.TaskId == taskItem.TaskId)
                                                           .SingleOrDefault();

                                    // Is original child item with same ID in DB?
                                    if (originalTaskItem != null)
                                    {
                                        // Yes -> Update scalar properties of child item
                                        var taskEntry          = db.Entry(originalTaskItem);
                                        var originalTaskValues = db.Entry(originalTaskItem).OriginalValues;
                                        // Set the Name property to a new value
                                        taskEntry.Property(u => u.TaskName).CurrentValue      = taskItem.TaskName;
                                        taskEntry.Property(u => u.TaskUser).CurrentValue      = taskItem.TaskUser;
                                        taskEntry.Property(u => u.UpdateDate).CurrentValue    = taskItem.UpdateDate;
                                        taskEntry.Property(u => u.Status).CurrentValue        = taskItem.Status;
                                        taskEntry.Property(u => u.RemainingTime).CurrentValue = taskItem.RemainingTime;
                                        taskEntry.Property(u => u.TaskId).CurrentValue        = taskItem.TaskId;
                                        taskEntry.State = EntityState.Modified;
                                    }
                                    else
                                    {
                                        taskItem.ProjectStories = originalStory;
                                        taskItem.UpdateDate     = DateTime.Now;
                                        originalStoryItem.ProjectTasks.Add(taskItem);
                                    }
                                }

                                //Tasks
                                foreach (var originalUpdateItem in
                                         originalStory.ProjectUpdates.ToList())
                                {
                                    if (!storyItem.ProjectUpdates.Any(c => c.UpdateId == originalUpdateItem.UpdateId))
                                    {
                                        // Yes -> It's a deleted child item -> Delete
                                        db.ProjectUpdates.Remove(originalUpdateItem);
                                    }
                                }
                                foreach (var updateItem in storyItem.ProjectUpdates)
                                {
                                    var originalUpdateItem = originalStoryItem.ProjectUpdates
                                                             .Where(c => c.UpdateId == updateItem.UpdateId)
                                                             .SingleOrDefault();

                                    // Is original child item with same ID in DB?
                                    if (originalUpdateItem != null)
                                    {
                                        //// Yes -> Update scalar properties of child item
                                        //var updateEntry = db.Entry(originalUpdateItem);
                                        //var originalUpdateValues = db.Entry(originalUpdateItem).OriginalValues;
                                        //// Set the Name property to a new value
                                        //updateEntry.Property(u => u.UpdateDate).CurrentValue = updateItem.UpdateDate;
                                        //updateEntry.Property(u => u.UpdateDateTime).CurrentValue = updateItem.UpdateDateTime;
                                        //updateEntry.Property(u => u.UpdateField).CurrentValue = updateItem.UpdateField;
                                        //updateEntry.Property(u => u.UpdateId).CurrentValue = updateItem.UpdateId;
                                        //updateEntry.Property(u => u.UpdateUser).CurrentValue = updateItem.UpdateUser;
                                        //updateEntry.Property(u => u.UpdateValue).CurrentValue = updateItem.UpdateValue;
                                        //updateEntry.State = EntityState.Modified;
                                    }
                                    else
                                    {
                                        updateItem.ProjectStories = originalStory;
                                        updateItem.UpdateDate     = DateTime.Now;
                                        originalStoryItem.ProjectUpdates.Add(updateItem);
                                    }
                                }
                            }
                            else
                            {
                                storyItem.ProjectColumns = originalColumn;
                                storyItem.UpdateDate     = DateTime.Now;
                                originalColumn.ProjectStories.Add(storyItem);
                            }
                        }
                    }
                    else
                    {
                        originalBoard.ProjectColumns.Add(columnItem);
                    }
                }
            }


            db.SaveChanges();

            return(ProjectBoard);
        }
Пример #14
0
        public ProjectBoards CopyBoard(ProjectBoards projectBoard, int ID)
        {
            var originalBoard = db.ProjectBoards
                                .Where(p => p.BoardId == projectBoard.BoardId)
                                .Include(p => p.ProjectColumns)
                                .SingleOrDefault();

            ProjectBoards newBoard = new ProjectBoards();

            newBoard.BoardId        = 0;
            newBoard.Client         = projectBoard.Client;
            newBoard.Configuration  = originalBoard.Configuration;
            newBoard.Name           = projectBoard.Name;
            newBoard.UpdateDate     = DateTime.Now;
            newBoard.User           = HttpContext.Current.User.Identity.Name.ToString();
            newBoard.ProjectColumns = new List <ProjectColumns>();

            foreach (var Column in originalBoard.ProjectColumns.ToList())
            {
                ProjectColumns newColumn = new ProjectColumns();
                newColumn.Description  = Column.Description;
                newColumn.Name         = Column.Name;
                newColumn.UpdateDate   = Column.UpdateDate;
                newColumn.ProjectBoard = newBoard;

                foreach (var Story in Column.ProjectStories.ToList())
                {
                    ProjectStories newStory = new ProjectStories();
                    newStory.AcceptanceCriteria = Story.AcceptanceCriteria;
                    newStory.Complexity         = Story.Complexity;
                    newStory.Description        = Story.Description;
                    newStory.DueDate            = Story.DueDate;
                    newStory.Effort             = Story.Effort;
                    newStory.ElapsedTime        = Story.ElapsedTime;
                    newStory.Moscow             = Story.Moscow;
                    newStory.Name           = Story.Name;
                    newStory.RAG            = Story.RAG;
                    newStory.Requested      = Story.Requested;
                    newStory.RequestedDate  = Story.RequestedDate;
                    newStory.SLADays        = Story.SLADays;
                    newStory.StartDate      = Story.StartDate;
                    newStory.Timebox        = Story.Timebox;
                    newStory.UpdateDate     = Story.UpdateDate;
                    newStory.User           = Story.User;
                    newStory.ProjectColumns = newColumn;

                    foreach (var Task in Story.ProjectTasks.ToList())
                    {
                        ProjectTasks newTasks = new ProjectTasks();
                        newTasks.RemainingTime  = Task.RemainingTime;
                        newTasks.Status         = Task.Status;
                        newTasks.TaskName       = Task.TaskName;
                        newTasks.TaskUser       = Task.TaskUser;
                        newTasks.UpdateDate     = Task.UpdateDate;
                        newTasks.ProjectStories = newStory;
                    }
                    newColumn.ProjectStories.Add(newStory);
                }
                newBoard.ProjectColumns.Add(newColumn);
            }
            ;
            return(newBoard);
        }
Пример #15
0
        public HttpResponseMessage CSV(int?id)
        {
            ProjectBoards        ProjectBoard         = db.ProjectBoards.Find(Convert.ToInt32(id));
            JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
            string jsonString             = Convert.ToString(ProjectBoard.Configuration);
            List <ProjectColumns> columns = (List <ProjectColumns>)javaScriptSerializ­er.Deserialize(jsonString, typeof(List <ProjectColumns>));
            StringBuilder         sb      = new StringBuilder();
            //Iterate through data list collection
            List <List <string> > propNames  = new List <List <string> >();
            List <string>         propValues = new List <string>();
            //Loop to output the values in the csv
            int LoopCounter = 0;

            propValues.Add("ColumnID");
            propValues.Add("ColumnName");
            propValues.Add("ActivityID");
            propValues.Add("ActivityName");
            propValues.Add("Description");
            propValues.Add("AcceptanceCriteria");
            propValues.Add("Complexity");
            propValues.Add("DueDate");
            propValues.Add("Effort");
            propValues.Add("ElapsedTime");
            propValues.Add("Moscow");
            propValues.Add("RAG");
            propValues.Add("RequestedBy");
            propValues.Add("RequestedDate");
            propValues.Add("StartDate");
            propValues.Add("SLA");
            propValues.Add("Timebox");
            propValues.Add("CurrentUser");
            propValues.Add("Tasks");
            propValues.Add("Comments");
            propValues.Add("Updates");
            propNames.Add(propValues);
            propValues = new List <string>();
            //Create CSV of the output results
            foreach (var item in columns)
            {
                //Iterate through property collection
                foreach (var prop in item.ProjectStories)
                {
                    //Sets the row label
                    LoopCounter = LoopCounter + 1;
                    propValues.Add(Convert.ToString(0));
                    propValues.Add(Convert.ToString(item.Name));
                    propValues.Add(Convert.ToString(0));
                    propValues.Add(Convert.ToString(prop.Name));
                    propValues.Add(Convert.ToString(prop.Description));
                    propValues.Add(Convert.ToString(prop.AcceptanceCriteria));
                    propValues.Add(Convert.ToString(prop.Complexity));
                    propValues.Add(Convert.ToString(prop.DueDate));
                    propValues.Add(Convert.ToString(prop.Effort));
                    propValues.Add(Convert.ToString(prop.ElapsedTime));
                    propValues.Add(Convert.ToString(prop.Moscow));
                    propValues.Add(Convert.ToString(prop.RAG));
                    propValues.Add(Convert.ToString(prop.Requested));
                    propValues.Add(Convert.ToString(prop.RequestedDate));
                    propValues.Add(Convert.ToString(prop.StartDate));
                    propValues.Add(Convert.ToString(prop.SLADays));
                    propValues.Add(Convert.ToString(prop.Timebox));
                    propValues.Add(Convert.ToString(prop.User));
                    if (prop.ProjectTasks != null)
                    {
                        propValues.Add(javaScriptSerializer.Serialize(prop.ProjectTasks));
                    }
                    else
                    {
                        propValues.Add("");
                    }
                    if (prop.ProjectComments != null)
                    {
                        propValues.Add(javaScriptSerializer.Serialize(prop.ProjectComments));
                    }
                    else
                    {
                        propValues.Add("");
                    }
                    if (prop.ProjectUpdates != null)
                    {
                        propValues.Add(javaScriptSerializer.Serialize(prop.ProjectUpdates));
                    }
                    else
                    {
                        propValues.Add("");
                    }
                    propNames.Add(propValues);
                    propValues = new List <string>();
                }
            }

            //Create object response
            var response = Request.CreateResponse();

            response.Content    = new StringContent(JsonConvert.SerializeObject(propNames));
            response.StatusCode = HttpStatusCode.OK;
            return(response);
        }
Пример #16
0
        public async Task <ViewResult> Index()
        {
            string u = Request.Query["u"];

            return(View(await ProjectBoards.ProjectList(String.IsNullOrEmpty(u) ? "uid100" : u)));
        }