public void Add(string values)
        {
            var newAuthorizationModel = new AuthorizationBusinessModel();

            JsonConvert.PopulateObject(values, newAuthorizationModel);


            var newAuthorization = _mapper.Map <Authorization>(newAuthorizationModel);
            AuthorizationRole newAutRole;

            foreach (var roleId in newAuthorizationModel.RoleIds)
            {
                newAutRole = new AuthorizationRole();
                newAutRole.Authorization = newAuthorization;
                newAutRole.Role          = _roleUnitOfWork.RoleRepository.GetById(roleId);
                newAuthorization.AuthorizationRoles.Add(newAutRole);
            }

            _roleUnitOfWork.AuthorizationRepository.Add(newAuthorization);
            _roleUnitOfWork.Complete();
        }
        public void Update(int id, string values)
        {
            Authorization authorization = _roleUnitOfWork.AuthorizationRepository.GetById(id);
            AuthorizationBusinessModel authorizationBusinessModel = _mapper.Map <AuthorizationBusinessModel>(authorization);

            _roleUnitOfWork.AuthorizationRepository.Remove(authorization);
            var autRoleCollections = _roleUnitOfWork.AuthorizationRoleRepository.GetAuthorizationRolesByAuthorizationId(id);

            int[] RoleIds = new int[autRoleCollections.Count];
            int   i       = 0;

            foreach (var autRoleCollection in autRoleCollections)
            {
                RoleIds[i] = autRoleCollection.RoleId;
                _roleUnitOfWork.AuthorizationRoleRepository.Remove(autRoleCollection);
                i++;
            }
            authorizationBusinessModel.RoleIds = RoleIds;
            JsonConvert.PopulateObject(values, authorizationBusinessModel);

            var newAuthorization = _mapper.Map <Authorization>(authorizationBusinessModel);

            if (authorizationBusinessModel.RoleIds != null)
            {
                AuthorizationRole autRole;
                foreach (var autRoleId in authorizationBusinessModel.RoleIds)
                {
                    autRole               = new AuthorizationRole();
                    autRole.Role          = _roleUnitOfWork.RoleRepository.GetById(autRoleId);
                    autRole.Authorization = newAuthorization;
                    newAuthorization.AuthorizationRoles.Add(autRole);
                }
            }

            _roleUnitOfWork.AuthorizationRepository.Add(newAuthorization);
            _roleUnitOfWork.Complete();
        }
