Ejemplo n.º 1
0
        /// <summary>创建新的对象</summary>
        /// <param name="doc">Xml 文档对象</param>
        /// <returns>返回操作结果</returns>
        public string CreateNewObject(XmlDocument doc)
        {
            StringBuilder outString = new StringBuilder();

            string applicationId = XmlHelper.Fetch("applicationId", doc);

            string applicationSettingGroupId = XmlHelper.Fetch("applicationSettingGroupId", doc);

            ApplicationMethodInfo param = new ApplicationMethodInfo();

            param.Id = DigitalNumberContext.Generate("Key_Guid");

            param.ApplicationId = applicationId;
            param.Type          = "generic";
            param.Version       = 1;

            param.Status = 1;

            param.CreatedDate = param.ModifiedDate = DateTime.Now;

            outString.Append("{\"data\":" + AjaxUtil.Parse <ApplicationMethodInfo>(param) + ",");

            outString.Append(MessageObject.Stringify("0", I18n.Strings["msg_query_success"], true) + "}");

            return(outString.ToString());
        }
        /// <summary>创建新的对象</summary>
        /// <param name="doc">Xml 文档对象</param>
        /// <returns>返回操作结果</returns>
        public string CreateNewObject(XmlDocument doc)
        {
            StringBuilder outString = new StringBuilder();

            string parentId = XmlHelper.Fetch("parentId", doc);

            OrganizationUnitInfo param = new OrganizationUnitInfo();

            param.Id = DigitalNumberContext.Generate("Key_Guid");

            param.ParentId = parentId;

            // 默认的类型为部门
            param.Type = 1;

            param.Status = 1;

            param.ModifiedDate = param.CreatedDate = DateTime.Now;

            outString.Append("{\"data\":" + AjaxUtil.Parse <IOrganizationUnitInfo>(param) + ",");

            outString.Append(MessageObject.Stringify("0", I18n.Strings["msg_query_success"], true) + "}");

            return(outString.ToString());
        }
        /// <summary>邀请好友</summary>
        /// <param name="accountId">帐号标识</param>
        /// <param name="friendAccountId">帐号标识</param>
        /// <param name="reason">原因</param>
        public int Invite(string accountId, string friendAccountId, string reason)
        {
            accountId       = StringHelper.ToSafeSQL(accountId);
            friendAccountId = StringHelper.ToSafeSQL(friendAccountId);

            if (!this.IsExist(accountId, friendAccountId))
            {
                // 加入好友
                this.ibatisMapper.Insert(StringHelper.ToProcedurePrefix(string.Format("{0}_Insert", tableName)),
                                         new AccountFriendInfo()
                {
                    AccountId = accountId, FriendAccountId = friendAccountId, Status = 0
                });

                // 加入好友邀请列表

                Dictionary <string, object> args = new Dictionary <string, object>();

                // 同意好友的邀请关系
                args.Add("Id", DigitalNumberContext.Generate("Key_Guid"));
                args.Add("AccountId", friendAccountId);
                args.Add("FriendAccountId", accountId);
                args.Add("Reason", reason);
                args.Add("Status", 0);

                this.ibatisMapper.Insert(StringHelper.ToProcedurePrefix(string.Format("{0}_Accept_Insert", tableName)), args);
            }

            return(0);
        }
