public XF_LocationNewEdit(LocationModel location) { InitializeComponent(); if (location == null) throw new ArgumentNullException("location"); this.ActiveModel = location; this.Load += XF_LocationNewEdit_Load; }
private void BindModel(LocationModel mod) { BindingSource bsMod = new BindingSource(); bsMod.DataSource = mod; LocationName.DataBindings.Add("EditValue", bsMod, mod.GetName(p => p.LocationName), true, DataSourceUpdateMode.OnPropertyChanged); LocationCode.DataBindings.Add("EditValue", bsMod, mod.GetName(p => p.LocationCode), true, DataSourceUpdateMode.OnPropertyChanged); LocationAddress.DataBindings.Add("EditValue", bsMod, mod.GetName(p => p.LocationAddress), true, DataSourceUpdateMode.OnPropertyChanged); LocationPhone.DataBindings.Add("EditValue", bsMod, mod.GetName(p => p.LocationPhone), true, DataSourceUpdateMode.OnPropertyChanged); LocationFax.DataBindings.Add("EditValue", bsMod, mod.GetName(p => p.LocationFax), true, DataSourceUpdateMode.OnPropertyChanged); TravelPay.DataBindings.Add("EditValue", bsMod, mod.GetName(p => p.TravelPay), true, DataSourceUpdateMode.OnPropertyChanged); TravelPayName.DataBindings.Add("EditValue", bsMod, mod.GetName(p => p.TravelPayName), true, DataSourceUpdateMode.OnPropertyChanged); LunchTime.DataBindings.Add("EditValue", bsMod, mod.GetName(p => p.LunchTime), true, DataSourceUpdateMode.OnPropertyChanged); IsEnabled.DataBindings.Add("Checked", bsMod, mod.GetName(p => p.IsEnabled), true, DataSourceUpdateMode.OnPropertyChanged); IncludeConfirmation.DataBindings.Add("Checked", bsMod, mod.GetName(p => p.IncludeConfirmation), true, DataSourceUpdateMode.OnPropertyChanged); var conf = mod.ConfirmationContact; BindingSource bsConf = new BindingSource(); bsConf.DataSource = conf; ConfirmationContactName.DataBindings.Add("EditValue", bsConf, conf.GetName(p => p.ContactName), true, DataSourceUpdateMode.OnPropertyChanged); ConfirmationContactPhone.DataBindings.Add("EditValue", bsConf, conf.GetName(p => p.ContactPhone), true, DataSourceUpdateMode.OnPropertyChanged); ConfirmationContactEmail.DataBindings.Add("EditValue", bsConf, conf.GetName(p => p.ContactEmail), true, DataSourceUpdateMode.OnPropertyChanged); var inv = mod.InvoiceContact; BindingSource bsInv = new BindingSource(); bsInv.DataSource = inv; InvoiceContactName.DataBindings.Add("EditValue", bsInv, inv.GetName(p => p.ContactName), true, DataSourceUpdateMode.OnPropertyChanged); InvoiceContactPhone.DataBindings.Add("EditValue", bsInv, inv.GetName(p => p.ContactPhone), true, DataSourceUpdateMode.OnPropertyChanged); InvoiceContactEmail.DataBindings.Add("EditValue", bsInv, inv.GetName(p => p.ContactEmail), true, DataSourceUpdateMode.OnPropertyChanged); var disp = mod.DispatchContact; BindingSource bsDisp = new BindingSource(); bsDisp.DataSource = disp; DispatchContactName.DataBindings.Add("EditValue", bsDisp, disp.GetName(p => p.ContactName), true, DataSourceUpdateMode.OnPropertyChanged); DispatchContactPhone.DataBindings.Add("EditValue", bsDisp, disp.GetName(p => p.ContactPhone), true, DataSourceUpdateMode.OnPropertyChanged); DispatchContactEmail.DataBindings.Add("EditValue", bsDisp, disp.GetName(p => p.ContactEmail), true, DataSourceUpdateMode.OnPropertyChanged); }
public static Location SaveLocation(DSModel db, KeyBinder key, LocationModel model, Company company = null) { if (db == null) throw new ArgumentNullException("db"); if (key == null) throw new ArgumentNullException("key"); if (model == null) throw new ArgumentNullException("model"); if (model.LocationID == 0) return InsertLocation(db, key, model, company); else return UpdateLocation(db, key, model, company); }
public static void DeleteLocation(DSModel db, LocationModel model) { if (db == null) throw new ArgumentNullException("db"); if (model.LocationID != 0) { var poco = db.Locations.Where(l => l.LocationID == model.LocationID).FirstOrDefault(); if (poco != null) { if (poco.ConfirmationContactID.HasValue) db.Delete(poco.ConfirmationContact); if (poco.InvoiceContactID.HasValue) db.Delete(poco.InvoiceContact); if (poco.DispatchContactID.HasValue) db.Delete(poco.DispatchContact); db.Delete(poco); } } }
private static Location UpdateLocation(DSModel db, KeyBinder key, LocationModel model, Company company = null) { var poco = db.Locations.Where(l => l.LocationID == model.LocationID).FirstOrDefault(); if (poco == null) throw new ArgumentException("No Location with the specified ID!"); poco.LocationName = model.LocationName; poco.LocationCode = model.LocationCode; if (company == null) poco.CompanyID = model.CompanyID; else poco.Company = company; poco.LocationAddress = model.LocationAddress; poco.LocationPhone = model.LocationPhone; poco.LocationFax = model.LocationFax; if (model.ConfirmationContact.IsChanged) { poco.ConfirmationContact = ContactRepository.SaveContact(db, key, model.ConfirmationContact); key.AddKey(poco.ConfirmationContact, model.ConfirmationContact, poco.ConfirmationContact.GetName(p => p.ContactID)); key.AddKey(poco.ConfirmationContact, model, poco.ConfirmationContact.GetName(p => p.ContactID), model.GetName(p => p.ConfirmationContactID)); } if (model.InvoiceContact.IsChanged) { poco.InvoiceContact = ContactRepository.SaveContact(db, key, model.InvoiceContact); key.AddKey(poco.InvoiceContact, model.InvoiceContact, poco.InvoiceContact.GetName(p => p.ContactID)); key.AddKey(poco.InvoiceContact, model, poco.InvoiceContact.GetName(p => p.ContactID), model.GetName(p => p.InvoiceContactID)); } if (model.DispatchContact.IsChanged) { poco.DispatchContact = ContactRepository.SaveContact(db, key, model.DispatchContact); key.AddKey(poco.DispatchContact, model.DispatchContact, poco.DispatchContact.GetName(p => p.ContactID)); key.AddKey(poco.DispatchContact, model, poco.DispatchContact.GetName(p => p.ContactID), model.GetName(p => p.DispatchContactID)); } poco.TravelPay = model.TravelPay; poco.TravelPayName = model.TravelPayName; poco.LunchTime = model.LunchTime; poco.IsEnabled = model.IsEnabled; poco.IncludeConfirmation = model.IncludeConfirmation; return poco; }
private static Location InsertLocation(DSModel db, KeyBinder key, LocationModel model, Company company = null) { Location poco = new Location(); poco.LocationName = model.LocationName; if (model.LocationCode == string.Empty) poco.LocationCode = "L" + LocationRepository.PeekLocationCode(db, "L"); else poco.LocationCode = model.LocationCode; if (company == null) poco.CompanyID = model.CompanyID; else poco.Company = company; poco.LocationAddress = model.LocationAddress; poco.LocationPhone = model.LocationPhone; poco.LocationFax = model.LocationFax; if (model.ConfirmationContact.IsChanged) { poco.ConfirmationContact = ContactRepository.SaveContact(db, key, model.ConfirmationContact); key.AddKey(poco.ConfirmationContact, model.ConfirmationContact, poco.ConfirmationContact.GetName(p => p.ContactID)); key.AddKey(poco.ConfirmationContact, model, poco.ConfirmationContact.GetName(p => p.ContactID), model.GetName(p => p.ConfirmationContactID)); } if (model.InvoiceContact.IsChanged) { poco.InvoiceContact = ContactRepository.SaveContact(db, key, model.InvoiceContact); key.AddKey(poco.InvoiceContact, model.InvoiceContact, poco.InvoiceContact.GetName(p => p.ContactID)); key.AddKey(poco.InvoiceContact, model, poco.InvoiceContact.GetName(p => p.ContactID), model.GetName(p => p.InvoiceContactID)); } if (model.DispatchContact.IsChanged) { poco.DispatchContact = ContactRepository.SaveContact(db, key, model.DispatchContact); key.AddKey(poco.DispatchContact, model.DispatchContact, poco.DispatchContact.GetName(p => p.ContactID)); key.AddKey(poco.DispatchContact, model, poco.DispatchContact.GetName(p => p.ContactID), model.GetName(p => p.DispatchContactID)); } poco.TravelPay = model.TravelPay; poco.TravelPayName = model.TravelPayName; poco.LunchTime = model.LunchTime; poco.IsEnabled = model.IsEnabled; poco.IncludeConfirmation = model.IncludeConfirmation; db.Add(poco); key.AddKey(poco, model, model.GetName(p => p.LocationID)); return poco; }