Create the user interface for the Customers form.
using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using SUP101;
namespace SUP101
{
public partial class Customers : Form
{
public Customers()
{
InitializeComponent();
}
//Click event for Sync button in Customers screen
private void button1_Click(object sender, EventArgs e)
{
if (!SUP101DB.DatabaseExists())
{
//This creates the database.
SUP101DB.CreateDatabase();
}
try
{
//This calls SUP101, the package database, user name and password to connect to the Unwired Server.
//If your login name and password is different, then the changes must be reflected here.
//The default is used below.
SUP101DB.LoginToSync("supAdmin", "s3pAdmin");
SUP101DB.SubmitPendingOperations();
SUP101DB.Synchronize();
AddString("Synchronization completed.");
}
catch (Exception ex)
{
List<LogRecordImpl> lrs = LogRecordImpl.FindWithQuery(new Sybase.Persistence.Query());
AddString("log record count=" + lrs.Count);
for (int i = 0; i < lrs.Count; i++)
{
AddString(lrs[i].Message);
}
}
AddListView();
}
private void AddString(String s)
{
textBox1.Text += s + "\r\n";
textBox1.SelectionStart = textBox1.Text.Length;
textBox1.ScrollToCaret();
textBox1.Refresh();
}
//Click event for Refresh button in Customers screen
private void refresh_Click(object sender, EventArgs e)
{
//Check if "default" synchronization group has been synchronized.
//All MBOs not specificly put inside any synchronization group in eclipse tooling, will be put inside "default" synchronization group
//In the example, Customer MBO is in default synchronization group
if (SUP101DB.IsSynchronized("default"))
{
Cursor.Current = Cursors.WaitCursor;
AddString("Refresh data");
AddDataToListView();
Cursor.Current = Cursors.Default;
}
else
{
AddString("Please synchronize first.");
}
}
private void AddListView()
{
this.listView1.Clear();
listView1.Columns.Add("Id", listView1.Width / 4, HorizontalAlignment.Left);
listView1.Columns.Add("First Name", listView1.Width / 3, HorizontalAlignment.Center);
listView1.Columns.Add("Last Name", listView1.Width / 3, HorizontalAlignment.Right);
listView1.View = View.Details;
listView1.FullRowSelect = true;
}
private void AddDataToListView()
{
this.listView1.Clear();
listView1.Columns.Add("Id", listView1.Width / 4, HorizontalAlignment.Left);
listView1.Columns.Add("First Name", listView1.Width / 3, HorizontalAlignment.Center);
listView1.Columns.Add("Last Name", listView1.Width / 3, HorizontalAlignment.Right);
listView1.View = View.Details;
listView1.FullRowSelect = true;
List<Customer> c = Customer.FindAll();
if (c.Count > 0)
{
for (int i = 0; i < c.Count; i++)
{
ListViewItem item = new ListViewItem(c[i].Id.ToString());
item.SubItems.Add(c[i].Fname);
item.SubItems.Add(c[i].Lname);
listView1.Items.Add(item);
}
}
}
//Click event for Update button in Customers screen
private void update_Click(object sender, EventArgs e)
{
if (listView1.FocusedItem != null)
{
Program.setCustomer(listView1.FocusedItem.Text);
Program.getForm2().Visible = true;
Program.getForm1().Visible = false;
}
else
MessageBox.Show("Please select a row.");
}
}
}