Exemple #3
0
        private void Init(T context)
        {
            SysUser user = context.Set <SysUser>().FirstOrDefault(t => t.UserName == "admin");

            if (user == null)
            {
                context.Set <SysUser>().AddOrUpdate(t => t.UserName, new SysUser()
                {
                    UserName          = "******",
                    Password          = new BaseUtils().BuildPW("admin", "1"),
                    RealName          = "管理员",
                    TelNumber         = "18895353426",
                    CreateDate        = DateTime.Now,
                    IsAccountDisabled = false,
                });
                context.SaveChanges();
                user = context.Set <SysUser>().FirstOrDefault(t => t.UserName == "admin");
            }

            //List<Flow> FlowList = context.Set<Flow>().ToList();
            //if (FlowList == null || FlowList.Count == 0)
            //{
            //    Flow flow = new Flow();
            //    flow.TableType = TableTypeEnums.切削液浓度点检表;
            //    flow.Name = "填写切削液浓度点检表";
            //    flow.ParentID = 0;

            //    context.Set<Flow>().AddOrUpdate(t => t.Name, FlowList.ToArray());
            //    context.SaveChanges();
            //}

            List <Role> RoleList = context.Set <Role>().ToList();

            if (RoleList == null || RoleList.Count == 0)
            {
                Role Role = new Role();
                Role.Name       = "操作工";
                Role.CreateDate = DateTime.Now;
                Role.IsDel      = false;
                RoleList.Add(Role);

                Role            = new Role();
                Role.Name       = "班长";
                Role.CreateDate = DateTime.Now;
                Role.IsDel      = false;
                RoleList.Add(Role);

                Role            = new Role();
                Role.Name       = "车间主任";
                Role.CreateDate = DateTime.Now;
                Role.IsDel      = false;
                RoleList.Add(Role);

                Role            = new Role();
                Role.Name       = "生产设备部长";
                Role.CreateDate = DateTime.Now;
                Role.IsDel      = false;
                RoleList.Add(Role);

                Role            = new Role();
                Role.Name       = "工装管理员";
                Role.CreateDate = DateTime.Now;
                Role.IsDel      = false;
                RoleList.Add(Role);

                Role            = new Role();
                Role.Name       = "设备修理工";
                Role.CreateDate = DateTime.Now;
                Role.IsDel      = false;
                RoleList.Add(Role);


                Role            = new Role();
                Role.Name       = "系统管理员";
                Role.CreateDate = DateTime.Now;
                Role.IsDel      = false;
                RoleList.Add(Role);

                context.Set <Role>().AddOrUpdate(t => t.Name, RoleList.ToArray());
                context.SaveChanges();
            }


            List <Authorization> AuthorizationList = context.Set <Authorization>().ToList();

            if (AuthorizationList == null || AuthorizationList.Count == 0)
            {
                Authorization Authorization = new Authorization();
                Authorization.CreateDate   = DateTime.Now;
                Authorization.CreateUserID = user.ID;
                Authorization.Name         = "SysUser";
                //Authorization.RoleList = context.Set<Role>().Where(t => t.Name == "系统管理员").ToList();
                Authorization.ShowName    = "用户管理";
                Authorization.Description = "管理用户信息,可添加删除修改用户。";
                //Authorization.UserList = new List<SysUser>();
                AuthorizationList.Add(Authorization);

                Authorization              = new Authorization();
                Authorization.CreateDate   = DateTime.Now;
                Authorization.CreateUserID = user.ID;
                Authorization.Name         = "Role";
                //Authorization.RoleList = context.Set<Role>().Where(t => t.Name == "系统管理员").ToList();
                Authorization.ShowName    = "角色管理";
                Authorization.Description = "管理角色信息,可添加删除修改角色。";
                //Authorization.UserList = new List<SysUser>();
                AuthorizationList.Add(Authorization);

                Authorization              = new Authorization();
                Authorization.CreateDate   = DateTime.Now;
                Authorization.CreateUserID = user.ID;
                Authorization.Name         = "BaseData";
                //Authorization.RoleList = context.Set<Role>().Where(t => t.Name == "系统管理员" || t.Name == "生产设备部部长" || t.Name == "车间主任").ToList();
                Authorization.ShowName    = "基础信息设置";
                Authorization.Description = "可设置基础信息,包括基础班次,基础时间,字典数据和表单基础信息。";
                //Authorization.UserList = new List<SysUser>();
                AuthorizationList.Add(Authorization);

                Authorization              = new Authorization();
                Authorization.CreateDate   = DateTime.Now;
                Authorization.CreateUserID = user.ID;
                Authorization.Name         = "Authorization";
                //Authorization.RoleList = context.Set<Role>().Where(t => t.Name == "系统管理员").ToList();
                Authorization.ShowName    = "权限管理";
                Authorization.Description = "可设置权限对应的角色,也可以给单独的用户添加权限。";
                //Authorization.UserList = new List<SysUser>();
                AuthorizationList.Add(Authorization);

                Authorization              = new Authorization();
                Authorization.CreateDate   = DateTime.Now;
                Authorization.CreateUserID = user.ID;
                Authorization.Name         = "Class";
                //Authorization.RoleList = context.Set<Role>().Where(t => t.Name == "系统管理员" || t.Name == "生产设备部部长" || t.Name == "车间主任" || t.Name == "班长").ToList();
                Authorization.ShowName    = "班次管理";
                Authorization.Description = "可添加班次。";
                //Authorization.UserList = new List<SysUser>();
                AuthorizationList.Add(Authorization);

                context.Set <Authorization>().AddOrUpdate(t => t.Name, AuthorizationList.ToArray());
                context.SaveChanges();
            }


            List <AuthorizationRole> AuthorizationRoleList = context.Set <AuthorizationRole>().ToList();

            if (AuthorizationRoleList == null || AuthorizationRoleList.Count == 0)
            {
                AuthorizationRole AuthorizationRole = new AuthorizationRole();
                AuthorizationRole.AuthorizationID = context.Set <Authorization>().FirstOrDefault(t => t.ShowName == "班次管理").ID;
                AuthorizationRole.RoleID          = context.Set <Role>().FirstOrDefault(t => t.Name == "系统管理员").ID;
                AuthorizationRoleList.Add(AuthorizationRole);

                AuthorizationRole = new AuthorizationRole();
                AuthorizationRole.AuthorizationID = context.Set <Authorization>().FirstOrDefault(t => t.ShowName == "班次管理").ID;
                AuthorizationRole.RoleID          = context.Set <Role>().FirstOrDefault(t => t.Name == "生产设备部部长").ID;
                AuthorizationRoleList.Add(AuthorizationRole);

                AuthorizationRole = new AuthorizationRole();
                AuthorizationRole.AuthorizationID = context.Set <Authorization>().FirstOrDefault(t => t.ShowName == "班次管理").ID;
                AuthorizationRole.RoleID          = context.Set <Role>().FirstOrDefault(t => t.Name == "车间主任").ID;
                AuthorizationRoleList.Add(AuthorizationRole);

                AuthorizationRole = new AuthorizationRole();
                AuthorizationRole.AuthorizationID = context.Set <Authorization>().FirstOrDefault(t => t.ShowName == "班次管理").ID;
                AuthorizationRole.RoleID          = context.Set <Role>().FirstOrDefault(t => t.Name == "班长").ID;
                AuthorizationRoleList.Add(AuthorizationRole);

                AuthorizationRole = new AuthorizationRole();
                AuthorizationRole.AuthorizationID = context.Set <Authorization>().FirstOrDefault(t => t.ShowName == "用户管理").ID;
                AuthorizationRole.RoleID          = context.Set <Role>().FirstOrDefault(t => t.Name == "系统管理员").ID;
                AuthorizationRoleList.Add(AuthorizationRole);

                AuthorizationRole = new AuthorizationRole();
                AuthorizationRole.AuthorizationID = context.Set <Authorization>().FirstOrDefault(t => t.ShowName == "角色管理").ID;
                AuthorizationRole.RoleID          = context.Set <Role>().FirstOrDefault(t => t.Name == "系统管理员").ID;
                AuthorizationRoleList.Add(AuthorizationRole);

                AuthorizationRole = new AuthorizationRole();
                AuthorizationRole.AuthorizationID = context.Set <Authorization>().FirstOrDefault(t => t.ShowName == "基础信息设置").ID;
                AuthorizationRole.RoleID          = context.Set <Role>().FirstOrDefault(t => t.Name == "系统管理员").ID;
                AuthorizationRoleList.Add(AuthorizationRole);

                AuthorizationRole = new AuthorizationRole();
                AuthorizationRole.AuthorizationID = context.Set <Authorization>().FirstOrDefault(t => t.ShowName == "基础信息设置").ID;
                AuthorizationRole.RoleID          = context.Set <Role>().FirstOrDefault(t => t.Name == "生产设备部部长").ID;
                AuthorizationRoleList.Add(AuthorizationRole);

                AuthorizationRole = new AuthorizationRole();
                AuthorizationRole.AuthorizationID = context.Set <Authorization>().FirstOrDefault(t => t.ShowName == "基础信息设置").ID;
                AuthorizationRole.RoleID          = context.Set <Role>().FirstOrDefault(t => t.Name == "车间主任").ID;
                AuthorizationRoleList.Add(AuthorizationRole);

                AuthorizationRole = new AuthorizationRole();
                AuthorizationRole.AuthorizationID = context.Set <Authorization>().FirstOrDefault(t => t.ShowName == "权限管理").ID;
                AuthorizationRole.RoleID          = context.Set <Role>().FirstOrDefault(t => t.Name == "系统管理员").ID;
                AuthorizationRoleList.Add(AuthorizationRole);


                context.Set <AuthorizationRole>().AddOrUpdate(t => t.AuthorizationID, AuthorizationRoleList.ToArray());
                context.SaveChanges();
            }
        }