Ejemplo n.º 4
0
        /// <summary>推荐给某人</summary>
        /// <param name="doc"></param>
        /// <returns></returns>
        public string RecommendToUser(XmlDocument doc)
        {
            string name        = XmlHelper.Fetch("name", doc);
            string category    = XmlHelper.Fetch("category", doc);
            string sendTaskUrl = XmlHelper.Fetch("sendTaskUrl", doc);
            string recommendAuthorizationObjectText = XmlHelper.Fetch("recommendAuthorizationObjectText", doc);

            string[] recommendAuthorizationObjectTextArray = recommendAuthorizationObjectText.Split(new char[] { ',', ';' }, StringSplitOptions.RemoveEmptyEntries);

            for (int i = 0; i < recommendAuthorizationObjectTextArray.Length; i++)
            {
                string[] authorizationArray = recommendAuthorizationObjectTextArray[i].Split(new char[] { '#' }, StringSplitOptions.RemoveEmptyEntries);

                //待办
                string applicationId = "00000000-0000-0000-0000-000000000178";
                string type          = "4";
                string senderId      = KernelContext.Current.User.Id;
                string receiverId    = authorizationArray[1];
                string title         = string.Format("[推荐]{0}推荐了{1}[{2}]", KernelContext.Current.User.Name, name, category);
                string content       = sendTaskUrl;

                TasksContext.Instance.TaskWorkService.Send(applicationId, DigitalNumberContext.Generate("Key_Guid"), type, title, content, category, senderId, receiverId);
            }

            return("{\"data\":\"\",\"message\":{\"returnCode\":0,\"value\":\"推荐成功。\"}}");
        }
        private IRoleInfo CreateNewRole(string standardGeneralRoleId, string organizationId)
        {
            IStandardGeneralRoleInfo standardGeneralRole = this.FindOne(standardGeneralRoleId);

            IOrganizationUnitInfo organization = MembershipManagement.Instance.OrganizationUnitService.FindOne(organizationId);

            RoleInfo role = new RoleInfo();

            role.Id   = DigitalNumberContext.Generate("Key_Guid");
            role.Name = organization.GlobalName + "_" + standardGeneralRole.Name;
            role.OrganizationUnitId = organizationId;
            role.StandardRoleId     = string.Empty;
            role.Type    = 65536; // 内部虚拟角色
            role.Locking = 0;     // 非锁定
            role.Status  = 1;

            string name = role.Name;

            int count = 1;

            while (MembershipManagement.Instance.RoleService.IsExistName(role.Name))
            {
                role.Name = name + count++;

                // 避免陷入死循环, 当循环超过10次时返回空值.
                if (count > 10)
                {
                    return(null);
                }
            }

            return(MembershipManagement.Instance.RoleService.Save(role));
        }
