Beispiel #1
0
        /// <summary>
        /// 查询平台在线客服设置
        /// </summary>
        public static OnLineCustomer Query(Guid company, PublishRoles roles)
        {
            //Guid company = QueryPlatForm();
            var reposity = Factory.CreateOnLineCustomerRepository();

            return(reposity.Query(company, roles));
        }
Beispiel #2
0
        public OnLineCustomer Query(Guid company, PublishRoles role)
        {
            OnLineCustomer view = null;
            string         sql  = "SELECT [T_OnLineCustomer].[Title],[T_OnLineCustomer].[Content],[T_DivideGroupManage].[Id],[T_DivideGroupManage].[Name],[T_DivideGroupManage].[Description]," +
                                  "[T_DivideGroupManage].[SortLevel] " +
                                  "FROM [T_OnLineCustomer] LEFT JOIN [T_DivideGroupManage] ON [T_DivideGroupManage].[Company]=[T_OnLineCustomer].[Company] " +
                                  "WHERE [T_OnLineCustomer].[Company]=@Company AND [T_OnLineCustomer].[PublishRole]=@Role ORDER BY [T_DivideGroupManage].[SortLevel]";

            using (var dbOperator = new DbOperator(Provider, ConnectionString)) {
                dbOperator.AddParameter("Company", company);
                dbOperator.AddParameter("Role", (int)role);
                using (var reader = dbOperator.ExecuteReader(sql)) {
                    var divideGroup = new List <DivideGroupManage>();
                    while (reader.Read())
                    {
                        view         = new OnLineCustomer();
                        view.Title   = reader.GetString(0);
                        view.Content = reader.GetString(1);
                        if (!reader.IsDBNull(2))
                        {
                            var model = new DivideGroupManage(reader.GetGuid(2));
                            model.Name        = reader.GetString(3);
                            model.Description = reader.IsDBNull(4) ? string.Empty : reader.GetString(4);
                            model.SortLevel   = reader.GetInt32(5);
                            divideGroup.Add(model);
                        }
                    }
                    if (divideGroup.Count > 0)
                    {
                        view.DivideGroupManage = divideGroup;
                    }
                }
            }
            return(view);
        }
Beispiel #3
0
        /// <summary>
        /// 插入分组信息
        /// </summary>
        /// <param name="online">在线服务Id</param>
        /// <param name="view">分组信息</param>
        /// <param name="operatorAccount">操作员帐号</param>
        public static void InsertDivideGroup(Guid online, DivideGroupView view, PublishRoles role, string operatorAccount)
        {
            var reposity = Factory.CreateOnLineCustomerRepository();

            reposity.InsertDivideGroup(online, view);
            // 记录日志
            OperatorRole operatorRole = getOperatorRole(role);
            string       content      = string.Format("在线客服Id{0},分组名称{1},分组描述{2},分组排序{3}", online, view.Name, view.Description, view.SortLevel);

            saveAddLog("分组信息", content, operatorRole, view.Id.ToString(), operatorAccount);
        }
Beispiel #4
0
        /// <summary>
        /// 删除成员管理信息
        /// </summary>
        /// <param name="member">成员管理Id</param>
        /// <param name="operatorAccount">操作员帐号</param>
        public static void DeleteMember(Guid member, PublishRoles role, string operatorAccount)
        {
            var view     = OnLineCustomerService.QueryMember(member);
            var reposity = Factory.CreateOnLineCustomerRepository();

            reposity.DeleteMember(member);
            // 记录日志
            OperatorRole operatorRole = getOperatorRole(role);
            string       content      = string.Format("成员说明:{0},成员QQ:{1}", view.Remark, view.QQ.Join(","));

            saveDeleteLog("成员管理", content, operatorRole, member.ToString(), operatorAccount);
        }
Beispiel #5
0
        /// <summary>
        /// 删除分组信息
        /// </summary>
        /// <param name="divideGrop">分组Id</param>
        /// <param name="operatorAccount">操作员帐号</param>
        public static void DeleteDivideGroup(Guid divideGrop, PublishRoles role, string operatorAccount)
        {
            var view     = OnLineCustomerService.QueryDivideGroup(divideGrop);
            var reposity = Factory.CreateOnLineCustomerRepository();

            reposity.DeleteDivideGroup(divideGrop);
            // 记录日志
            OperatorRole operatorRole = getOperatorRole(role);
            string       content      = string.Format("分组名称:{0},分组描述:{1},分组排序:{2}", view.Name, view.Description, view.SortLevel);

            saveDeleteLog("分组信息", content, operatorRole, divideGrop.ToString(), operatorAccount);
        }
Beispiel #6
0
        /// <summary>
        /// 更新分组信息
        /// </summary>
        /// <param name="divideGroup">分组信息Id</param>
        /// <param name="view">分组信息</param>
        /// <param name="operatorAccount">操作员帐号</param>
        public static void UpdateDivideGroup(DivideGroupView view, PublishRoles role, string operatorAccount)
        {
            var oldView  = OnLineCustomerService.QueryDivideGroup(view.Id);
            var reposity = Factory.CreateOnLineCustomerRepository();

            reposity.UpdateDivideGroup(view);
            // 记录日志
            OperatorRole operatorRole    = getOperatorRole(role);
            string       originalContent = string.Format("分组名称:{0},分组描述:{1},分组排序:{2}", oldView.Name, oldView.Description, oldView.SortLevel);
            string       newContent      = string.Format("分组名称:{0},分组描述:{1},分组排序:{2}", view.Name, view.Description, view.SortLevel);

            saveUpdateLog("分组信息", originalContent, newContent, operatorRole, view.Id.ToString(), operatorAccount);
        }
Beispiel #7
0
        public int SaveOnLine(Guid company, PublishRoles role, OnLineCustomerView view)
        {
            string sql = "IF EXISTS(SELECT NULL FROM [dbo].[T_OnLineCustomer] WHERE [Company]=@Company) UPDATE[dbo].[T_OnLineCustomer] SET [Title]=@Title," +
                         "[Content]=@Content,[PublishRole]=@PublishRole WHERE [Company]=@Company ELSE INSERT INTO [dbo].[T_OnLineCustomer](Title,Content,PublishRole,Company)" +
                         " VALUES(@Title,@Content,@PublishRole,@Company)";

            using (var dbOperator = new DbOperator(Provider, ConnectionString)) {
                dbOperator.AddParameter("Company", company);
                dbOperator.AddParameter("Title", view.Title);
                dbOperator.AddParameter("Content", view.Content);
                dbOperator.AddParameter("PublishRole", (int)role);
                return(dbOperator.ExecuteNonQuery(sql));
            }
        }
Beispiel #8
0
        static OperatorRole getOperatorRole(PublishRoles role)
        {
            switch (role)
            {
            case PublishRoles.OEM:
                return(OperatorRole.Provider);

            case PublishRoles.平台:
                return(OperatorRole.Platform);

            default:
                throw new NotSupportedException(role.ToString());
            }
        }
Beispiel #9
0
        /// <summary>
        /// 插入成员管理
        /// </summary>
        /// <param name="divideGroup">分组信息Id</param>
        /// <param name="view">成员管理信息</param>
        /// <param name="operatorAccount">操作员帐号</param>
        public static void InsertMember(Guid divideGroup, MemberView view, PublishRoles role, string operatorAccount)
        {
            var model = new MemberManage(view.Id);

            model.Remark    = view.Remark;
            model.QQ        = view.QQ;
            model.SortLevel = view.SortLevel;
            var reposity = Factory.CreateOnLineCustomerRepository();

            reposity.InsertMember(divideGroup, model);
            // 记录日志
            OperatorRole operatorRole = getOperatorRole(role);
            string       content      = string.Format("分组Id:{0},成员说明:{1},成员QQ:{2}", divideGroup, view.Remark, view.QQ.Join(","));

            saveAddLog("成员信息", content, operatorRole, view.Id.ToString(), operatorAccount);
        }
Beispiel #10
0
 protected void Page_Load(object sender, EventArgs e)
 {
     RegisterOEMSkins("core.css");
     RegisterOEMSkins("from.css");
     RegisterOEMSkins("page.css");
     if (!IsPostBack)
     {
         Guid           companyId      = isOem()? BasePage.OEM.CompanyId : OnLineCustomerService.QueryPlatForm();
         PublishRoles   publishRoles   = isOem() ? PublishRoles.OEM : PublishRoles.平台;
         OnLineCustomer onLineCustomer = OnLineCustomerService.Query(companyId, publishRoles);
         if (onLineCustomer != null)
         {
             this.lblTitle.Text   = onLineCustomer.Title;
             this.lblContent.Text = onLineCustomer.Content;
             BindDividGroup(onLineCustomer);
         }
     }
 }
Beispiel #11
0
        /// <summary>
        /// 更新成员管理信息
        /// </summary>
        /// <param name="member">成员管理Id</param>
        /// <param name="view">成员管理Id</param>
        /// <param name="operatorAccount"></param>
        public static void UpdateMember(MemberView view, PublishRoles role, string operatorAccount)
        {
            var member = OnLineCustomerService.QueryMember(view.Id);
            var model  = new MemberManage(view.Id);

            model.QQ        = view.QQ;
            model.Remark    = view.Remark;
            model.SortLevel = view.SortLevel;
            var reposity = Factory.CreateOnLineCustomerRepository();

            reposity.UpdateMember(model);
            // 记录日志
            OperatorRole operatorRole    = getOperatorRole(role);
            string       originalContent = string.Format("成员说明:{0},成员QQ:{1}", member.Remark, member.QQ.Join(","));
            string       newContent      = string.Format("成员说明:{0},成员QQ:{1}", view.Remark, view.QQ.Join(","));

            saveUpdateLog("成员信息", originalContent, newContent, operatorRole, view.Id.ToString(), operatorAccount);
        }
Beispiel #12
0
        /// <summary>
        /// 保存平台发布的在线服务
        /// </summary>
        /// <param name="view">在线服务信息</param>
        /// <param name="operatorAccount">操作员帐号</param>
        /// <param name="publishRoles">发布角色</param>
        public static void SavePlatForm(Guid company, OnLineCustomerView view, string operatorAccount, PublishRoles publishRoles)
        {
            var reposity = Factory.CreateOnLineCustomerRepository();

            reposity.SaveOnLine(company, publishRoles, view);
            // 记录日志
            string content = string.Format("标题:{0},内容:{1},公司Id{2},发布角色{3}", view.Title, view.Content, company, OperatorRole.Platform.GetDescription());

            saveAddLog("在线客服", content, OperatorRole.Platform, company.ToString(), operatorAccount);
        }