Ejemplo n.º 1
0
        private static void CreateThings()
        {
            // Create a user
            using (AriClinicContext ctx = new AriClinicContext("AriClinicContext"))
            {
                Console.WriteLine("Deleting all records....");
                ctx.Delete(ctx.Logs);
                ctx.Delete(ctx.Users);
                ctx.Delete(ctx.UserGroups);
                ctx.Delete(ctx.HealthcareCompanies);
                ctx.SaveChanges();

                Console.WriteLine("Creating default group..");
                UserGroup ug = new UserGroup();
                ug.Name = "Reservado";
                ctx.Add(ug);

                Console.WriteLine("Creating administrator user..");
                User user = new User();
                user.Name = "Superuser";
                user.Login = "******";
                user.UserGroup = ug;
                user = CntAriCli.EncryptPassword(user, "admin");
                ctx.Add(user);

                HealthcareCompany hc = new HealthcareCompany();
                hc.Name = "Ariadna Salud S.L.";
                ctx.Add(hc);

                Clinic clinic = new Clinic()
                {
                     Name = "Clinica 1"
                };
                ctx.Add(clinic);


                // parameters
                Console.WriteLine("Creating parameters...");
                AriCliModel.Parameter parameter = new Parameter() 
                {
                    PainPump = null,
                    UseNomenclator = false
                };
                ctx.Add(parameter);

                // processes
                Console.WriteLine("Creating process...");
                Process process = new Process()
                {
                    Name = "Administración",
                    Code = "admin",
                };
                Process admin = process;
                ctx.Add(admin);
                process = new Process()
                {
                    Name = "Procesos",
                    Code = "process",
                    ParentProcess = admin
                };
                ctx.Add(process);
                process = new Process()
                {
                    Name = "Permisos",
                    Code = "permision",
                    ParentProcess = admin
                };
                ctx.Add(process);
                
                // permissions
                Console.WriteLine("Creating permissions...");
                Permission permission = new Permission()
                {
                      Process = admin,
                      UserGroup = ug,
                      View=true,
                      Create=true,
                      Modify=true,
                      Execute=true,
                };
                ctx.Add(permission);
                permission = new Permission()
                {
                    Process = process, // must be permission process
                    UserGroup = ug,
                    View = true,
                    Create = true,
                    Modify = true,
                    Execute = true,
                };
                ctx.Add(permission);
                // import data

                ctx.SaveChanges();
                Console.WriteLine("All jobs done");
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Returns a list of objects in the format requierd by RadListTree control
 /// </summary>
 /// <param name="ug"></param>
 /// <returns></returns>
 public static IList<PermissionView> GetPermissionsViews(UserGroup ug)
 {
     IList<PermissionView> perviews = new List<PermissionView>();
     foreach (Permission per in ug.Permissions)
     {
         PermissionView pw = new PermissionView();
         pw.PermissionId = per.PermissionId;
         pw.Name = per.Process.Name;
         pw.ProcessId = per.Process.ProcessId;
         if (per.Process.ParentProcess != null)
             pw.ParentProcessId = per.Process.ParentProcess.ProcessId;
         else
             pw.ParentProcessId = 0;
         pw.View = per.View;
         pw.Create = per.Create;
         pw.Modify = per.Modify;
         pw.Execute = per.Execute;
         perviews.Add(pw);
     }
     return perviews;
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Obtain the permisson that an specific group has over a process
 /// </summary>
 /// <param name="ug"> User group </param>
 /// <param name="pr"> Process</param>
 /// <param name="ctx"> Openaccess context</param>
 /// <returns> Permission or null</returns>
 public static Permission GetPermission(UserGroup ug, Process pr, AriClinicContext ctx)
 {
     Permission per = (from p in ctx.Permissions
                       where p.UserGroup.UserGroupId == ug.UserGroupId &&
                             p.Process.ProcessId == pr.ProcessId
                       select p).FirstOrDefault<Permission>();
     return per;
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Verify that in the permission table all the process have an entry
 /// </summary>
 /// <param name="ug"> user group to wich the permissions are assigned</param>
 /// <param name="ctx"> openaccess context </param>
 public static void VerifyPermissions(UserGroup ug, AriClinicContext ctx)
 {
     foreach (Process pr in ctx.Processes)
     {
         Permission per = (from p in ctx.Permissions
                           where p.UserGroup.UserGroupId == ug.UserGroupId &&
                                 p.Process.ProcessId == pr.ProcessId
                           select p).FirstOrDefault<Permission>();
         if (per == null)
         {
             // permission doesn't exists for this user group
             // we create one.
             per = new Permission();
             per.UserGroup = ug;
             per.Process = pr;
             // default permissions are asigned.
             per.View = true;
             per.Create = false;
             per.Modify = false;
             per.Execute = false;
             ctx.Add(per);
         }
     }
     ctx.SaveChanges();
 }