Ejemplo n.º 6
0
        /// <summary>提交界面</summary>
        /// <returns></returns>
        public ActionResult Form(string options)
        {
            // 所属应用信息
            ApplicationInfo application = ViewBag.application = AppsContext.Instance.ApplicationService[EntitiesConfiguration.ApplicationName];

            JsonData request = JsonMapper.ToObject(options == null ? "{}" : options);

            string id = !request.Keys.Contains("id") ? string.Empty : request["id"].ToString();

            EntitySchemaInfo param = null;

            if (string.IsNullOrEmpty(id))
            {
                IAccountInfo account = KernelContext.Current.User;

                param = new EntitySchemaInfo();

                param.Id          = DigitalNumberContext.Generate("Key_Guid");
                param.Status      = 1;
                param.CreatedDate = param.ModifiedDate = DateTime.Now;
            }
            else
            {
                param = EntitiesManagement.Instance.EntitySchemaService.FindOne(id);
            }

            ViewBag.param = param;

            // 视图
            return(View("/views/main/entities/entity-schema-form.cshtml"));
        }
        /// <summary>创建新的对象</summary>
        /// <param name="doc">Xml 文档对象</param>
        /// <returns>返回操作结果</returns>
        public string CreateNewObject(XmlDocument doc)
        {
            StringBuilder outString = new StringBuilder();

            string treeViewId = XmlHelper.Fetch("treeViewId", doc);

            string CatalogItemId = XmlHelper.Fetch("CatalogItemId", doc);

            StandardGeneralRoleInfo param = new StandardGeneralRoleInfo();

            param.Id = DigitalNumberContext.Generate("Key_Guid");

            param.CatalogItemId = string.IsNullOrEmpty(CatalogItemId) ? treeViewId : CatalogItemId;

            param.Locking = 1;

            param.Status = 1;

            param.ModifiedDate = param.CreatedDate = DateTime.Now;

            outString.Append("{\"data\":" + AjaxUtil.Parse <StandardGeneralRoleInfo>(param) + ",");

            outString.Append(MessageObject.Stringify("0", I18n.Strings["msg_query_success"], true) + "}");

            return(outString.ToString());
        }
        private IOrganizationUnitService service = MembershipManagement.Instance.OrganizationUnitService; // 数据服务

        // -------------------------------------------------------
        // 保存 删除
        // -------------------------------------------------------

        #region 函数:Save(XmlDocument doc)
        /// <summary>保存记录</summary>
        /// <param name="doc">Xml 文档对象</param>
        /// <returns>返回操作结果</returns>
        public string Save(XmlDocument doc)
        {
            IOrganizationUnitInfo param = new OrganizationUnitInfo();

            param = (IOrganizationUnitInfo)AjaxUtil.Deserialize <IOrganizationUnitInfo>(param, doc);

            string originalName       = XmlHelper.Fetch("originalName", doc);
            string originalGlobalName = XmlHelper.Fetch("originalGlobalName", doc);

            if (string.IsNullOrEmpty(param.Name))
            {
                return("{message:{\"returnCode\":1,\"value\":\"名称不能为空。\"}}");
            }

            if (string.IsNullOrEmpty(param.GlobalName))
            {
                return("{message:{\"returnCode\":1,\"value\":\"全局名称不能为空。\"}}");
            }

            if (string.IsNullOrEmpty(param.Id))
            {
                // 新增

                if (this.service.IsExistGlobalName(param.GlobalName))
                {
                    return("{message:{\"returnCode\":1,\"value\":\"此全局名称已存在。\"}}");
                }

                param.Id = DigitalNumberContext.Generate("Key_Guid");
            }
            else
            {
                // 修改

                if (param.GlobalName != originalGlobalName)
                {
                    if (this.service.IsExistGlobalName(param.GlobalName))
                    {
                        return("{message:{\"returnCode\":1,\"value\":\"此全局名称已存在。\"}}");
                    }
                }

                if (param.Name != originalName)
                {
                    IList <IOrganizationUnitInfo> list = MembershipManagement.Instance.OrganizationUnitService.FindAllByParentId(param.ParentId);

                    foreach (IOrganizationUnitInfo item in list)
                    {
                        if (item.Name == param.Name)
                        {
                            return("{message:{\"returnCode\":1,\"value\":\"此父级组织下面已已存在相同名称组织.\"}}");
                        }
                    }
                }
            }

            this.service.Save(param);

            return("{message:{\"returnCode\":0,\"value\":\"保存成功。\"}}");
        }
        /// <summary>提交界面</summary>
        /// <returns></returns>
        public ActionResult Form(string options)
        {
            // 所属应用信息
            ApplicationInfo application = ViewBag.application = AppsContext.Instance.ApplicationService[BugConfiguration.ApplicationName];

            JsonData request = JsonMapper.ToObject(options == null ? "{}" : options);

            string id = !request.Keys.Contains("id") ? string.Empty : request["id"].ToString();

            BugCategoryInfo param = null;

            if (string.IsNullOrEmpty(id))
            {
                IAccountInfo account = KernelContext.Current.User;

                param = new BugCategoryInfo();

                param.Id          = DigitalNumberContext.Generate("Key_Guid");
                param.AccountId   = account.Id;
                param.CreatedDate = param.ModifiedDate = DateTime.Now;
            }
            else
            {
                param = BugContext.Instance.BugCategoryService[id];
            }

            ViewBag.param = param;

            // 视图
            return(View("/views/main/bugs/bug-category-form.cshtml"));
        }
        // -------------------------------------------------------
        // 保存 删除
        // -------------------------------------------------------

        #region 函数:Save(BugCategoryInfo param)
        /// <summary>保存记录</summary>
        /// <param name="param">实例<see cref="BugCategoryInfo"/>详细信息</param>
        /// <returns>实例<see cref="BugCategoryInfo"/>详细信息</returns>
        public BugCategoryInfo Save(BugCategoryInfo param)
        {
            if (string.IsNullOrEmpty(param.Id))
            {
                throw new Exception("实例标识不能为空。");
            }

            bool isNewObject = !this.IsExist(param.Id);

            string methodName = isNewObject ? "新增" : "编辑";

            IAccountInfo account = KernelContext.Current.User;

            if (methodName == "新增")
            {
                param.AccountId   = account.Id;
                param.AccountName = account.Name;
            }

            this.provider.Save(param);

            // 保存实体数据操作记录
            EntityLifeHistoryInfo history = new EntityLifeHistoryInfo();

            history.Id              = DigitalNumberContext.Generate("Key_Guid");
            history.AccountId       = account.Id;
            history.MethodName      = methodName;
            history.EntityId        = param.Id;
            history.EntityClassName = KernelContext.ParseObjectType(typeof(BugInfo));
            history.ContextDiffLog  = string.Empty;

            EntitiesManagement.Instance.EntityLifeHistoryService.Save(history);

            return(param);
        }
        /// <summary>表单内容界面</summary>
        /// <returns></returns>
        public ActionResult Form(string options)
        {
            // 所属应用信息
            ApplicationInfo application = ViewBag.application = AppsContext.Instance.ApplicationService[BugConfiguration.ApplicationName];

            // 管理员身份标记
            bool isAdminToken = ViewBag.isAdminToken = AppsSecurity.IsAdministrator(this.Account, application.ApplicationName);

            // -------------------------------------------------------
            // 业务数据处理
            // -------------------------------------------------------

            JsonData request = JsonMapper.ToObject(options == null ? "{}" : options);

            // 实体数据标识
            string id = !request.Keys.Contains("id") ? string.Empty : request["id"].ToString();
            // 文档编辑模式
            DocEditMode docEditMode = DocEditMode.Unkown;
            // 实体数据信息
            BugInfo param = null;

            if (string.IsNullOrEmpty(id))
            {
                param = new BugInfo();

                param.Id = DigitalNumberContext.Generate("Table_Bug_Key_Id");

                // 设置编辑模式【新建】
                docEditMode = DocEditMode.New;
            }
            else
            {
                param = BugContext.Instance.BugService.FindOne(id);

                if (param == null)
                {
                    ApplicationError.Write(404);
                }

                // 设置编辑模式【编辑】
                docEditMode = DocEditMode.Edit;
            }

            // -------------------------------------------------------
            // 数据加载
            // -------------------------------------------------------

            ViewBag.Title = string.Format("{0}-{1}-{2}", (string.IsNullOrEmpty(param.Title) ? "新问题" : param.Title), application.ApplicationDisplayName, this.SystemName);

            // 加载当前业务实体类名称
            ViewBag.entityClassName = KernelContext.ParseObjectType(param.GetType());
            // 加载当前业务实体数据
            ViewBag.param = param;
            // 加载当前文档编辑模式
            ViewBag.docEditMode = docEditMode;

            return(View("/views/main/bugs/bug-form.cshtml"));
        }