Exemple #4
0
        public static void InitializeDataBase()
        {
            using (var scope = ApplicationContext.Container.BeginLifetimeScope())
            {
                using (var context = scope.Resolve <DbContext>())
                {
                    //if ((context.GetService<IDatabaseCreator>() as RelationalDatabaseCreator).Exists())
                    //	return;

                    //context.Database.EnsureDeleted();
                    //context.Database.EnsureCreated();

                    var organization = new EntityOrganization()
                    {
                        Name = "Default", CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now
                    };

                    var adminRole = new AuthorizationRole()
                    {
                        Id = 1, Name = "Administrator", EntityOrganization = organization
                    };
                    var agentRole = new AuthorizationRole()
                    {
                        Id = 2, Name = "Agent", EntityOrganization = organization
                    };
                    var advisorRole = new AuthorizationRole()
                    {
                        Id = 3, Name = "Advisor", EntityOrganization = organization
                    };
                    var workflowRole = new AuthorizationRole()
                    {
                        Id = 4, Name = "Workflow", EntityOrganization = organization
                    };

                    var authorizationGroupA = new AuthorizationGroup()
                    {
                        Id = 1, Name = "Group A", EntityOrganization = organization
                    };
                    var authorizationGroupB = new AuthorizationGroup()
                    {
                        Id = 2, Name = "Group B", EntityOrganization = organization
                    };

                    var applicationUser = new ApplicationUser()
                    {
                        Name        = "Default", Email = "*****@*****.**",
                        Password    = "******",
                        CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now
                    };
                    var workflowUser = new ApplicationUser()
                    {
                        Name        = "Workflow", Email = "*****@*****.**",
                        Password    = "******",
                        CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now
                    };

                    var currentAdvisor = new CurrentAdvisor()
                    {
                        Id = 1, Description = "Advisor A", EntityOrganization = organization
                    };
                    var gender = new Gender()
                    {
                        Id = 1, Description = "Male", EntityOrganization = organization
                    };
                    var occupation = new Occupation()
                    {
                        Id = 1, Description = "Unemployed", EntityOrganization = organization
                    };
                    var addressType = new AddressType()
                    {
                        Id = 1, Description = "Complex", EntityOrganization = organization
                    };
                    var phonecallActivityType = new LeadScheduledActivityType()
                    {
                        Id = 1, Description = "Phone Call", EntityOrganization = organization
                    };
                    var meetingActivityType = new LeadScheduledActivityType()
                    {
                        Id = 2, Description = "Meeting", EntityOrganization = organization
                    };

                    applicationUser.AddEntityOrganization(organization);
                    applicationUser.ActiveEntityOrganizationId = 1;
                    applicationUser.AddAuthorizationGroup(authorizationGroupA);
                    applicationUser.AuthorizationRole = adminRole;
                    context.Add(organization);
                    context.Add(applicationUser);
                    context.Add(workflowUser);
                    context.Add(currentAdvisor);
                    context.Add(gender);
                    context.Add(occupation);
                    context.Add(addressType);
                    context.Add(phonecallActivityType);
                    context.Add(meetingActivityType);
                    context.Add(authorizationGroupA);
                    context.Add(authorizationGroupB);

                    context.Add(agentRole);
                    context.Add(advisorRole);
                    context.Add(workflowRole);

                    context.SaveChanges();
                }
            }
        }
