using MongoDB;
using DockSample.DB;
using MongoDB.Driver;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
using MongoDB.Bson;
namespace DockSample
{
public partial class Form2 : DockContent
{
public Form2()
{
InitializeComponent();
}
// workaround of RichTextbox control's bug:
// If load file before the control showed, all the text format will be lost
// re-load the file after it get showed.
private bool m_resetText = true;
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
if (m_resetText)
{
m_resetText = false;
}
}
protected override string GetPersistString()
{
// Add extra information into the persist string for this document
// so that it is available when deserialized.
return GetType().ToString() + ",1123," + Text;
}
private void menuItem2_Click(object sender, System.EventArgs e)
{
MessageBox.Show("This is to demostrate menu item has been successfully merged into the main form. Form Text=" + Text);
}
private void menuItemCheckTest_Click(object sender, System.EventArgs e)
{
}
protected override void OnTextChanged(EventArgs e)
{
base.OnTextChanged(e);
}
private void button1_Click(object sender, EventArgs e)
{
usera u = new usera();
u.cid = 10;
u.name = "测试看看";
WriteConcernResult s = MongoDBHelper.InsertOne("user", u);
label1.Text = s.DocumentsAffected.ToString() + "------" + s.HasLastErrorMessage.ToString();//s.HasLastErrorMessage=false既是表示操作成功!
}
private void button2_Click(object sender, EventArgs e)
{
IMongoQuery query = MongoDB.Driver.Builders.Query.EQ("cid", 9);
// usera u = MongoDBHelper.GetOne<usera>("user", query);
IEnumerable<usera> u = MongoDBHelper.GetAll<usera>("user").Distinct<usera>(new ModelComparer());
//usera u = MongoDBHelper.GetOne<usera>("user", "555993c18825b905c8879edc");
//label1.Text = u.cid.ToString() + "---" + u.name;
foreach(usera ua in u)
{
richTextBox1.AppendText(ua.cid.ToString() + "--" + ua.name + "\r\n");
}
}
private void button3_Click(object sender, EventArgs e)
{
MongoDBHelper.DeleteAll("user");
}
}
public class usera
{
public ObjectId id { get; set; }
public int cid { get; set; }
public string name { get; set; }
}
public class ModelComparer : IEqualityComparer<usera>
{
public bool Equals(usera x, usera y)
{
return x.name.ToUpper() == y.name.ToUpper();
}
public int GetHashCode(usera obj)
{
return obj.name.ToUpper().GetHashCode();
}
}
}