Ejemplo n.º 12
0
        /// <summary>主页</summary>
        /// <returns></returns>
        public ActionResult Form()
        {
            // 所属应用信息
            ApplicationInfo application = ViewBag.application = AppsContext.Instance.ApplicationService[TasksConfiguration.ApplicationName];

            // 加载新的任务编号
            ViewBag.taskCode = DigitalNumberContext.Generate("Key_Timestamp");

            // 任务管理 主页
            return(View("/views/main/tasks/task-form.cshtml"));
        }
Ejemplo n.º 13
0
        // -------------------------------------------------------
        // 添加 删除
        // -------------------------------------------------------
        #region 函数:Insert(string accountId, string followAccountId)
        /// <summary>
        /// 添加关注用户
        /// </summary>
        /// <param name="accountId">主标识</param>
        /// <param name="followAccountId">添加标识</param>
        public void Insert(string accountId, string followAccountId)
        {
            Dictionary <string, object> args = new Dictionary <string, object>();

            // args.Add("ApplicationStore", ForumUtility.ToDataTablePrefix(applicationTag));
            args.Add("Id", DigitalNumberContext.Generate("Key_Guid"));
            args.Add("AccountId", StringHelper.ToSafeSQL(accountId));
            args.Add("FollowAccountId", StringHelper.ToSafeSQL(followAccountId));

            this.ibatisMapper.Insert(StringHelper.ToProcedurePrefix(string.Format("{0}_Insert", this.tableName)), args);
        }
Ejemplo n.º 14
0
        /// <summary>获取认证的用户信息</summary>
        public override IAccountInfo GetAuthUser()
        {
            string accountIdentity = this.GetIdentityValue();

            // 获取帐号信息
            IAccountInfo account = this.GetSessionAccount(accountIdentity);

            if (account == null)
            {
                // 如果当前帐号为空, 则连接到验证服务器验证用户的会话信息.
                string loginName = GetAccountLoginName();

                // 没有登录信息则返回空
                if (string.IsNullOrEmpty(loginName))
                {
                    return(null);
                }

                account = MembershipManagement.Instance.AccountService.FindOneByLoginName(loginName);

                if (account != null && account.LoginName == loginName)
                {
                    accountIdentity = string.Format("{0}-{1}", account.Id, DigitalNumberContext.Generate("Key_Session"));

                    HttpAuthenticationCookieSetter.SetUserCookies(accountIdentity);

                    // 记录登录时间
                    if (account.LoginDate.AddHours(8) < DateTime.Now)
                    {
                        MembershipManagement.Instance.AccountService.SetIPAndLoginDate(account.Id, IPQueryContext.GetClientIP(), DateTime.Now);
                    }
                }
            }

            if (account == null)
            {
                return(null);
            }

            // 写入临时存储
            if (!this.cacheStorage.ContainsKey(accountIdentity))
            {
                lock (this.cacheSyncRoot)
                {
                    if (!this.cacheStorage.ContainsKey(accountIdentity))
                    {
                        this.AddSession(accountIdentity, account);
                    }
                }
            }

            return(account);
        }
        /// <param name="customTableName">自定义数据表名称</param>
        /// <param name="oldEntityId">旧的实体类标识</param>
        /// <param name="newEntityId">新的实体类标识</param>
        /// <param name="entityClassName">实体类名称</param>
        /// <param name="operationType">操作类型</param>
        public void Copy(string customTableName, string oldEntityId, string newEntityId, string entityClassName, int operationType)
        {
            IList <EntityOperationLogInfo> list = EntitiesManagement.Instance.EntityOperationLogService.FindAllByEntityId(customTableName, oldEntityId, entityClassName, operationType);

            foreach (EntityOperationLogInfo item in list)
            {
                item.Id = DigitalNumberContext.Generate("Key_Guid");

                item.EntityId = newEntityId;

                EntitiesManagement.Instance.EntityOperationLogService.Save(customTableName, item);
            }
        }
