示例#1
0
        public bool TryChangeEntityState(int entityInfoId, int entityOrganizationId, int entityTransitionId, out EntityStateChangeViewModel entityStateChangeViewModel)
        {
            if (!TryChangeEntityState(entityInfoId, entityOrganizationId, entityTransitionId))
            {
                entityStateChangeViewModel = null;
                return(false);
            }

            EntityStateTransition entityStateTransition = _entityRepository.GetEntityStateTransition(entityTransitionId);
            EntityOrganization    entityOrganization    = _entityRepository.GetEntityOrganization(entityInfoId, entityOrganizationId);

            entityStateChangeViewModel = new EntityStateChangeViewModel
            {
                EntityInfoId       = entityOrganization.EntityInfoId,
                OrganizationId     = entityOrganization.OrganizationId,
                EntityTransitions  = GetAccesibleEntityTransitionsFrom(entityStateTransition.EntityStateToId, entityOrganization.EntityTypeId, entityOrganization.OrganizationId),
                EntityStateChanged = new EntityStateChangedViewModel
                {
                    EntityStateId   = entityStateTransition.EntityStateToId,
                    EntityStateName = _styleContext.GetTranslation(entityStateTransition.EntityStateTo.NameCode)
                }
            };

            _entityRepository.UnitOfWork.SaveChanges();
            return(true);
        }
示例#2
0
        /// <summary>
        /// 根据条件筛选所有Organization指定页码的数据(分页型)
        /// </summary>
        /// <param name="organization">实体对象</param>
        /// <param name="pageparams">分页对象</param>
        /// <param name="totalCount">符合条件的记录总数量</param>
        /// <returns></returns>
        public DataSet GetData(EntityOrganization organization, PageParams pageparams, out int totalCount)
        {
            #region
            DBConditions querybusinessparams = new DBConditions(pageparams);
            querybusinessparams.Add(OrganizationData.organizationId, EnumSqlType.sqlint,
                                    EnumCondition.Equal, organization.organizationId);
            querybusinessparams.Add(OrganizationData.userid, EnumSqlType.sqlint,
                                    EnumCondition.Equal, organization.userid);
            querybusinessparams.Add(OrganizationData.organizationName, EnumSqlType.nvarchar,
                                    EnumCondition.Equal, organization.organizationName);
            querybusinessparams.Add(OrganizationData.currentId, EnumSqlType.sqlint,
                                    EnumCondition.Equal, organization.currentId);
            querybusinessparams.Add(OrganizationData.parentId, EnumSqlType.sqlint,
                                    EnumCondition.Equal, organization.parentId);
            querybusinessparams.Add(OrganizationData.usable, EnumSqlType.bit,
                                    EnumCondition.Equal, organization.usable);
            querybusinessparams.Add(OrganizationData.writeIp, EnumSqlType.nvarchar,
                                    EnumCondition.Equal, organization.writeIp);
            querybusinessparams.Add(OrganizationData.writeTime, EnumSqlType.datetime,
                                    EnumCondition.Equal, organization.writeTime);
            OrganizationData organizationdata = new OrganizationData();
            totalCount = this._organizationclass.GetSingleT(organizationdata, querybusinessparams);
            return(organizationdata);

            #endregion
        }
示例#3
0
        public bool TryChangeEntityState(EntityOrganization entityOrganization, int entityTransitionId, int?userId = null)
        {
            EntityStateTransition entityTransition = _entityRepository.GetEntityStateTransition(entityTransitionId);

            if (entityOrganization == null ||
                entityTransition == null ||
                entityTransition.EntityStateFromId != entityOrganization.EntityStateId ||
                !_userContext.HasOrganizationStateTransitionAccess(entityOrganization.OrganizationId, entityOrganization.EntityTypeId, entityTransition.Id))
            {
                return(false);
            }

            entityOrganization.EntityStateId = entityTransition.EntityStateToId;

            if (userId == null && _userContext.IsAuthenticated)
            {
                userId = _userContext.User.Id;
            }

            _entityRepository.Add(new EntityProgress
            {
                EntityInfoId        = entityOrganization.EntityInfoId,
                OrganizationId      = entityOrganization.OrganizationId,
                UserId              = userId,
                DateTime            = DateTime.UtcNow,
                EntityStateBeforeId = entityTransition.EntityStateFromId,
                EntityStateAfterId  = entityTransition.EntityStateToId
            });

            return(true);
        }
示例#4
0
        private EntityStateTransition ChangeEntityState(EntityInfo entityInfo, int entityStateTransitionId, int?organizationId, int?userId)
        {
            EntityStateTransition actualTransition   = null;
            EntityOrganization    entityOrganization = GetEntityOrganization(entityInfo, organizationId);

            if (entityOrganization != null)
            {
                EntityState           entityState = _entityRepository.GetEntityState(entityOrganization.EntityStateId);
                EntityStateTransition transition  = entityState.TransitionsFrom.SingleOrDefault(t => t.EntityStateToId == entityStateTransitionId);
                if (userId == null && _userContext.IsAuthenticated)
                {
                    userId = _userContext.User.Id;
                }
                if (transition != null)
                {
                    AddEntityProgress(
                        entityInfo,
                        new EntityProgress
                    {
                        UserId              = userId,
                        DateTime            = DateTime.UtcNow,
                        OrganizationId      = entityOrganization.OrganizationId,
                        EntityStateBeforeId = transition.EntityStateFromId,
                        EntityStateAfterId  = transition.EntityStateToId
                    }
                        );
                    entityOrganization.EntityStateId = transition.EntityStateToId;

                    actualTransition = transition;
                }
            }
            return(actualTransition);
        }
