public DMClient(int id, Clients c) { Clients.DMClientsLocalType mc = c.DMClients.Single(t => t.id == id); this.id = id; this.name = mc.Name; this.origUrl = mc.Url; this.created = (DateTime)mc.created; this.modified = (DateTime)mc.modified; if (mc.token != null) { this.token = mc.token; } }
private void btnAdd_Click(object sender, EventArgs e) { AddEdit ae = new AddEdit(); DMClient dmc = new DMClient(); string btnName = (sender as Button).Name; if (btnName.Equals("btnAdd")) { ae.Text = "Add Record"; ae.button1.Text = "Add"; } else { ae.Text = "Edit Record"; ae.button1.Text = "Save"; dmc = new DMClient(((myListItem)cbClients.SelectedItem).id, c); ae.tbName.Text = dmc.name; ae.tbUrl.Text = dmc.origUrl; } DialogResult dr = ae.ShowDialog(); if (dr == DialogResult.OK) { // save or create if (btnName.Equals("btnEdit")) { bool dirty = false; if (!dmc.name.Equals(ae.tbName.Text.Trim())) { dmc.name = ae.tbName.Text.Trim(); c.DMClients.Single(t => t.id == dmc.id).Name = dmc.name; myListItem nItem = new myListItem(dmc.id, dmc.name); cbClients.Items[cbClients.SelectedIndex] = nItem; cbClients.Update(); Application.DoEvents(); dirty = true; } if (!dmc.origUrl.Equals(ae.tbUrl.Text.Trim())) { string baseUrl = ae.tbUrl.Text.Trim(); // check if only base if (!(baseUrl.Contains("moodle") || baseUrl.EndsWith("php"))) { if (!(baseUrl.Contains("webapp") || baseUrl.EndsWith(".aspx"))) { baseUrl += DMClient.pluginStem + DMClient.xgetFile; dmc.origUrl = baseUrl; } } dmc.origUrl = baseUrl; c.DMClients.Single(t => t.id == dmc.id).Url = dmc.origUrl; dirty = true; } if (dirty) { dmc.modified = DateTime.Now; c.DMClients.Single(t => t.id == dmc.id).modified = dmc.modified; Save(); } } else // add { dmc.name = ae.tbName.Text.Trim(); string baseUrl = ae.tbUrl.Text.Trim(); // check if only base if (!baseUrl.Contains("moodle")) { if (!(baseUrl.Contains("webapp") || baseUrl.EndsWith(".aspx"))) { baseUrl += DMClient.pluginStem + DMClient.xgetFile; dmc.origUrl = baseUrl; } } dmc.origUrl = baseUrl; dmc.created = DateTime.Now; dmc.modified = dmc.created; int id = c.DMClients.Max(t => t.id); dmc.id = id + 1; Clients.DMClientsLocalType newClient = new Clients.DMClientsLocalType(); newClient.id = dmc.id; newClient.Name = dmc.name; newClient.created = dmc.created; newClient.modified = dmc.modified; newClient.Url = dmc.origUrl; c.DMClients.Add(newClient); Save(); PopulateComboBox(); foreach (myListItem o in cbClients.Items) { if (o.name.Equals(dmc.name)) { cbClients.SelectedItem = o; } } cbClients.Update(); } } }