Exemple #5
0
        public void CloneSourceVersionToNewVersion(SubdomainVersion subdomainVersion)
        {
            var sourceId = (int)subdomainVersion.SourceVersionId;

            var sourceVersionCards = _drcUnitOfWork.DrcCardRepository.getAllCardsBySubdomainVersion(sourceId);


            IList <SourceNewDrcCardMap> sourceNewDrcCardMaps = new List <SourceNewDrcCardMap>();

            foreach (var sourceVersionCard in sourceVersionCards)
            {
                SourceNewDrcCardMap sourceNewDrcCardMap = new SourceNewDrcCardMap();
                sourceNewDrcCardMap.SourceCardId = sourceVersionCard.Id;

                DrcCard newDrcCard = new DrcCard();
                newDrcCard    = sourceVersionCard;
                newDrcCard.Id = 0;
                newDrcCard.SubdomainVersionId = 0;
                newDrcCard.SubdomainVersion   = subdomainVersion;
                _drcUnitOfWork.DrcCardRepository.Add(newDrcCard);
                _drcUnitOfWork.Complete();
                sourceNewDrcCardMap.NewCardId = newDrcCard.Id;
                sourceNewDrcCardMaps.Add(sourceNewDrcCardMap);
            }

            foreach (var sourceNewDrcCardMap in sourceNewDrcCardMaps)
            {
                var newDrcCard = _drcUnitOfWork.DrcCardRepository.GetById(sourceNewDrcCardMap.NewCardId);
                var sourceCardResponsibilities =
                    _drcUnitOfWork.DrcCardResponsibilityRepository.GetDrcCardResponsibilitiesByDrcCardId(
                        sourceNewDrcCardMap.SourceCardId);

                foreach (var sourceDrcCardResponsibility in sourceCardResponsibilities)
                {
                    Responsibility newResponsibility = new Responsibility();
                    newResponsibility =
                        _drcUnitOfWork.ResponsibilityRepository.GetByIdWithoutTracking(sourceDrcCardResponsibility
                                                                                       .ResponsibilityId);
                    var sourceResponsibilityCollaborations = _drcUnitOfWork.DrcCardResponsibilityRepository.GetResponsibilityCollaborationsByResponsibilityId(newResponsibility.Id);
                    newResponsibility.Id = 0;
                    _drcUnitOfWork.ResponsibilityRepository.Add(newResponsibility);

                    DrcCardResponsibility newDrcCardResponsibility = new DrcCardResponsibility();
                    newDrcCardResponsibility.DrcCard                 = newDrcCard;
                    newDrcCardResponsibility.Responsibility          = newResponsibility;
                    newDrcCardResponsibility.IsRelationCollaboration = false;
                    _drcUnitOfWork.DrcCardResponsibilityRepository.Add(newDrcCardResponsibility);

                    foreach (var sourceResponsibilityCollaboration in sourceResponsibilityCollaborations)
                    {
                        int newDrcCardId = sourceNewDrcCardMaps
                                           .Where(c => c.SourceCardId == sourceResponsibilityCollaboration.DrcCardId)
                                           .Select(c => c.NewCardId).Single();
                        DrcCardResponsibility newResponsibilityCollaboration = new DrcCardResponsibility();
                        newResponsibilityCollaboration.DrcCardId               = newDrcCardId;
                        newResponsibilityCollaboration.Responsibility          = newResponsibility;
                        newResponsibilityCollaboration.IsRelationCollaboration =
                            sourceResponsibilityCollaboration.IsRelationCollaboration;
                        _drcUnitOfWork.DrcCardResponsibilityRepository.Add(newResponsibilityCollaboration);
                        _drcUnitOfWork.Complete();
                    }
                    _drcUnitOfWork.Complete();
                }

                var sourceCardFields = _drcUnitOfWork.DrcCardFieldRepository
                                       .GetDrcCardFieldsByDrcCardId(sourceNewDrcCardMap.SourceCardId);

                foreach (var sourceCardField in sourceCardFields)
                {
                    Field newField = new Field();
                    newField = _drcUnitOfWork.FieldRepository.GetByIdWithoutTracking(sourceCardField.FieldId);
                    var sourceFieldCollaboration =
                        _drcUnitOfWork.DrcCardFieldRepository.GetFieldCollaborationByFieldId(newField.Id);
                    newField.Id = 0;
                    _drcUnitOfWork.FieldRepository.Add(newField);

                    DrcCardField newDrcCardField = new DrcCardField();
                    newDrcCardField.DrcCard = newDrcCard;
                    newDrcCardField.Field   = newField;
                    newDrcCardField.IsRelationCollaboration = false;
                    _drcUnitOfWork.DrcCardFieldRepository.Add(newDrcCardField);

                    if (sourceFieldCollaboration != null)
                    {
                        int newCollaborationDrcCardId = sourceNewDrcCardMaps
                                                        .Where(c => c.SourceCardId == sourceFieldCollaboration.DrcCardId)
                                                        .Select(c => c.NewCardId).Single();

                        DrcCardField newDrcCardFieldCollaboration = new DrcCardField();
                        newDrcCardFieldCollaboration.DrcCardId = newCollaborationDrcCardId;
                        newDrcCardFieldCollaboration.Field     = newField;
                        newDrcCardFieldCollaboration.IsRelationCollaboration = true;
                        _drcUnitOfWork.DrcCardFieldRepository.Add(newDrcCardFieldCollaboration);
                        _drcUnitOfWork.Complete();
                    }
                    _drcUnitOfWork.Complete();
                }

                var sourceCardAuthorizations = _drcUnitOfWork.AuthorizationRepository.GetAuthorizationsByDrcCardId(sourceNewDrcCardMap.SourceCardId);

                foreach (var sourceCardAuthorization in sourceCardAuthorizations)
                {
                    Authorization newAuthorization = new Authorization();
                    newAuthorization = _drcUnitOfWork.AuthorizationRepository.GetByIdWithoutTracking(sourceCardAuthorization.Id);
                    var oldAuthorizationRoles = _drcUnitOfWork.AuthorizationRoleRepository.GetAuthorizationRolesByAuthorizationId(newAuthorization.Id);
                    newAuthorization.Id        = 0;
                    newAuthorization.DrcCardId = 0;
                    newAuthorization.DrcCard   = newDrcCard;
                    _drcUnitOfWork.AuthorizationRepository.Add(newAuthorization);

                    foreach (var oldAuthorizationRole in oldAuthorizationRoles)
                    {
                        AuthorizationRole authorizationRole = new AuthorizationRole();
                        authorizationRole.AuthorizationId = newAuthorization.Id;
                        authorizationRole.RoleId          = oldAuthorizationRole.RoleId;
                        _drcUnitOfWork.AuthorizationRoleRepository.Add(authorizationRole);
                        _drcUnitOfWork.Complete();
                    }
                }
                _drcUnitOfWork.Complete();
            }
        }
 public AuthorizationScope(AuthorizationRole role, AuthorizationPermission permission)
 {
     Role       = role;
     Permission = permission;
 }
