public static CheckResult ValidateSave(DSModel db, DriverModel model) { CheckResult res = new CheckResult(model); if (string.IsNullOrWhiteSpace(model.FirstName)) res.AddError("Please enter a First Name of the driver!", model.GetName(p => p.FirstName)); if (string.IsNullOrWhiteSpace(model.SecondName)) res.AddWarning("Missing Second Name of the driver!", model.GetName(p => p.SecondName)); if (string.IsNullOrWhiteSpace(model.LastName)) res.AddError("Please enter a Last Name of the driver!", model.GetName(p => p.LastName)); //if (model.LicenseID == 0) // res.AddError("Please select a license!", model.GetName(p => p.LicenseID)); //if (!model.LicenseExpirationDate.HasValue) // res.AddError("Please enter a license expiration date", model.GetName(p => p.LicenseExpirationDate)); if (model.PayRateOverride < 0.0m) res.AddError("Please enter a positive number for Pay Rate Override!", model.GetName(p => p.PayRateOverride)); if (model.DriverCode != string.Empty) { var check = db.Drivers.Where(d => d.DriverCode == model.DriverCode && d.DriverID != model.DriverID).FirstOrDefault(); if (check != null) res.AddError("Another driver already uses this Driver Code! Use Peek or leave blank to autogenerate!", model.GetName(p => p.DriverCode)); } foreach (var l in model.Locations) { if (l.LocationID == 0) res.AddError("Please choose a Location for hte travel pay!", "LocationID"); if (l.TravelPay == 0.0m) res.AddError("Please enter a positive non-zero number for Travel Pay!", "TravelPay"); } return res; }
private void BindModel(DriverModel mod) { BindingSource bsModel = new BindingSource(); bsModel.DataSource = mod; DriverCode.DataBindings.Add("EditValue", bsModel, mod.GetName(p => p.DriverCode), true, DataSourceUpdateMode.OnPropertyChanged); FirstName.DataBindings.Add("EditValue", bsModel, mod.GetName(p => p.FirstName), true, DataSourceUpdateMode.OnPropertyChanged); SecondName.DataBindings.Add("EditValue", bsModel, mod.GetName(p => p.SecondName), true, DataSourceUpdateMode.OnPropertyChanged); LastName.DataBindings.Add("EditValue", bsModel, mod.GetName(p => p.LastName), true, DataSourceUpdateMode.OnPropertyChanged); DateOfBirth.DataBindings.Add("EditValue", bsModel, mod.GetName(p => p.DateOfBirth), true, DataSourceUpdateMode.OnPropertyChanged); DateOfHire.DataBindings.Add("EditValue", bsModel, mod.GetName(p => p.DateOfHire), true, DataSourceUpdateMode.OnPropertyChanged); CellPhone.DataBindings.Add("EditValue", bsModel, mod.GetName(p => p.CellPhone), true, DataSourceUpdateMode.OnPropertyChanged); EmergencyPhone.DataBindings.Add("EditValue", bsModel, mod.GetName(p => p.EmergencyPhone), true, DataSourceUpdateMode.OnPropertyChanged); Email.DataBindings.Add("EditValue", bsModel, mod.GetName(p => p.Email), true, DataSourceUpdateMode.OnPropertyChanged); //LicenseID.DataBindings.Add("EditValue", bsModel, mod.GetName(p => p.LicenseID), true, DataSourceUpdateMode.OnPropertyChanged); //LicenseExpirationDate.DataBindings.Add("EditValue", bsModel, mod.GetName(p => p.LicenseExpirationDate), true, DataSourceUpdateMode.OnPropertyChanged); PayRateOverride.DataBindings.Add("EditValue", bsModel, mod.GetName(p => p.PayRateOverride), true, DataSourceUpdateMode.OnPropertyChanged); IsEnabled.DataBindings.Add("Checked", bsModel, mod.GetName(p => p.IsEnabled), true, DataSourceUpdateMode.OnPropertyChanged); BindingSource bsLocations = new BindingSource(); bsLocations.DataSource = mod.Locations; gridControlLocations.DataSource = bsLocations; FileBlobCreationInfoModel info = new FileBlobCreationInfoModel(); info.DriverID = this.Manager.ActiveModel.DriverID; var manager = FileBlobManager.Create(info); xu_Files.Load(manager); var driverLicensesManager = DriverLicenseCatalogManager.Create(this.Manager.ActiveModel.DriverID); xu_DriverLicenses.LoadManager(driverLicensesManager); }