0% found this document useful (0 votes)
23 views6 pages

Aplicatie C#

Uploaded by

mihai alex
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views6 pages

Aplicatie C#

Uploaded by

mihai alex
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 6

//////////////MAIN.

CS/////////////////////////

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Text;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace devConference_Exam
{
public partial class MainForm : Form
{
public static List<AccesPackage> packageList = new List<AccesPackage>();
List<Registration> registrations = new List<Registration>();
public MainForm()
{
InitializeComponent();
//readFromFile();
}

public void readFromFile()


{
string line;
try
{
StringReader stringReader = new StringReader("D:\\Proiecte C#\\
devConference_Exam\\AccesPackage.txt");
while ((line = stringReader.ReadLine()) != null)
{
string[] lines = line.Split(',');
AccesPackage package = new AccesPackage();
package.Name = lines[0];
package.Price = double.Parse(lines[1]);
package.Id = int.Parse(lines[2]);

packageList.Add(package);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);

}
}

public void updateCost()


{
double cost = 0;
foreach (Registration registration in registrations)
{
cost += (double)registration;
}
labTotalCost.Text = $"Total cost: ${cost:0.00}";
}

public void DisplayRegistrations()


{
lvReg.Items.Clear();
registrations.Sort();
foreach (Registration registration in registrations)
{
ListViewItem lvi = new ListViewItem(registration.CompanyName);
lvi.SubItems.Add(registration.NoOfPasses.ToString());
lvi.SubItems.Add(registration.AccesPackageId.ToString());
lvi.Tag = registration;
lvReg.Items.Add(lvi);
}
}
private void MainForm_Load(object sender, EventArgs e)
{

public void EditReg(ListViewItem item)


{
RegistrationForm registrationForm = new RegistrationForm();
registrationForm.Registration = new Registration();

if (registrationForm.ShowDialog() == DialogResult.OK)
{
registrations.Add(registrationForm.Registration);
DisplayRegistrations();
}
}

private void btnAddRegistration_Click(object sender, EventArgs e)


{
RegistrationForm registrationForm = new RegistrationForm();
registrationForm.Registration = new Registration();

if (registrationForm.ShowDialog() == DialogResult.OK)
{
registrations.Add(registrationForm.Registration);
DisplayRegistrations();
}
}

private void lvReg_MouseClick(object sender, MouseEventArgs e)


{

private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)


{

private void editToolStripMenuItem_Click(object sender, EventArgs e)


{
RegistrationForm registrationForm = new RegistrationForm();
registrationForm.Registration = (Registration)
lvReg.SelectedItems[0].Tag;
if (registrationForm.ShowDialog() == DialogResult.OK)
{
DisplayRegistrations();
}
}

private void deleteToolStripMenuItem_Click(object sender, EventArgs e)


{
Registration reg = (Registration) lvReg.SelectedItems[0].Tag;
registrations.Remove(reg);
DisplayRegistrations();

private void btnChart_Click(object sender, EventArgs e)


{
Chart chart = new Chart(registrations, packageList);
chart.ShowDialog();
}
}
}

////////////////////////
REGISTRATIONFORM.CS//////////////////////////////////////////

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace devConference_Exam
{
public partial class RegistrationForm : Form
{
public Registration Registration { get; set; }
public List<AccesPackage> Packages { get; set; }
public RegistrationForm()
{
InitializeComponent();
}

private void tbCompanyName_TextChanged(object sender, EventArgs e)


{

private void btnOK2_Click(object sender, EventArgs e)


{
if (Registration != null)
{
Registration.AccesPackageId = (int)nudAccessId.Value;
Registration.NoOfPasses =(int) nudNoOfPasses.Value;
Registration.CompanyName = tbCompanyName.Text;
}
}

private void RegistrationForm_Load(object sender, EventArgs e)


{
if (Registration != null)
{
nudAccessId.Value = (int)Registration.AccesPackageId;
nudNoOfPasses.Value = Registration.NoOfPasses;
tbCompanyName.Text = Registration.CompanyName;
}

this.nudNoOfPasses.Validating += new
System.ComponentModel.CancelEventHandler(this.nudNoOfPasses_Validating);

private void nudNoOfPasses_Validating(object sender, CancelEventArgs e)


{
if ((int)nudNoOfPasses.Value < 1)
{
e.Cancel = true;
errorProvider1.SetError(nudNoOfPasses, "Invalid nr of passes");
return;
}
else
{
e.Cancel = false;
errorProvider1.SetError(nudNoOfPasses, "");
}
}

}
}

/////////////////////////REGISTRATION.CS////////////////////////////////////////

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace devConference_Exam
{
public class Registration : IComparable<Registration>
{
public string CompanyName { get; set; }
public int NoOfPasses { get; set; }
public int AccesPackageId { get; set; }
public static List<AccesPackage> AccesPackages;
public Registration() { }

public Registration(string companyName, int noOfPasses, int accesPackageId,


List<AccesPackage> packageList)
{
CompanyName = companyName;
NoOfPasses = noOfPasses;
AccesPackageId = accesPackageId;
AccesPackages = packageList;

public static explicit operator double(Registration r)


{
for (int i = 0; i < AccesPackages.Count - 1; i++)
{
if (AccesPackages[i].Id == r.AccesPackageId)
{
return r.NoOfPasses * AccesPackages[i].Price;
}
}
return 0;
}

public int CompareTo(Registration other)


{
return this.NoOfPasses - other.NoOfPasses;
}
}
}

//////////////////////CHART.CS///////////////////////////////////////////////

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;

namespace devConference_Exam
{
public partial class Chart : Form
{
public List<Registration> registrations = new List<Registration>();
public List<AccesPackage> packages = new List<AccesPackage>();
public int[] noRegistrations = new int[5];
public Chart(List<Registration> listRegistrations, List<AccesPackage>
listPackages)
{
InitializeComponent();
registrations = listRegistrations;
computeChart();
var series = chartRegistrations.Series.First();
series.ChartType = SeriesChartType.Column;
series.Name = "Registrations";

series.Points.AddXY("Silver", noRegistrations[0]);
series.Points.AddXY("Gold", noRegistrations[1]);
series.Points.AddXY("Platinum", noRegistrations[2]);
}

private void computeChart()


{
foreach (Registration registration in registrations)
{
noRegistrations[registration.AccesPackageId - 1]++;
}
}
}
}

You might also like