public static string CreateBackup(string filename, OutboundBackupModel content) { if (File.Exists(filename)) { File.Delete(filename); } using (var file = File.Create(filename)) { } File.WriteAllText(filename, content.Serialized); return(content.Serialized); }
internal OutboundBackupModel BackUpSpecificProject(int projectId) { var project = Context.Projects.FirstOrDefault(x => x.Id == projectId); var Iterations = new List <WorkItemIterations>(); var members = new List <UserAccounts>(); var boards = new List <Boards>(); var workItems = new List <WorkItem>(); var getProjectIterations = Context.AssociatedProjectIterations.Where(x => x.ProjectId == projectId).ToList(); getProjectIterations.ForEach(x => { Iterations.Add(Context.WorkItemIterations.FirstOrDefault(y => y.Id == x.IterationId)); }); var projectMembers = Context.AssociatedProjectMembers.Where(x => x.ProjectId == projectId).ToList(); projectMembers.ForEach(x => { members.Add(Context.UserAccounts.FirstOrDefault(y => y.Id == x.UserAccountId)); }); var memberRights = Context.AssociatedProjectMemberRights.Include(x => x.UserAccount) .Include(x => x.Rights) .Where(x => x.ProjectId == projectId) .ToList(); var associatedProjectBoards = Context.AssociatedProjectBoards.Where(x => x.ProjectId == projectId).ToList(); associatedProjectBoards.ForEach(x => { boards.Add(Context.Boards.FirstOrDefault(y => y.Id == x.BoardId)); }); var assocaitedProjectWorkItems = Context.AssociatedBoardWorkItems.Where(x => x.ProjectId == projectId).ToList(); assocaitedProjectWorkItems.ForEach(x => { workItems.Add(Context.WorkItem.FirstOrDefault(y => y.Id == x.WorkItemId)); }); var assocaitedWorkItemChildren = Context.AssociatedWrorkItemChildren.Include(x => x.WorkItem) .ThenInclude(WorkItem => WorkItem.AssociatedBoardWorkItems) .Where(x => x.WorkItem.AssociatedBoardWorkItems.Any(y => y.ProjectId == projectId)).ToList(); var result = new OutboundBackupModel { Iterations = Iterations, Boards = boards, CurrentProject = project, MemberRights = memberRights, UserAccounts = members, WorkItems = workItems, WrorkItemChildrens = assocaitedWorkItemChildren }; return(result); }