Ejemplo n.º 16
0
        /// <summary>异步请求的签名</summary>
        /// <returns></returns>
        public ActionResult XHRSignature()
        {
            string appSecret = Request.QueryString["appSecret"];
            string timestamp = ViewBag.timestamp = Request.QueryString["timestamp"] == null?DateHelper.GetTimestamp().ToString() : Request.QueryString["timestamp"];

            string nonce = ViewBag.nonce = Request.QueryString["nonce"] == null?DigitalNumberContext.Generate("Key_Nonce") : Request.QueryString["nonce"];

            if (!string.IsNullOrEmpty(appSecret))
            {
                ViewBag.appSignature = Encrypter.EncryptSHA1(Encrypter.SortAndConcat(appSecret, timestamp, nonce));
            }
            return(View("/views/main/sdk/xhrsignature.cshtml"));
        }
Ejemplo n.º 17
0
        /// <summary>刷新帐号的访问令牌</summary>
        /// <param name="appKey">应用标识</param>
        /// <param name="refreshToken">刷新令牌</param>
        /// <param name="expireDate">过期时间</param>
        /// <returns></returns>
        public int Refesh(string appKey, string refreshToken, DateTime expireDate)
        {
            Dictionary <string, object> args = new Dictionary <string, object>();

            args.Add("AppKey", StringHelper.ToSafeSQL(appKey, true));
            args.Add("RefreshToken", StringHelper.ToSafeSQL(refreshToken, true));
            args.Add("ExpireDate", expireDate.ToString("yyyy-MM-dd HH:mm:ss"));
            args.Add("NextRefreshToken", DigitalNumberContext.Generate("Key_32DigitGuid"));

            this.ibatisMapper.Update(StringHelper.ToProcedurePrefix(string.Format("{0}_Refresh", tableName)), args);

            return(0);
        }
