private void BindModel(InvoiceModel mod) { BindingSource bsMod = new BindingSource(); bsMod.DataSource = mod; InvoiceNumber.DataBindings.Clear(); InvoiceNumber.DataBindings.Add("EditValue", bsMod, mod.GetName(p => p.InvoiceNumber), true, DataSourceUpdateMode.OnPropertyChanged); InvoiceTypeID.DataBindings.Clear(); InvoiceTypeID.DataBindings.Add("EditValue", bsMod, mod.GetName(p => p.InvoiceTypeID), true, DataSourceUpdateMode.OnPropertyChanged); InvoiceIssueDate.DataBindings.Clear(); InvoiceIssueDate.DataBindings.Add("EditValue", bsMod, mod.GetName(p => p.InvoiceIssueDate), true, DataSourceUpdateMode.OnPropertyChanged); IsConfirmed.DataBindings.Clear(); IsConfirmed.DataBindings.Add("Checked", bsMod, mod.GetName(p => p.IsConfirmed), true, DataSourceUpdateMode.OnPropertyChanged); InvoicePeriodFrom.DataBindings.Clear(); InvoicePeriodFrom.DataBindings.Add("EditValue", bsMod, mod.GetName(p => p.InvoicePeriodFrom), true, DataSourceUpdateMode.OnPropertyChanged); InvoicePeriodTo.DataBindings.Clear(); InvoicePeriodTo.DataBindings.Add("EditValue", bsMod, mod.GetName(p => p.InvoicePeriodTo), true, DataSourceUpdateMode.OnPropertyChanged); InvoiceNote.DataBindings.Clear(); InvoiceNote.DataBindings.Add("EditValue", bsMod, mod.GetName(p => p.InvoiceNote), true, DataSourceUpdateMode.OnPropertyChanged); LateCharge.DataBindings.Clear(); LateCharge.DataBindings.Add("EditValue", bsMod, mod.GetName(p => p.LateCharge), true, DataSourceUpdateMode.OnPropertyChanged); LateChargeDays.DataBindings.Clear(); LateChargeDays.DataBindings.Add("EditValue", bsMod, mod.GetName(p => p.LateChargeDays), true, DataSourceUpdateMode.OnPropertyChanged); TotalAmount.DataBindings.Clear(); TotalAmount.DataBindings.Add("EditValue", bsMod, mod.GetName(p => p.TotalAmount), true, DataSourceUpdateMode.OnPropertyChanged); ReceiverCompany.DataBindings.Clear(); ReceiverCompany.DataBindings.Add("EditValue", bsMod, mod.GetName(p => p.ReceiverCompany), true, DataSourceUpdateMode.OnPropertyChanged); ReceiverAddress.DataBindings.Clear(); ReceiverAddress.DataBindings.Add("EditValue", bsMod, mod.GetName(p => p.ReceiverAddress), true, DataSourceUpdateMode.OnPropertyChanged); ShipperCompany.Text = GLOB.Company.CompanyName; ShipperAddress.Text = GLOB.Company.CompanyInvoiceAddress; BindingSource bsDetails = new BindingSource(); bsDetails.DataSource = mod.Details; gridControlServices.DataSource = bsDetails; }
public static CheckResult ValidateSave(DSModel db, InvoiceModel model) { CheckResult res = new CheckResult(model); if (model.CompanyID == 0) res.AddError("Please choose a Company!", model.GetName(p => p.CompanyID)); if (model.LocationID == 0) res.AddError("Please choose a Location!", model.GetName(p => p.LocationID)); if (model.InvoicePeriodFrom == DateTime.MinValue) res.AddError("Please enter a date for Period From!", model.GetName(p => p.InvoicePeriodFrom)); if (model.InvoicePeriodTo == DateTime.MinValue) res.AddError("Please enter a date for Period To!", model.GetName(p => p.InvoicePeriodTo)); if (model.InvoicePeriodTo < model.InvoicePeriodFrom) res.AddError("The date for Pertiod To cannot be earlier than Period From!", model.GetName(p => p.InvoicePeriodTo)); return res; }
private static void InsertInvoice(DSModel db, KeyBinder key, InvoiceModel model) { var poco = new Invoice(); poco.CompanyID = model.CompanyID; poco.LocationID = model.LocationID; poco.InvoiceTypeID = model.InvoiceTypeID; poco.InvoiceNumber = InvoiceRepository.NextNumber(db, model); poco.InvoiceIssueDate = model.InvoiceIssueDate; poco.InvoicePeriodFrom = model.InvoicePeriodFrom; poco.InvoicePeriodTo = model.InvoicePeriodTo; poco.InvoiceNote = model.InvoiceNote; poco.LateCharge = model.LateCharge; poco.LateChargeDays = model.LateChargeDays; poco.IsConfirmed = model.IsConfirmed; poco.UserID = model.UserID; poco.LastUpdateTime = model.LastUpdateTime; key.AddKey(poco, model, model.GetName(p => p.InvoiceID)); db.Add(poco); foreach (var d in model.Details) { var det = new InvoicesDetail(); det.InvoiceDetailDate = d.InvoiceDetailDate; det.InvoiceDetailName = d.InvoiceDetailName; det.InvoiceDetailTotalTime = d.InvoiceDetailTotalTime; det.InvoiceDetailOverTime = d.InvoiceDetailOverTime; det.InvoiceDetailRegularRate = d.InvoiceDetailRegularRate; det.InvoiceDetailOverRate = d.InvoiceDetailOverRate; det.InvoiceDetailRegularPay = d.InvoiceDetailRegularPay; det.InvoiceDetailOvertimePay = d.InvoiceDetailOvertimePay; det.InvoiceDetailGroupName = d.InvoiceDetailGroupName; det.InvoiceDetailGroupPosition = d.InvoiceDetailGroupPosition; det.Invoice = poco; key.AddKey(det, d, d.GetName(p => p.InvoiceDetailID)); key.AddKey(poco, d, d.GetName(p => p.InvoiceID)); poco.InvoicesDetails.Add(det); db.Add(det); } }