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;
        }
Ejemplo n.º 2
0
        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);
            }
        }