private void BindInvoiceDetail(ReceiptInvoice receiptInvoice)
        {
            _dtReceiptInvoiceDetail.Rows.Clear();
            var receiptInvoiceDetail = new ReceiptInvoiceDetail();
            receiptInvoiceDetail.LoadByReceiptInvoice(receiptInvoice.ID);

            if (receiptInvoiceDetail.DefaultView.Count == 0)
            {
                BindInvoiceDetailByPO(receiptInvoice.POID);
            }
            else
            {
                receiptInvoiceDetail.LoadMergedPOAndInvoiceDetails(receiptInvoice.ID);
                foreach (DataRowView rowView in receiptInvoiceDetail.DefaultView)
                {
                    var newrow = _dtReceiptInvoiceDetail.NewRow();

                    newrow["FullItemName"] = rowView["FullItemName"];
                    newrow["Unit"] = rowView["Unit"];
                    newrow["Manufacturer"] = rowView["Manufacturer"];
                    newrow["OrderedQuantity"] = rowView["OrderedQuantity"];
                    newrow["OrderedAmount"] = rowView["Amount"];
                    newrow["ItemID"] = Convert.ToInt32(rowView["ItemID"]);
                    newrow["UnitOfIssueID"] = Convert.ToInt32(rowView["UnitOfIssueID"]);
                    newrow["ManufacturerID"] = Convert.ToInt32(rowView["ManufacturerID"]);
                    if (rowView["ExpiryDate"] != DBNull.Value)
                    {
                        newrow["ExpiryDate"] = Convert.ToDateTime(rowView["ExpiryDate"]);
                    }
                    newrow["IsSaved"] = false;
                    newrow["GUID"] = Guid.NewGuid();

                    if (rowView["InvoicedQuantity"] != DBNull.Value)
                    {
                        newrow["ReceiptInvoiceDetailID"] = Convert.ToInt32(rowView["ReceiptInvoiceDetailID"]);
                        newrow["ReceiptInvoiceID"] = Convert.ToInt32(rowView["ReceiptInvoiceID"]);

                        newrow["BatchNumber"] = rowView["BatchNumber"];
                        newrow["InvoicedQty"] = Convert.ToDecimal(rowView["InvoicedQuantity"]);
                        newrow["UnitPrice"] = Convert.ToDecimal(rowView["UnitPrice"]);
                        newrow["Margin"] = Convert.ToDecimal(rowView["Margin"]);
                        newrow["IsSaved"] = true;
                    }
                    else
                    {
                        newrow["UnitPrice"] = 0;
                        newrow["Margin"] = 0;
                    }

                    _dtReceiptInvoiceDetail.Rows.Add(newrow);
                }
                MergeReceiptInvoiceDetailGUID();
                _dtReceiptInvoiceDetail.DefaultView.Sort = "FullItemName, Unit, Manufacturer, ExpiryDate DESC, BatchNumber DESC";
                gridInvoiceDetail.DataSource = _dtReceiptInvoiceDetail;
                if (receiptInvoice.CheckIfThisInvoiceHasBeenReceived())
                {
                    gridInvoiceDetail.Enabled = btnSave.Enabled = false;
                    tabInvoice.SelectedTabPageIndex = 0;
                    XtraMessageBox.Show("This Invoice has a related Receive!,You can't edit in this case!", "Invalid", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }
예제 #2
0
        private void BindInvoiceDetail(ReceiptInvoice receiptInvoice)
        {
            _dtReceiptInvoiceDetail.Rows.Clear();
            var receiptInvoiceDetail = new ReceiptInvoiceDetail();

            receiptInvoiceDetail.LoadByReceiptInvoice(receiptInvoice.ID);

            if (receiptInvoiceDetail.DefaultView.Count == 0)
            {
                BindInvoiceDetailByPO(receiptInvoice.POID);
            }
            else
            {
                receiptInvoiceDetail.LoadMergedPOAndInvoiceDetails(receiptInvoice.ID);
                foreach (DataRowView rowView in receiptInvoiceDetail.DefaultView)
                {
                    var newrow = _dtReceiptInvoiceDetail.NewRow();

                    newrow["FullItemName"]    = rowView["FullItemName"];
                    newrow["Unit"]            = rowView["Unit"];
                    newrow["Manufacturer"]    = rowView["Manufacturer"];
                    newrow["OrderedQuantity"] = rowView["OrderedQuantity"];
                    newrow["OrderedAmount"]   = rowView["Amount"];
                    newrow["ItemID"]          = Convert.ToInt32(rowView["ItemID"]);
                    newrow["UnitOfIssueID"]   = Convert.ToInt32(rowView["UnitOfIssueID"]);
                    newrow["ManufacturerID"]  = Convert.ToInt32(rowView["ManufacturerID"]);
                    if (rowView["ExpiryDate"] != DBNull.Value)
                    {
                        newrow["ExpiryDate"] = Convert.ToDateTime(rowView["ExpiryDate"]);
                    }
                    newrow["IsSaved"] = false;
                    newrow["GUID"]    = Guid.NewGuid();

                    if (rowView["InvoicedQuantity"] != DBNull.Value)
                    {
                        newrow["ReceiptInvoiceDetailID"] = Convert.ToInt32(rowView["ReceiptInvoiceDetailID"]);
                        newrow["ReceiptInvoiceID"]       = Convert.ToInt32(rowView["ReceiptInvoiceID"]);

                        newrow["BatchNumber"] = rowView["BatchNumber"];
                        newrow["InvoicedQty"] = Convert.ToDecimal(rowView["InvoicedQuantity"]);
                        newrow["UnitPrice"]   = Convert.ToDecimal(rowView["UnitPrice"]);
                        newrow["Margin"]      = Convert.ToDecimal(rowView["Margin"]);
                        newrow["IsSaved"]     = true;
                    }
                    else
                    {
                        newrow["UnitPrice"] = 0;
                        newrow["Margin"]    = 0;
                    }


                    _dtReceiptInvoiceDetail.Rows.Add(newrow);
                }
                MergeReceiptInvoiceDetailGUID();
                _dtReceiptInvoiceDetail.DefaultView.Sort = "FullItemName, Unit, Manufacturer, ExpiryDate DESC, BatchNumber DESC";
                gridInvoiceDetail.DataSource             = _dtReceiptInvoiceDetail;
                if (receiptInvoice.CheckIfThisInvoiceHasBeenReceived())
                {
                    gridInvoiceDetail.Enabled       = btnSave.Enabled = false;
                    tabInvoice.SelectedTabPageIndex = 0;
                    XtraMessageBox.Show("This Invoice has a related Receive!,You can't edit in this case!", "Invalid", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }