blob: 9eb0fb7b6a03aeb46c780acad9dfc0cc62b4eda8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.BL;
using Tango.BL.Entities;
using Tango.CSV;
namespace Tango.FSE.DPGraphGenerator
{
class Program
{
private class RolePermission
{
public String Name { get; set; }
public override string ToString()
{
return Name;
}
}
private class RoleModel
{
public String Name { get; set; }
public List<RolePermission> Permissions { get; set; }
public RoleModel()
{
Permissions = new List<RolePermission>();
}
}
static void Main(string[] args)
{
String outputFolder = Path.GetFullPath(@"..\..\..\Roles & Permissions");
Console.WriteLine($"Generating roles and permissions csv files to '{outputFolder}'...");
List<RoleModel> models = new List<RoleModel>();
using (ObservablesContext db = ObservablesContext.CreateDefault())
{
var roles = db.Roles.ToList();
var roles_permissions = db.RolesPermissions.ToList();
var permissions = db.Permissions.ToList();
foreach (var role in roles.Where(x => x.Name.Contains("FSE")).ToList())
{
RoleModel model = new RoleModel();
model.Name = role.Description;
List<Permission> role_permissions = role.RolesPermissions.Select(x => x.Permission).ToList();
foreach (var permission in role_permissions.OrderBy(x => x.Code))
{
model.Permissions.Add(new RolePermission() { Name = permission.Name.Replace("FSE_", "") });
}
models.Add(model);
}
}
Directory.CreateDirectory(outputFolder);
foreach (var model in models)
{
Console.WriteLine($"Generating role '{model.Name}'...");
using (DynamicCsvFile csvFile = new DynamicCsvFile(Path.Combine(outputFolder, $"{model.Name}.csv")))
{
csvFile.Columns.Add(new DynamicCsvFileColumn() { Name = model.Name });
foreach (var permission in model.Permissions)
{
csvFile.Append(permission);
}
}
}
Console.WriteLine();
Console.WriteLine("Done!, press return to exit...");
Console.ReadLine();
}
}
}
|