Exemple #7
0
        internal static void InitializeDataBase()
        {
            using (var scope = ApplicationContext.Container.BeginLifetimeScope("ExecutionPipeline"))
            {
                using (var context = scope.Resolve <DbContext>())
                {
                    //context.Database.EnsureDeleted();

                    if ((context.GetService <IDatabaseCreator>() as RelationalDatabaseCreator).Exists())
                    {
                        return;
                    }

                    context.Database.EnsureDeleted();
                    context.Database.EnsureCreated();
                    //context.Database.Migrate();

                    var organization = new EntityOrganization()
                    {
                        Name = "Default", CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now
                    };

                    var adminRole = new AuthorizationRole()
                    {
                        Id = 1, Name = "Administrator", EntityOrganization = organization
                    };
                    var agentRole = new AuthorizationRole()
                    {
                        Id = 2, Name = "Agent", EntityOrganization = organization
                    };
                    var advisoryRole = new AuthorizationRole()
                    {
                        Id = 3, Name = "Advisor", EntityOrganization = organization
                    };
                    var workflowRole = new AuthorizationRole()
                    {
                        Id = 4, Name = "Workflow", EntityOrganization = organization
                    };

                    var applicationUser = new ApplicationUser()
                    {
                        Name        = "Default", Email = "*****@*****.**",
                        Password    = "******",
                        CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now
                    };
                    var workflowUser = new ApplicationUser()
                    {
                        Name        = "Workflow", Email = "*****@*****.**",
                        Password    = "******",
                        CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now
                    };
                    var schedulerFlowUser = new ApplicationUser()
                    {
                        Name        = "Scheduler", Email = "*****@*****.**",
                        Password    = "******",
                        CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now
                    };

                    var currentAdviser = new CurrentAdvisor()
                    {
                        Id = 1, Description = "Advisor A", EntityOrganization = organization
                    };
                    var gender = new Gender()
                    {
                        Id = 1, Description = "Male", EntityOrganization = organization
                    };
                    var occupation = new Occupation()
                    {
                        Id = 1, Description = "Unemployed", EntityOrganization = organization
                    };
                    var addressType = new AddressType()
                    {
                        Id = 1, Description = "Complex", EntityOrganization = organization
                    };
                    var phoneCallActivityType = new LeadScheduledActivityType()
                    {
                        Id = 1, Description = "Phone Call", EntityOrganization = organization
                    };
                    var meetingActivityType = new LeadScheduledActivityType()
                    {
                        Id = 2, Description = "Meeting", EntityOrganization = organization
                    };

                    var authorizationGroupA = new AuthorizationGroup()
                    {
                        Id = 1, Name = "Group A", EntityOrganization = organization
                    };
                    var authorizationGroupB = new AuthorizationGroup()
                    {
                        Id = 2, Name = "Group B", EntityOrganization = organization
                    };


                    var portfolioTransactionTypeOpen = new PortfolioTransactionType()
                    {
                        Id          = 1,
                        Description = "Open",
                    };

                    var portfolioTransactionTypeClose = new PortfolioTransactionType()
                    {
                        Id          = 2,
                        Description = "Close",
                    };

                    var portfolioShareA = new PortfolioShare()
                    {
                        Description = "ABC short",
                        Code        = "ABC"
                    };
                    var portfolioShareB = new PortfolioShare()
                    {
                        Description = "XYZ short",
                        Code        = "XXZ"
                    };


                    context.Add(portfolioTransactionTypeClose);
                    context.Add(portfolioTransactionTypeOpen);

                    var portfolios = new List <Portfolio>()
                    {
                        new Portfolio()
                        {
                            OpenDate = DateTime.Now, Name = "Test A"
                        },
                        new Portfolio()
                        {
                            OpenDate = DateTime.Now, Name = "Test B"
                        },
                        new Portfolio()
                        {
                            OpenDate = DateTime.Now, Name = "Test C"
                        },
                        new Portfolio()
                        {
                            OpenDate = DateTime.Now, Name = "Test D"
                        },
                    };

                    foreach (var portfolio in portfolios)
                    {
                        var summaryDate = DateTime.Now;
                        for (int i = 0; i < 10; i++)
                        {
                            var summary = new PortfolioTransactionsSummary()
                            {
                                CloseAmount = (decimal) new Random(i).NextDouble() *
                                              ((decimal) new Random(i).NextDouble() * 10),
                                OpenAmount =
                                    (decimal) new Random(i).NextDouble() * ((decimal) new Random(i).NextDouble() * 10),
                                CloseDate = summaryDate,
                                OpenDate  = summaryDate.AddDays(-30),
                                Portfolio = portfolio
                            };

                            context.Add(summary);
                            summaryDate = summaryDate.AddDays(-30);
                        }

                        var transactionDate = DateTime.Now;
                        for (int i = 0; i < 10; i++)
                        {
                            var transaction = new PortfolioTransaction()
                            {
                                Total = (decimal) new Random(i).NextDouble() * 10,
                                Price = (decimal) new Random(i).NextDouble() *
                                        ((decimal) new Random(i).NextDouble() * 10),
                                Quantity                 = Math.Abs(new Random(i).Next()),
                                Date                     = transactionDate,
                                Portfolio                = portfolio,
                                PortfolioShare           = portfolioShareA,
                                PortfolioTransactionType = portfolioTransactionTypeClose
                            };

                            context.Add(transaction);
                            transactionDate = transactionDate.AddDays(-1);
                        }

                        context.Add(portfolio);
                    }

                    applicationUser.AddEntityOrganization(organization);
                    applicationUser.ActiveEntityOrganizationId = 1;
                    applicationUser.AddAuthorizationGroup(authorizationGroupA);
                    applicationUser.AuthorizationRole = adminRole;

                    context.Add(organization);
                    context.Add(adminRole);
                    context.Add(advisoryRole);
                    context.Add(agentRole);
                    context.Add(workflowRole);
                    context.Add(applicationUser);
                    context.Add(workflowUser);
                    context.Add(schedulerFlowUser);
                    context.Add(currentAdviser);
                    context.Add(gender);
                    context.Add(occupation);
                    context.Add(addressType);
                    context.Add(phoneCallActivityType);
                    context.Add(meetingActivityType);
                    context.Add(authorizationGroupA);
                    //context.Add(authorizationGroupB);

                    for (int i = 0; i < 1000; i++)
                    {
                        var user = new ApplicationUser()
                        {
                            Name        = "Default", Email = $"testB@test{i}.com",
                            Password    = "******",
                            CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now
                        };
                        user.AddEntityOrganization(organization);
                        user.ActiveEntityOrganizationId = 1;
                        user.AddAuthorizationGroup(authorizationGroupA);
                        user.AuthorizationRole = adminRole;
                        context.Add(user);
                    }

                    context.SaveChanges();
                }
            }
        }
Exemple #8
0
        public static void InitializeDataBase()
        {
            using (var scope = ApplicationContext.Container.BeginLifetimeScope())
            {
                using (var context = scope.Resolve <DbContext>())
                {
                    //if ((context.GetService<IDatabaseCreator>() as RelationalDatabaseCreator).Exists())
                    //	return;

                    //context.Database.EnsureDeleted();
                    //context.Database.EnsureCreated();

                    var organization = new EntityOrganization()
                    {
                        Name = "Default", CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now
                    };

                    var adminRole = new AuthorizationRole()
                    {
                        Id = 1, Name = "Administrator", EntityOrganization = organization
                    };
                    var agentRole = new AuthorizationRole()
                    {
                        Id = 2, Name = "Agent", EntityOrganization = organization
                    };
                    var advisorRole = new AuthorizationRole()
                    {
                        Id = 3, Name = "Advisor", EntityOrganization = organization
                    };
                    var workflowRole = new AuthorizationRole()
                    {
                        Id = 4, Name = "Workflow", EntityOrganization = organization
                    };

                    var authorizationGroupA = new AuthorizationGroup()
                    {
                        Id = 1, Name = "Group A", EntityOrganization = organization
                    };
                    var authorizationGroupB = new AuthorizationGroup()
                    {
                        Id = 2, Name = "Group B", EntityOrganization = organization
                    };

                    var applicationUser = new ApplicationUser()
                    {
                        Name        = "Default", Email = "*****@*****.**",
                        Password    = "******",
                        CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now
                    };
                    var workflowUser = new ApplicationUser()
                    {
                        Name        = "Workflow", Email = "*****@*****.**",
                        Password    = "******",
                        CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now
                    };

                    applicationUser.AddEntityOrganization(organization);
                    applicationUser.ActiveEntityOrganizationId = 1;
                    applicationUser.AddAuthorizationGroup(authorizationGroupA);
                    applicationUser.AuthorizationRole = adminRole;
                    context.Add(organization);
                    context.Add(applicationUser);
                    context.Add(workflowUser);
                    context.Add(authorizationGroupA);
                    context.Add(authorizationGroupB);

                    context.Add(agentRole);
                    context.Add(advisorRole);
                    context.Add(workflowRole);

                    context.SaveChanges();
                }
            }
        }
Exemple #9
0
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 /// <summary>
 /// IsAuthorized determines whether the User possesses the required authorization role(s).
 /// </summary>
 ///
 /// <param name="role"> The role that needs to be evaluated. </param>
 ///
 /// <returns>
 /// Returns the value associated with the role, which is true or false.  If it is not found false
 /// is returned.
 /// </returns>
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 public bool IsAuthorized(AuthorizationRole role) => _roles.ContainsKey(role) && _roles[role];