Beispiel #1
0
        private void btnGenerate_Click(object sender, EventArgs e)
        {
            if (ReadOnly)
            {
                return;
            }


            var productLocation = ProductLocationManager.GetVWByBranchAndDate(BranchID, Date);

            DataSetHelper.DeleteAllRows(ds_WarehouseDescription.SP_GetWarehouseDescriptionDetail);

            short i         = 0;
            var   rate      = CurrencyRate;
            var   id        = WarehouseDescriptionID;
            var   t_product = new DS_PurchaseOrderInfo.T_ProductDataTable();

            foreach (var row in productLocation)
            {
                i++;
                var newRow = ds_WarehouseDescription.SP_GetWarehouseDescriptionDetail.NewSP_GetWarehouseDescriptionDetailRow();
                newRow.WarehouseDescriptionID = id;
                newRow.OrdinalNumber          = i;
                newRow.MedicamentID           = row.MedicamentID;
                newRow.MedicamentName         = row.MedicamentName;
                newRow.UnitsInStock           = row.UnitsInStock;
                newRow.ProductID = row.ProductID;
                newRow[ds_WarehouseDescription.SP_GetWarehouseDescriptionDetail.CountryCodeColumn] = row[productLocation.CountryCodeColumn.ColumnName];
                newRow[ds_WarehouseDescription.SP_GetWarehouseDescriptionDetail.BrandIDColumn]     = row[productLocation.BrandIDColumn];
                newRow.UnitPrice = row.StandardCost * rate;
                newRow.Quantity  = row.Quantity;
                newRow.DescrQty  = 0m;
                ds_WarehouseDescription.SP_GetWarehouseDescriptionDetail.AddSP_GetWarehouseDescriptionDetailRow(newRow);
                t_product.AddT_ProductRow(row.ProductID);
            }

            DataTable t_xml        = DataSetHelper.PackAlternationDataTable(t_product);
            var       purchaseInfo = ProductionManager.GetPurchaseOrderInfo(0, CurrencyCode, DataSetHelper.InnerBytesData(t_xml));
            var       view         = new DataView(purchaseInfo);

            view.Sort = purchaseInfo.ProductIDColumn.ColumnName;

            foreach (var row in ds_WarehouseDescription.SP_GetWarehouseDescriptionDetail)
            {
                if (DataSetHelper.IsDataRowDeleted(row))
                {
                    continue;
                }

                var j = view.Find(row.ProductID);
                if (j == -1)
                {
                    continue;
                }

                var purchaseRow = (DS_PurchaseOrderInfo.SP_GetPurchaseOrderInfoRow)view[j].Row;
                row.UnitPrice = ProductionManager.GetPurchaseUnitPrice(purchaseRow.UnitPrice, purchaseRow.AverageRate1, purchaseRow.AverageRate2);
            }
        }