using Api.Framework; using Api.Framework.Model; using Api.Framework.Tools; using DevExpress.XtraEditors; using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using UI.Framework.Forms; namespace FLSystem.Forms { public partial class member_inviter_control : BaseForm { private int id = 0; public member_inviter_control(int id) { InitializeComponent(); this.id = id; } List groups = null; private void member_inviter_control_Load(object sender, EventArgs e) { try { if (id != 0) { var session = ApiClient.GetSession(); var member = session.FindMemberInfoById(id); if (member == null) return; this.pageControl1.Bind(delegate (int page, int pagesize) { try { session = ApiClient.GetSession(); this.groups = session.FindGroups(); var map = session.NewParamMap(); map.setPageParamters(page, pagesize); string where = string.Empty; where = " where inviter_id = @inviter_id"; map.setParameter("inviter_id", member.id); if (!string.IsNullOrEmpty(this.textEdit1.Text)) { switch (this.comboBoxEdit1.Text) { case "客户账号": { where += " and username = @username "; map.setParameter("username", this.textEdit1.Text); break; } case "客户昵称": { where += " and usernick like @usernick or remark like @remark"; map.setParameter("usernick", "%" + this.textEdit1.Text + "%"); map.setParameter("remark", "%" + this.textEdit1.Text + "%"); break; } case "客户编号": { where += " and id = @id "; map.setParameter("id", this.textEdit1.Text); break; } case "支付宝账号": { where += " and alipay_num = @alipay_num"; map.setParameter("alipay_num", this.textEdit1.Text); break; } case "支付宝姓名": { where += " and alipay_name = @alipay_name"; map.setParameter("alipay_name", this.textEdit1.Text); break; } case "上级编号": { where += " and inviter_id = @inviter_id"; map.setParameter("inviter_id", this.textEdit1.Text); break; } case "上级账号": { var friend = session.FindSingle("select * from fl_member_info where username = @username", new { username = this.textEdit1.Text }); where += " and inviter_id = @inviter_id"; map.setParameter(" inviter_id", friend != null ? friend.id : 0); break; } case "上级昵称": { var friend = session.FindSingle("usernick like @usernick", new { usernick = "%" + this.textEdit1.Text + "%" }); where += " and inviter_id = @inviter_id"; map.setParameter("inviter_id", friend != null ? friend.id : 0); break; } } } switch (this.comboBoxEdit2.Text) { case "最近新增": { map.setOrderFields("crt_time", true); break; } case "最早聊天": { map.setOrderFields("upd_time", true); break; } case "最近聊天": { map.setOrderFields("upd_time", false); break; } case "消费最多": { map.setOrderFields("buy_point", true); break; } } var rest = session.FindPage($"select * from fl_member_info {where} ", map); return new UI.Framework.Controls.PageControl.SerchResult() { Result = rest.DataList, Total = rest.Total }; } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "搜索标题", MessageBoxButtons.OK, MessageBoxIcon.Error); } return new UI.Framework.Controls.PageControl.SerchResult() { Result = null, Total = 0 }; }, this.gridControl1, 50, true, true); } } catch (Exception ex) { ShowError(ex); } } private void simpleButton1_Click(object sender, EventArgs e) { this.pageControl1.GotoPage(1); } private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e) { if (e.Column.Caption == "邀请人编号" && e.Value.ToString() == "0") e.DisplayText = "无"; } private void gridView1_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e) { if (e.Column.Caption == "分组等级") { var row = e.Row as fl_member_info; if (row != null) { var group = groups.FirstOrDefault(f => f.id == row.group_id); e.Value = group == null ? "未分组" : group.name; } } } private void comboBoxEdit1_SelectedIndexChanged(object sender, EventArgs e) { this.textEdit1.Enabled = comboBoxEdit1.SelectedIndex != 0; if (!textEdit1.Enabled) textEdit1.Text = string.Empty; } } }