public AssemblySiteDifferenceForm(Model.AssemblySiteInventory model)
            : this()
        {
            this._assemblySiteDifference = new Book.Model.AssemblySiteDifference();
            this._assemblySiteDifference.AssemblySiteDifferenceId = this.manager.GetId();
            this._assemblySiteDifference.Employee = BL.V.ActiveOperator.Employee;
            this._assemblySiteDifference.AssemblySiteInventoryId = model.AssemblySiteInventoryId;
            this._assemblySiteDifference.InvoiceDate             = model.InvoiceDate;

            Model.AssemblySiteDifferenceDetai detail;
            foreach (var item in model.Details)
            {
                detail = new Book.Model.AssemblySiteDifferenceDetai();
                detail.AssemblySiteDifferenceDetaiId = Guid.NewGuid().ToString();
                detail.Product        = item.Product;
                detail.ProductId      = item.ProductId;
                detail.ActualQuantity = item.Quantity;

                detail.TheoryQuantity = this.CountSiteQuantity(detail.ProductId, model.InvoiceDate.Value.Date.AddDays(1));

                this._assemblySiteDifference.Details.Add(detail);
            }

            this.action = "insert";
            this.isLast = 1;
        }
        private void bar_ChooseInvoice_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            AssemblySiteInventoryList f = new AssemblySiteInventoryList(1);

            if (f.ShowDialog(this) == DialogResult.OK && f.SelectItem != null)
            {
                this.txt_ID2.EditValue         = this._assemblySiteDifference.AssemblySiteInventoryId = f.SelectItem.AssemblySiteInventoryId;
                this.date_Difference.EditValue = this._assemblySiteDifference.InvoiceDate = f.SelectItem.InvoiceDate;

                Model.AssemblySiteDifferenceDetai detail;
                this._assemblySiteDifference.Details.Clear();
                foreach (var item in f.SelectItem.Details)
                {
                    detail = new Book.Model.AssemblySiteDifferenceDetai();
                    detail.AssemblySiteDifferenceDetaiId = Guid.NewGuid().ToString();
                    detail.Product        = item.Product;
                    detail.ProductId      = item.ProductId;
                    detail.ActualQuantity = item.Quantity;

                    detail.TheoryQuantity = this.CountSiteQuantity(detail.ProductId, f.SelectItem.InvoiceDate.Value.Date.AddDays(1));

                    this._assemblySiteDifference.Details.Add(detail);
                }

                this.gridControl1.RefreshDataSource();
            }
        }