CodeGarten.Data.Access.DataBaseManager.Dispose C# (CSharp) Method

Dispose() public method

public Dispose ( ) : void
return void
        public void Dispose()
        {
            if (DbContext != null)
                DbContext.Dispose();
        }

Usage Example

Ejemplo n.º 1
0
        public void ShouldTestBasicFeaturesWithoutCache()
        {
            var dataBaseManager = new DataBaseManager();

            #region CREATE_SERVICES

            var serviceManager = dataBaseManager.ServiceType;

            var serviceGit = serviceManager.Create("Git", "System Version Control (decentralized)", new[] { "r", "rw" });

            var serviceSvn = serviceManager.Create("Svn", "System Version Control (Centralized)", new[] { "r", "rw" });

            var serviceTrac = serviceManager.Create("Trac", "WIKI system", new[] { "TRAC_ADMIN" });

            #endregion

            dataBaseManager.Dispose();
            dataBaseManager = new DataBaseManager();

            #region CREATE_USERS

            var userManager = dataBaseManager.User;

            var userFaustino = userManager.Create("FaustinoLeiras", "FaustinoLeiras12345", "*****@*****.**");

            var userSamir = userManager.Create("SamirHafez", "SamirHafez12345", "*****@*****.**");

            var userRicardo = userManager.Create("Ricardo", "Ricardo12345", "*****@*****.**");

            var userGeada = userManager.Create("Gueada", "Gueada12345", "*****@*****.**");

            var userFelix = userManager.Create("Felix", "Felix12345", "*****@*****.**");

            var userGuedes = userManager.Create("Guedes", "Guedes12345", "*****@*****.**");

            #endregion

            dataBaseManager.Dispose();
            dataBaseManager = new DataBaseManager();

            #region CREATE_STRUCTURE

            var structureManager = dataBaseManager.Structure;

            var structure = structureManager.Create("AcademicStructure", "My Academic Structure :)", true, userFaustino.Name);

            #endregion

            dataBaseManager.Dispose();
            dataBaseManager = new DataBaseManager();

            #region CREATE_WORKSPACE_TYPE

            var workspaceType = dataBaseManager.WorkSpaceType;

            var workspacePublic = workspaceType.Create(structure.Id, "public", new[] { serviceGit.Name, serviceSvn.Name, serviceTrac.Name });

            var workspacePrivate = workspaceType.Create(structure.Id, "private", new[] { serviceGit.Name, serviceSvn.Name, serviceTrac.Name });

            #endregion

            dataBaseManager.Dispose();
            dataBaseManager = new DataBaseManager();

            #region CREATE_CONTAINER_PROTOTYPE

            var containerPrototype = dataBaseManager.ContainerType;

            var prototypeGraduation = containerPrototype.Create(structure.Id, "Graduation", null);

            var prototypeCourse = containerPrototype.Create(structure.Id, "Course", prototypeGraduation.Name);

            var prototypeClass = containerPrototype.Create(structure.Id, "Class", prototypeCourse.Name);

            var prototypeGroup = containerPrototype.Create(structure.Id, "Group", prototypeClass.Name);

            #endregion

            dataBaseManager.Dispose();
            dataBaseManager = new DataBaseManager();

            #region ADD_WORKSPACE_TYPES_INTO_CONTAINER_PROTOTYPE

            containerPrototype.AddWorkSpaceType(structure.Id, prototypeGraduation.Name, workspacePublic.Name);

            containerPrototype.AddWorkSpaceType(structure.Id, prototypeCourse.Name, workspacePublic.Name);

            containerPrototype.AddWorkSpaceType(structure.Id, prototypeClass.Name, workspacePublic.Name);
            containerPrototype.AddWorkSpaceType(structure.Id, prototypeClass.Name, workspacePrivate.Name);

            containerPrototype.AddWorkSpaceType(structure.Id, prototypeGroup.Name, workspacePublic.Name);

            #endregion

            dataBaseManager.Dispose();
            dataBaseManager = new DataBaseManager();

            #region CREATE_ROLETYPE

            var roleType = dataBaseManager.RoleType;

            var roleTypeTeacher = roleType.Create(structure.Id, "teacher");

            var roleTypeDirector = roleType.Create(structure.Id, "director");

            var roleTypeStudant = roleType.Create(structure.Id, "studant");

            #endregion

            dataBaseManager.Dispose();
            dataBaseManager = new DataBaseManager();

            #region CREATE_RULE

            var rule = dataBaseManager.Rule;

            var ruleReaders = rule.Create(structure.Id, "readers", new[]
                                                           {
                                                               new KeyValuePair<string, string>(serviceGit.Name, "r"),
                                                               new KeyValuePair<string, string>(serviceSvn.Name, "r"),
                                                               new KeyValuePair<string, string>(serviceTrac.Name, "TRAC_ADMIN")
                                                           });

            var ruleReadersAndWriters = rule.Create(structure.Id, "ReadersAndWriters", new[]
                                                                     {
                                                                         new KeyValuePair<string, string>(
                                                                             serviceGit.Name,
                                                                             "rw"),
                                                                         new KeyValuePair<string, string>(
                                                                             serviceSvn.Name,
                                                                             "rw"),
                                                                         new KeyValuePair<string, string>(
                                                                             serviceTrac.Name,
                                                                             "TRAC_ADMIN")
                                                                     });

            #endregion

            dataBaseManager.Dispose();
            dataBaseManager = new DataBaseManager();

            #region CREATE_ROLE

            var role = dataBaseManager.Role;

            #region ADD_ROLES_GRADUATION_WORKSPACE_PUBLIC

            role.Create(
                structure.Id,
                prototypeGraduation.Name,
                workspacePublic.Name,
                roleTypeDirector.Name,
                new[] { ruleReadersAndWriters.Name }
                );

            #endregion

            #region ADD_ROLES_COURSE_WORKSPACE_PUBLIC

            role.Create(
                structure.Id,
                prototypeCourse.Name,
                workspacePublic.Name,
                roleTypeDirector.Name,
                new[] { ruleReadersAndWriters.Name }
                );

            role.Create(
                structure.Id,
                prototypeCourse.Name,
                workspacePublic.Name,
                roleTypeTeacher.Name,
                new[] { ruleReaders.Name }
                );

            role.Create(
                structure.Id,
                prototypeCourse.Name,
                workspacePublic.Name,
                roleTypeStudant.Name,
                new[] { ruleReaders.Name }
                );

            #endregion

            #region ADD_ROLES_CLASS_WORKSPACE_PUBLIC

            role.Create(
                structure.Id,
                prototypeClass.Name,
                workspacePublic.Name,
                roleTypeDirector.Name,
                new[] { ruleReaders.Name }
                );

            role.Create(
                structure.Id,
                prototypeClass.Name,
                workspacePublic.Name,
                roleTypeTeacher.Name,
                new[] { ruleReadersAndWriters.Name }
                );

            role.Create(
                structure.Id,
                prototypeClass.Name,
                workspacePublic.Name,
                roleTypeStudant.Name,
                new[] { ruleReaders.Name }
                );

            #endregion

            #region ADD_ROLES_CLASS_WORKSPACE_PRIVATE

            role.Create(
                structure.Id,
                prototypeClass.Name,
                workspacePrivate.Name,
                roleTypeDirector.Name,
                new[] { ruleReaders.Name }
                );

            role.Create(
                structure.Id,
                prototypeClass.Name,
                workspacePrivate.Name,
                roleTypeTeacher.Name,
                new[] { ruleReadersAndWriters.Name }
                );

            #endregion

            #region ADD_ROLES_GROUP_WORKSPACE_PUBLIC

            role.Create(
                structure.Id,
                prototypeGroup.Name,
                workspacePublic.Name,
                roleTypeDirector.Name,
                new[] { ruleReaders.Name }
                );

            role.Create(
                structure.Id,
                prototypeGroup.Name,
                workspacePublic.Name,
                roleTypeTeacher.Name,
                new[] { ruleReadersAndWriters.Name }
                );

            role.Create(
                structure.Id,
                prototypeGroup.Name,
                workspacePublic.Name,
                roleTypeStudant.Name,
                new[] { ruleReadersAndWriters.Name }
                );

            #endregion

            #endregion

            dataBaseManager.Dispose();
            dataBaseManager = new DataBaseManager();

            #region CREATE_CONTAINERS

            var container = dataBaseManager.Container;

            var containerLeic = container.Create(structure.Id, "LEIC", "Licencitura Egenharia informatica e de computadores", null);

            #region CREATE_COURSE_MPD

            var containerMpd = container.Create(structure.Id, "MPD", "Modelo de padoes de desenho", containerLeic.Id);

            var containerMpdLi31D = container.Create(structure.Id, "LI31D", "Turma 1 de terceiro semestre diurno", containerMpd.Id);

            var containerMpdG1 = container.Create(structure.Id, "Grupo1", "Grupo 1 de MPD", containerMpdLi31D.Id);

            var containerMpdG2 = container.Create(structure.Id, "Grupo2", "Grupo 2 de MPD", containerMpdLi31D.Id);

            #endregion

            #region CREATE_COURSE_SD

            var containerSd = container.Create(structure.Id, "SD", "Sistemas distribuidos", containerLeic.Id);

            var containerSdLi31D = container.Create(structure.Id, "LI31D", "Turma 1 de terceiro semestre diurno", containerSd.Id);

            var containerSdG1 = container.Create(structure.Id, "Grupo1", "Grupo 1 de SD", containerSdLi31D.Id);

            var containerSdG2 = container.Create(structure.Id, "Grupo2", "Grupo 2 de SD", containerSdLi31D.Id);

            #endregion

            #endregion

            dataBaseManager.Dispose();
            dataBaseManager = new DataBaseManager();

            #region ENROLL_USER

            userManager.Enroll(userFelix.Name, structure.Id, containerLeic.Id, roleTypeDirector.Name);

            userManager.Enroll(userFelix.Name, structure.Id, containerMpd.Id, roleTypeDirector.Name);
            userManager.Enroll(userGuedes.Name, structure.Id, containerSd.Id, roleTypeDirector.Name);

            userManager.Enroll(userFelix.Name, structure.Id, containerSdLi31D.Id, roleTypeTeacher.Name);
            userManager.Enroll(userGuedes.Name, structure.Id, containerMpdLi31D.Id, roleTypeTeacher.Name);

            userManager.Enroll(userFaustino.Name, structure.Id, containerMpdG1.Id, roleTypeStudant.Name);
            userManager.Enroll(userSamir.Name, structure.Id, containerMpdG1.Id, roleTypeStudant.Name);

            userManager.Enroll(userRicardo.Name, structure.Id, containerMpdG2.Id, roleTypeStudant.Name);
            userManager.Enroll(userGeada.Name, structure.Id, containerMpdG2.Id, roleTypeStudant.Name);

            userManager.Enroll(userFaustino.Name, structure.Id, containerSdG1.Id, roleTypeStudant.Name);
            userManager.Enroll(userRicardo.Name, structure.Id, containerSdG1.Id, roleTypeStudant.Name);

            userManager.Enroll(userGeada.Name, structure.Id, containerSdG2.Id, roleTypeStudant.Name);
            userManager.Enroll(userSamir.Name, structure.Id, containerSdG2.Id, roleTypeStudant.Name);

            #endregion

            dataBaseManager.Dispose();
            //using (dataBaseManager = new DataBaseManager())
            //{
            //    AuthorizationTestes aut = new AuthorizationTestes();
            //    AuthorizationManager authorizationManager = new AuthorizationManager(dataBaseManager);

            //    authorizationManager.CreateServiceAuthorizationStruct(aut, serviceSvn.Name);
            //}
        }
All Usage Examples Of CodeGarten.Data.Access.DataBaseManager::Dispose