Im just statring to learn C#/ Now I have a problem with making serialization of my project. Its showing me FileNotFoundExeptione and <system.io.filenotfoundexception in="" mode="hold"> What Im dong wrong? Im doing serialization with DataContractSerializator. I have no found any examples of DataContractSerializator with Windows Forms, how to do right. Thank you.
using InsuranceLibrary;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Runtime.Serialization;
using System.Xml;
using System.IO;
namespace InsuranceStore
{
public partial class InsuranceShop : Form
{
public Store store = new Store();
private List<programing> preferenceprogramData = new List<programing>();
BindingSource programsBinding = new BindingSource();
BindingSource programBinding = new BindingSource();
BindingSource companiesBinding = new BindingSource();
private double StoreProfit = 0;
public InsuranceShop()
{
InitializeComponent();
Setupdata();
programsBinding.DataSource = store.Programs.Where(x => x.Sold == false).ToList();
programslistBox1.DataSource = programsBinding;
programslistBox1.DisplayMember = "Display";
programslistBox1.ValueMember = "Display";
programBinding.DataSource = preferenceprogramData;
preferenceprogramListbox.DataSource = programBinding;
preferenceprogramListbox.DisplayMember = "Display";
preferenceprogramListbox.ValueMember = "Display";
companiesBinding.DataSource = store.Companies;
companyListBox.DataSource = companiesBinding;
companyListBox.DisplayMember = "Display";
companyListBox.ValueMember = "Display";
ReadDB();
}
public void Setupdata()
{
store.Companies.Add(new Company { Name = "ExpressInsurance" });
store.Companies.Add(new Company { Name = "AXA" });
store.Programs.Add(new InsuranceLibrary.Programing
{
Title = "VIP",
Descriptione = "Легковые авто стоимостью от 801000 грн.; Франшиза : -угон 0%; -повреждения 0%;\n Объем страховой защиты:\n ДТП, Противоправные действия третьих лиц,пожар, стихийное явление,нападанеие животных,падение предметов, угон",
Price = 5.6,
PriceAvto = 801000,
Owner = store.Companies[0]
});
store.Programs.Add(new InsuranceLibrary.Programing
{
Title = "Prenium",
Descriptione = "Легковые авто стоимостью от 150 000 грн.Возраст авто до 2-х лет Франшиза : -угон 5%; -повреждения 0%; Объем страховой защиты: ДТП, Противоправные действия третьих лиц,пожар, стихийное явление,нападанеие животных,падение предметов, угон",
Price = 4.6,
PriceAvto = 150000,
Owner = store.Companies[0]
});
store.Programs.Add(new InsuranceLibrary.Programing
{
Title = "Comfort",
Descriptione = "КАСКО Comfort условия: предусматривает : Легковые авто стоимостью от 100000 грн.; Возраст авто до 8 лет Франшиза : -угон 5-10%; -повреждения 0 - 2%; Объем страховой защиты: ДТП, Противоправные действия третьих лиц,пожар, стихийное явление,нападанеие животных,падение предметов, угон",
Price = 3.6,
PriceAvto = 100000,
Owner = store.Companies[0]
});
store.Programs.Add(new InsuranceLibrary.Programing
{
Title = "AllInclude",
Descriptione = "Страховая сумма устанавливается на момент страхования.Возраст авто до 10-х лет Франшиза : -угон - на выбор; -повреждения - на выбор; Объем страховой защиты: ДТП, Противоправные действия третьих лиц,пожар, стихийное явление,нападанеие животных,падение предметов, угон",
Price = 6.7,
PriceAvto = 100000,
Owner = store.Companies[1]
});
store.Programs.Add(new InsuranceLibrary.Programing
{
Title = "Light",
Descriptione = "Страховая сумма устанавливается на момент страхования. Возраст авто до 5 лет Франшиза : -угон на выбор; -повреждения на выбор; Объем страховой защиты: ДТП, Противоправные действия третьих лиц,пожар, стихийное явление,нападанеие животных,падение предметов, угон",
Price = 7.6,
PriceAvto = 500000,
Owner = store.Companies[1]
});
store.Name1 = "VoluntaryInsurance";
}
private void shoppingCartListbox_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void programslistBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void progressBar1_Click(object sender, EventArgs e)
{
}
private void addToCart_Click_1(object sender, EventArgs e)
{
Programing selectedPrograms = (Programing)programslistBox1.SelectedItem;
preferenceprogramData.Add(selectedPrograms);
programBinding.ResetBindings(false);
}
private void makePurchase_ClientSizeChanged(object sender, EventArgs e)
{
foreach (Programing programs in preferenceprogramData)
{
programs.Sold = true;
programs.Owner.PaymentDue = ((programs.Owner.Comission * programs.Price * programs.PriceAvto) / 100);
StoreProfit += ((programs.Owner.Comission * programs.Price * programs.PriceAvto) / 100);
}
programsBinding.DataSource = store.Programs.Where(x => x.Sold == false).ToList();
preferenceprogramData.Clear();
programBinding.ResetBindings(false);
programsBinding.ResetBindings(false);
companiesBinding.ResetBindings(false);
storeProfitValue.Text = string.Format("{0} грн.", StoreProfit);
new InsuranceShop().ShowDialog();
}
private void storeProfitValue_Click(object sender, EventArgs e)
{
}
public void butInformation_Click(object sender, EventArgs e)
{
new Info().Show();
this.Hide();
}
private void InsuranceShop_Closed(object sender, FormClosedEventArgs e)
{
WriteDB();
}
private static void WriteDB()
{
DataContractSerializer dcs = new DataContractSerializer(typeof(Store));
XmlWriter xmlw = XmlWriter.Create("Store.xml");
dcs.WriteObject(xmlw, new Store());
xmlw.Close();
}
private static void ReadDB()
{
DataContractSerializer dcs = new DataContractSerializer(typeof(Store));
XmlReader xmlr = XmlReader.Create("Store.xml");
dcs.ReadObject(xmlr);
xmlr.Close();
}</company></programing></programing>