示例#5
0
        /****************************************
         ***生成器版本:V1.0.1.31494
         ***生成时间:2013-04-06 17:31:07
         ***公司:山西ICat Studio有限公司
         ***友情提示:以下代码为生成器自动生成,可做参照修改之用;
         ***         如需有其他业务要求,可在region外添加新方法;
         ***         如发现任何编译和运行时错误,请联系QQ:330669393。
         *****************************************/

        #region public members methods

        /// <summary>
        /// 根据条件筛选所有Organization指定页码的数据(分页型)
        /// </summary>
        /// <param name="organization">实体对象</param>
        /// <param name="pageparams">分页对象</param>
        /// <returns></returns>
        public string GetJsonByPage(EntityOrganization organization, PageParams pageparams)
        {
            #region
            int totalCount = 0;
            OrganizationClass organizationclass = new OrganizationClass();
            DataSet           organizationdata  = this.GetData(organization, pageparams, out totalCount);
            return(base.GetJson(organizationdata, totalCount));

            #endregion
        }
示例#6
0
        /// <summary>
        /// 将符合查询的数据导出Excel
        /// </summary>
        /// <param name="filename"></param>
        /// <param name="grid"></param>
        /// <param name="httplink"></param>
        public void OutputExcel(string filename, ExtjsGrid grid, EntityOrganization organization)
        {
            #region
            int        totalcount  = 0;
            PageParams queryparams = new PageParams(1, 65536);
            DataSet    ds          = this.GetData(organization, queryparams, out totalcount);

            ExportExcel exportexcel = new ExportExcel(filename, ds, grid);
            exportexcel.Output();
            #endregion
        }
示例#7
0
 /// <summary>
 /// 添加Organization表行数据(如主键为非自增型字段,则自行修改代码)
 /// </summary>
 /// <param name="organizationdata">数据集对象</param>
 /// <param name="organization">实体对象</param>
 public void AddRow(ref OrganizationData organizationdata, EntityOrganization organization)
 {
     #region
     DataRow dr = organizationdata.Tables[0].NewRow();
     organizationdata.Assign(dr, OrganizationData.organizationId, organization.organizationId);
     organizationdata.Assign(dr, OrganizationData.userid, organization.userid);
     organizationdata.Assign(dr, OrganizationData.organizationName, organization.organizationName);
     organizationdata.Assign(dr, OrganizationData.currentId, organization.currentId);
     organizationdata.Assign(dr, OrganizationData.parentId, organization.parentId);
     organizationdata.Assign(dr, OrganizationData.usable, organization.usable);
     organizationdata.Assign(dr, OrganizationData.writeIp, organization.writeIp);
     organizationdata.Assign(dr, OrganizationData.writeTime, organization.writeTime);
     organizationdata.Tables[0].Rows.Add(dr);
     #endregion
 }
示例#8
0
 /// <summary>
 /// 编辑organizationdata数据集中指定的行数据
 /// </summary>
 /// <param name="organizationdata">数据集对象</param>
 /// <param name="organization">实体对象</param>
 public void EditRow(ref OrganizationData organizationdata, EntityOrganization organization)
 {
     #region
     if (organizationdata.Tables[0].Rows.Count <= 0)
     {
         organizationdata = this.getData(organization.organizationId);
     }
     DataRow dr = organizationdata.Tables[0].Rows.Find(new object[1] {
         organization.organizationId
     });
     organizationdata.Assign(dr, OrganizationData.organizationId, organization.organizationId);
     organizationdata.Assign(dr, OrganizationData.userid, organization.userid);
     organizationdata.Assign(dr, OrganizationData.organizationName, organization.organizationName);
     organizationdata.Assign(dr, OrganizationData.currentId, organization.currentId);
     organizationdata.Assign(dr, OrganizationData.parentId, organization.parentId);
     organizationdata.Assign(dr, OrganizationData.usable, organization.usable);
     organizationdata.Assign(dr, OrganizationData.writeIp, organization.writeIp);
     organizationdata.Assign(dr, OrganizationData.writeTime, organization.writeTime);
     #endregion
 }
示例#9
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();
                }
            }
        }
示例#10
0
 protected override void GetEntity()
 {
     Entity             = Mapper.Map <ApplicationUser>(Request);
     _entityOrganiztion = Repository.GetOne <EntityOrganization>(a => a.Id == Request.ActiveEntityOrganizationId);
 }
示例#11
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();
                }
            }
        }
示例#12
0
        public bool TryChangeEntityState(int entityInfoId, int organizationId, int entityTransitionId, int?userId = null)
        {
            EntityOrganization entityOrganization = _entityRepository.GetEntityOrganization(entityInfoId, organizationId);

            return(TryChangeEntityState(entityOrganization, entityTransitionId, userId));
        }
示例#13
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();
                }
            }
        }