Ejemplo n.º 18
0
        public void TestSend()
        {
            Uri actionUri = new Uri(this.apiHostPrefix + "/api/task.send.aspx?client_id=" + appKey + "&client_secret=" + appSecret);

            string taskCode = DigitalNumberContext.Generate("Key_Guid");

            string xml = string.Format(@"<?xml version=""1.0"" encoding=""utf-8""?>
<request>
    <applicationId>{0}</applicationId>
    <taskCode>{1}</taskCode>
    <title>测试待办</title>
    <content>http://www.google.com</content>
    <type>1</type>
    <tags>测试标签</tags>
    <senderId>00000000-0000-0000-0000-000000000001</senderId>
    <!-- 接收人范围 -->
    <receivers>
        <!-- 接收人信息 1 -->
        <receiver>
            <!-- 接收人登录名信息 -->
            <loginName>test1</loginName>
        </receiver>
        <!-- 接收人信息 2 -->
        <receiver>
            <!-- 接收人登录名信息 -->
            <loginName>test2</loginName>
        </receiver>
        <!-- 接收人信息 3 -->
        <receiver>
            <!-- 接收人登录名信息 -->
            <loginName>test3</loginName>
        </receiver>
        <!-- 接收人信息 4 -->
        <receiver>
            <!-- 接收人登录名信息 -->
            <loginName>test4</loginName>
        </receiver>
    </receivers>
    <!-- 创建时间 -->
    <createDate>{2}</createDate>
</request>
", appKey, DigitalNumberContext.Generate("Key_Guid"), DateTime.Now);

            // 发送请求信息
            AjaxRequestData reqeustData = new AjaxRequestData();

            reqeustData.ActionUri = actionUri;
            reqeustData.Args.Add("xml", xml);

            string result = AjaxRequest.Request(reqeustData);
        }
        /// <summary>添加记录</summary>
        /// <param name="param">实例<see cref="IGroupInfo"/>详细信息</param>
        public void Insert(IGroupInfo param)
        {
            if (string.IsNullOrEmpty(param.Id))
            {
                param.Id = DigitalNumberContext.Generate("Key_Guid");
            }

            if (string.IsNullOrEmpty(param.Code))
            {
                param.Code = DigitalNumberContext.Generate("Table_Group_Key_Code");
            }

            this.ibatisMapper.Insert(StringHelper.ToProcedurePrefix(string.Format("{0}_Insert", tableName)), param);
        }
        // -------------------------------------------------------
        // 保存 删除
        // -------------------------------------------------------

        #region 函数:Save(XmlDocument doc)
        /// <summary>保存记录</summary>
        /// <param name="doc">Xml 文档对象</param>
        /// <returns>返回操作结果</returns>
        public string Save(XmlDocument doc)
        {
            ContactInfo param = new ContactInfo();

            param           = (ContactInfo)AjaxUtil.Deserialize(param, doc);
            param.Id        = param.Id == "" ? DigitalNumberContext.Generate("Key_Guid") : param.Id;
            param.AccountId = KernelContext.Current.User.Id;
            //param.Tags = string.Empty;
            //param.IconPath = string.Empty;
            param.UpdateDate = System.DateTime.Now;

            this.service.Save(param);

            return(MessageObject.Stringify("0", I18n.Strings["msg_save_success"]));
        }
Ejemplo n.º 21
0
        /// <summary>创建新的对象</summary>
        /// <param name="doc">Xml 文档对象</param>
        /// <returns>返回操作结果</returns>
        public string CreateNewObject(XmlDocument doc)
        {
            StringBuilder outString = new StringBuilder();

            ComputerInfo param = new ComputerInfo();

            param.Id = DigitalNumberContext.Generate("Key_Guid");

            param.ModifiedDate = param.CreatedDate = DateTime.Now;

            outString.Append("{\"data\":" + AjaxUtil.Parse <IComputerInfo>(param) + ",");

            outString.Append("\"message\":{\"returnCode\":0,\"value\":\"创建成功。\"}}");

            return(outString.ToString());
        }
Ejemplo n.º 22
0
        /// <summary>添加记录</summary>
        /// <param name="param">IAccountInfo 实例的详细信息</param>
        public void Insert(IAccountInfo param)
        {
            if (string.IsNullOrEmpty(param.Id))
            {
                param.Id = DigitalNumberContext.Generate("Key_Guid");
            }

            if (string.IsNullOrEmpty(param.Code))
            {
                param.Code = DigitalNumberContext.Generate("Table_Account_Key_Code");
            }

            this.ibatisMapper.Insert(StringHelper.ToProcedurePrefix(string.Format("{0}_Insert", tableName)), param);

            MembershipManagement.Instance.MemberService.Save(new MemberInfo(param.Id, param.Id));
        }
        /// <summary>获取分页内容</summary>
        /// <param name="doc">Xml 文档对象</param>
        /// <returns>返回操作结果</returns>
        public string CreateNewObject(XmlDocument doc)
        {
            StringBuilder outString = new StringBuilder();

            ContactInfo param = new ContactInfo();

            param.Id = DigitalNumberContext.Generate("Key_Guid");

            param.CreateDate = param.UpdateDate = DateTime.Now;

            outString.Append("{\"ajaxStorage\":" + AjaxUtil.Parse <ContactInfo>(param) + ",");

            outString.Append(MessageObject.Stringify("0", I18n.Strings["msg_query_success"], true) + "}");

            return(outString.ToString());
        }
        /// <summary>表单内容界面</summary>
        /// <returns></returns>
        public ActionResult Form(string options)
        {
            // 防止浏览器读取本地缓存数据,强制页面读取服务器端最新数据。
            Response.Cache.SetCacheability(HttpCacheability.NoCache);

            // 所属应用信息
            ApplicationInfo application = ViewBag.application = AppsContext.Instance.ApplicationService[ForumConfiguration.ApplicationName];

            JsonData request = JsonMapper.ToObject(options == null ? "{}" : options);

            string id = !request.Keys.Contains("id") ? string.Empty : request["id"].ToString();

            ForumThreadInfo param = null;

            if (string.IsNullOrEmpty(id))
            {
                IAccountInfo account = KernelContext.Current.User;

                string categoryId = !request.Keys.Contains("categoryId") ? string.Empty : request["categoryId"].ToString();

                ForumCategoryInfo category = ForumContext.Instance.ForumCategoryService.FindOne(categoryId);

                param = new ForumThreadInfo();

                param.Id            = DigitalNumberContext.Generate("Key_Guid");
                param.AccountId     = account.Id;
                param.AccountName   = account.Name;
                param.CategoryId    = category == null ? string.Empty : category.Id;
                param.CategoryIndex = category == null ? string.Empty : category.CategoryIndex;
                param.TopExpiryDate = DateHelper.DefaultTime;
                param.HotExpiryDate = DateHelper.DefaultTime;
                param.Status        = -1;
                param.CreatedDate   = param.ModifiedDate = DateTime.Now;
            }
            else
            {
                param = ForumContext.Instance.ForumThreadService.FindOne(id);
            }

            // 加载当前业务实体数据
            ViewBag.entityClassName = KernelContext.ParseObjectType(param.GetType());
            // 加载当前业务实体数据
            ViewBag.param = param;

            // 视图
            return(View("/views/main/forum/forum-thread-form.cshtml"));
        }
Ejemplo n.º 25
0
        /// <summary>表单</summary>
        /// <returns></returns>
        public ActionResult Form(string options)
        {
            // 测试页面 customizes/customize-page/form?id=442049bb-9bb3-49cc-8a30-2454a56c770e

            // 所属应用信息
            ApplicationInfo application = ViewBag.application = AppsContext.Instance.ApplicationService[WebConfiguration.APP_NAME_CUSTOMIZES];

            // -------------------------------------------------------
            // 身份验证
            // -------------------------------------------------------

            if (!AppsSecurity.IsAdministrator(KernelContext.Current.User, application.ApplicationName))
            {
                ApplicationError.Write(401);
            }

            // -------------------------------------------------------
            // 业务数据处理
            // -------------------------------------------------------

            JsonData request = JsonMapper.ToObject(options == null ? "{}" : options);

            // 实体数据标识
            string id = !request.Keys.Contains("id") ? string.Empty : request["id"].ToString();

            CustomizePageInfo param = null;

            if (string.IsNullOrEmpty(id))
            {
                param = new CustomizePageInfo();

                param.Id = param.Name = DigitalNumberContext.Generate("Key_Guid");

                param.Html = CustomizeContext.Instance.CustomizeLayoutService.GetHtml("default");

                param.CreateDate = param.UpdateDate = DateTime.Now;
            }
            else
            {
                param = CustomizeContext.Instance.CustomizePageService.FindOne(id);
            }

            ViewBag.param = param;

            return(View("/views/main/customizes/customize-page-form.cshtml"));
        }
Ejemplo n.º 26
0
        public virtual string RenderBody()
        {
            velocityContext.Put("account", AccountCard);

            velocityContext.Put("header", renderHeader.ToString());

            velocityContext.Put("buffer", renderBuffer.ToString());

            velocityContext.Put("footer", renderFooter.ToString());
            // 系统名称
            velocityContext.Put("systemName", KernelConfigurationView.Instance.SystemName);
            // 系统状态
            velocityContext.Put("systemStatus", KernelConfigurationView.Instance.SystemStatus);
            // 版本
            velocityContext.Put("version", KernelConfigurationView.Instance.Version);
            // 默认域名
            velocityContext.Put("domain", KernelConfigurationView.Instance.Domain);
            // 身份标识名称
            velocityContext.Put("identityName", KernelContext.Current.AuthenticationManagement.IdentityName);
            // 页面加载次数
            velocityContext.Put("reloadCount", this.reloadCount);
            // 给Session对象赋值,固定取得SessionID
            HttpContext.Current.Session["__session__ticket__"] = this.initializedTime;
            // 会话标识
            velocityContext.Put("session", HttpContext.Current.Session.SessionID);
            // 时间间隔
            velocityContext.Put("timeSpan", DateHelper.GetTimeSpan(this.initializedTime));

            // -------------------------------------------------------
            // 生成签名
            // -------------------------------------------------------

            velocityContext.Put("clientId", KernelConfigurationView.Instance.ApplicationClientId);
            // 时间戳
            velocityContext.Put("timestamp", DateHelper.GetTimestamp());
            // 随机数
            velocityContext.Put("nonce", DigitalNumberContext.Generate("Key_Nonce"));
            // 签名
            velocityContext.Put("clientSignature", Encrypter.EncryptSHA1(Encrypter.SortAndConcat(
                                                                             KernelConfigurationView.Instance.ApplicationClientSecret,
                                                                             velocityContext.Get("timestamp").ToString(),
                                                                             velocityContext.Get("nonce").ToString())));

            return(VelocityManager.Instance.Merge(velocityContext, RenderBodyTemplatePath));
        }
Ejemplo n.º 27
0
        /// <summary>表单</summary>
        /// <returns></returns>
        public ActionResult Form(string options)
        {
            // 所属应用信息
            ApplicationInfo application = ViewBag.application = AppsContext.Instance.ApplicationService[APPLICATION_NAME];

            // -------------------------------------------------------
            // 身份验证
            // -------------------------------------------------------

            if (!AppsSecurity.IsAdministrator(KernelContext.Current.User, application.ApplicationName))
            {
                ApplicationError.Write(401);
            }

            // -------------------------------------------------------
            // 数据加载
            // -------------------------------------------------------

            JsonData request = JsonMapper.ToObject(options);

            string id = JsonHelper.GetDataValue(request, "id");

            ApplicationMenuInfo param = new ApplicationMenuInfo();

            if (string.IsNullOrEmpty(id))
            {
                string applicationId = JsonHelper.GetDataValue(request, "applicationId", "00000000-0000-0000-0000-000000000001");
                string menuId        = JsonHelper.GetDataValue(request, "menuId", "00000000-0000-0000-0000-000000000000");
                string menuType      = JsonHelper.GetDataValue(request, "menuType", "00000000-0000-0000-0000-000000000000");

                param.Id            = DigitalNumberContext.Generate("Key_Guid");
                param.ApplicationId = applicationId;
                param.ParentId      = menuId;
                param.MenuType      = menuType;
                param.Status        = 1;
            }
            else
            {
                param = AppsContext.Instance.ApplicationMenuService.FindOne(id);
            }

            ViewBag.param = param;

            return(View("/views/main/applications/application-menu-form.cshtml"));
        }
        /// <summary>创建新的对象</summary>
        /// <param name="doc">Xml 文档对象</param>
        /// <returns>返回操作结果</returns>
        public string CreateNewObject(XmlDocument doc)
        {
            StringBuilder outString = new StringBuilder();

            ApplicationFeatureDateLimitInfo param = new ApplicationFeatureDateLimitInfo();

            param.Id = DigitalNumberContext.Generate("Key_Guid");

            param.Status = 1;

            param.ModifiedDate = param.CreatedDate = DateTime.Now;

            outString.Append("{\"data\":" + AjaxUtil.Parse <ApplicationFeatureDateLimitInfo>(param) + ",");

            outString.Append(MessageObject.Stringify("0", I18n.Strings["msg_create_success"], true) + "}");

            return(outString.ToString());
        }
        public string CreateNewObject(XmlDocument doc)
        {
            StringBuilder outString = new StringBuilder();

            NavigationPortalShortcutGroupInfo param = new NavigationPortalShortcutGroupInfo();

            param.Id = DigitalNumberContext.Generate("Key_Guid");

            param.Status = 1;

            param.UpdateDate = param.CreateDate = DateTime.Now;

            outString.Append("{\"ajaxStorage\":" + AjaxUtil.Parse <NavigationPortalShortcutGroupInfo>(param) + ",");

            outString.Append("\"message\":{\"returnCode\":0,\"value\":\"�����ɹ���\"}}");

            return(outString.ToString());
        }
Ejemplo n.º 30
0
        /// <summary>保存日志信息</summary>
        /// <param name="accountId">帐号标识</param>
        /// <param name="optionName">操作名称:登录 编辑 删除</param>
        /// <param name="originalObject">原始的对象信息</param>
        /// <param name="description">描述信息</param>
        /// <param name="optionAccountId">操作人的帐号标识</param>
        /// <returns>0 保存成功 | 1 保存失败</returns>
        public int Log(string accountId, string optionName, IAccountInfo originalObject, string description, string optionAccountId)
        {
            IAccountInfo account = KernelContext.Current.User;

            // 保存实体数据操作记录
            AccountLogInfo param = new AccountLogInfo();

            param.Id                  = DigitalNumberContext.Generate("Key_Guid");
            param.AccountId           = accountId;
            param.OperatedBy          = optionAccountId;
            param.OperationName       = optionName;
            param.OriginalObjectValue = originalObject == null ? string.Empty : originalObject.Serializable();
            param.Description         = description;
            param.CreatedDate         = DateTime.Now;

            param = this.Save(param);

            return(param == null ? 1 : 0);
        }