/// <summary> /// 设置报文数据 /// </summary> /// <param name="keyName"></param> /// <param name="package"></param> public void SetPackageValue(string keyName, CPackage package) { if (!Packages.ContainsKey(keyName)) { Packages.Add(keyName, package); } else { Packages[keyName] = package; } }
private void packagesList_SelectedIndexChanged(object sender, EventArgs e) { package = packagesList.SelectedItem as CPackage; servicesList.Items.Clear(); for (int i = 0; i < package.services.Count; i++) { package.services[i].employee = null; servicesList.Items.Add(package.services[i]); } servicesList.SelectedIndex = 0; employeeList.SelectedIndex = -1; }
static void Main(string[] args) { CPackage.Install(aPackage => { var aExternals = new Tuple <string, bool>[] { new Tuple <string, bool>("cb_clrobject.mxe64", false), new Tuple <string, bool>("CbVirtualMixerMatrix.exe", false), new Tuple <string, bool>("CbMaxClrAdapter.dll", false), new Tuple <string, bool>("RGiesecke.DllExport.dll", false), new Tuple <string, bool>("CbVirtualMixerMatrix.mxf", true) }; foreach (var aExternal in aExternals) { aPackage.AddExternal(aExternal.Item1, @"packages\charly_beck\CbVirtualMixerMatrix\externals", aExternal.Item2); } }); }
private void doneBtn_Click(object sender, EventArgs e) { if (nameTxt.Text.Length < 1 || priceTxt.Text.Length < 1 || addedSerivesList.Items.Count == 0) { MessageBox.Show("All fields must be entered!", "Invalid Values", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } List <CService> services = new List <CService>(); for (int i = 0; i < addedSerivesList.Items.Count; i++) { CService tmpService = addedSerivesList.Items[i] as CService; services.Add(tmpService); } connection.openConnection(); OleDbCommand packageCommand = new OleDbCommand(); packageCommand.Connection = connection.connection; if (edit) { packageCommand.CommandText = "UPDATE Packages SET Package_Name = '" + nameTxt.Text + "', Price = " + priceTxt.Text + " WHERE ID = " + package.id; packageCommand.ExecuteNonQuery(); packageCommand.CommandText = "DELETE FROM Package_Services WHERE ID_Package = " + package.id; packageCommand.ExecuteNonQuery(); for (int i = 0; i < services.Count; i++) { OleDbCommand insertPackageService = new OleDbCommand(); insertPackageService.Connection = connection.connection; insertPackageService.CommandText = "INSERT INTO Package_Services (ID_Service, ID_Package) VALUES (" + services[i].id + ", " + package.id + ")"; insertPackageService.ExecuteNonQuery(); } package.name = nameTxt.Text; package.price = float.Parse(priceTxt.Text); package.services = services; } else { packageCommand.CommandText = "INSERT INTO Packages (Package_Name, Price) VALUES ('" + nameTxt.Text + "', " + priceTxt.Text + ")"; packageCommand.ExecuteNonQuery(); packageCommand.CommandText = "Select @@Identity"; string packageID = packageCommand.ExecuteScalar().ToString(); for (int i = 0; i < services.Count; i++) { OleDbCommand insertPackageService = new OleDbCommand(); insertPackageService.Connection = connection.connection; insertPackageService.CommandText = "INSERT INTO Package_Services (ID_Service, ID_Package) VALUES (" + services[i].id + ", " + packageID + ")"; insertPackageService.ExecuteNonQuery(); } package = new CPackage(packageID, nameTxt.Text, float.Parse(priceTxt.Text), services); } connection.closeConnection(); DialogResult = System.Windows.Forms.DialogResult.OK; Close(); }
/// <summary> /// Adds missing data to <c>entity</c> with respect to <c>modelClass</c>, and <c>package</c> from the model /// </summary> /// <param name="entity">ProfileElement element with missing data</param> /// <param name="modelClass">CClass from model</param> /// <param name="package">CPackage from model. Contains the <c>modelClass</c></param> private void updateClassData(ProfileElement entity, CClass modelClass, CPackage package) { entity.AddStereotype(ProfileElementStereotype.StereotypeConcrete); entity.URI = modelClass.name; //PACKAGE: name and object - added "Package_" because of the current scheme entity.BelongsToCategory = "Package_" + package.name; entity.TypeAsEnumValue = ProfileElementTypes.Class; entity.Label = StringManipulationManager.ExtractAllAfterSeparator(modelClass.name, StringManipulationManager.SeparatorSharp); List <ProfileElement> packages = profile.GetAllProfileElementsOfType(ProfileElementTypes.ClassCategory); foreach (ProfileElement pack in packages) { if (pack.UniqueName.Equals(entity.BelongsToCategory)) { entity.BelongsToCategoryAsObject = pack; pack.AddToMembersOfClassCategory(entity); break; } } //if package is not found, look for it in the model //----------------------------------------------------------------------------- if (entity.BelongsToCategoryAsObject == null) { //looking for package (and we know which one - CPackage) and adding it to hierarchy ProfileElement newPackage = new ProfileElement(); newPackage.Label = package.name; newPackage.URI = "Package_" + package.name; //create separate package - detached from hierarchy, because we wont need it newPackage.TypeAsEnumValue = ProfileElementTypes.ClassCategory; newPackage.AddToMembersOfClassCategory(entity); entity.BelongsToCategoryAsObject = newPackage; entity.BelongsToCategory = newPackage.UniqueName; profile.GetAllProfileElementsOfType(ProfileElementTypes.ClassCategory).Add(newPackage); } //----------------------------------------------------------------------------- //PARENT: assumption is that all the classes needed are in profile, //we dont need to add additional, not mentioned in profile entity.SubClassOf = modelClass.parentClassName == null ? string.Empty : modelClass.parentClassName; if (!string.IsNullOrEmpty(entity.SubClassOf)) { bool foundInModel = false; List <ProfileElement> classes = profile.GetAllProfileElementsOfType(ProfileElementTypes.Class); foreach (ProfileElement temp in classes) { if (temp.URI.Equals(entity.SubClassOf)) { entity.SubClassOfAsObject = temp; break; } } if (!foundInModel) { entity.SubClassOf = string.Empty; } } //FIELDS foreach (CAttribute att in modelClass.attributes) { addAttributeToElement(entity, att, modelClass); } }
private void selectPackage_Load(object sender, EventArgs e) { Connection connection = new Connection(); connection.openConnection(); OleDbCommand getPackages = new OleDbCommand(); getPackages.Connection = connection.connection; getPackages.CommandText = "SELECT * FROM Packages"; OleDbDataReader packageReader = getPackages.ExecuteReader(); while (packageReader.Read()) { string id = packageReader[0].ToString(); string name = packageReader[1].ToString(); string price = packageReader[2].ToString(); OleDbCommand getPackageServices = new OleDbCommand(); getPackageServices.Connection = connection.connection; getPackageServices.CommandText = "SELECT Services.ID, Service_Name, Price FROM Services, Package_Services WHERE Package_Services.ID_Package = " + id + " AND Services.ID = Package_Services.ID_Service"; OleDbDataReader packageServicesReader = getPackageServices.ExecuteReader(); List <CService> services = new List <CService>(); while (packageServicesReader.Read()) { string serviceId = packageServicesReader[0].ToString(); string serviceName = packageServicesReader[1].ToString(); string servicePrice = packageServicesReader[2].ToString(); CService tmpSerice = new CService(serviceId, serviceName, float.Parse(servicePrice)); services.Add(tmpSerice); } CPackage tmpPackage = new CPackage(id, name, float.Parse(price), services); packagesList.Items.Add(tmpPackage); } OleDbCommand getEmployees = new OleDbCommand(); getEmployees.Connection = connection.connection; getEmployees.CommandText = "SELECT * FROM Employees"; OleDbDataReader employeesReader = getEmployees.ExecuteReader(); while (employeesReader.Read()) { string id = employeesReader[0].ToString(); string first_name = employeesReader[1].ToString(); string last_name = employeesReader[2].ToString(); string address = employeesReader[3].ToString(); string phone = employeesReader[4].ToString(); DateTime birthday = (DateTime)employeesReader[5]; DateTime dayOfEmploymend = (DateTime)employeesReader[6]; bool fired = (bool)employeesReader[7]; CEmployee tmpEmployee = new CEmployee(id, first_name, last_name, address, phone, birthday, dayOfEmploymend, fired); if (!fired) { employeeList.Items.Add(tmpEmployee); } } connection.closeConnection(); if (packagesList.Items.Count == 0) { doneBtn.Enabled = false; employeeList.Enabled = false; } else { packagesList.SelectedIndex = 0; } }