public Domain.Request FindSingle(int requestID) { var request = new Domain.Request(); var order = new Order(); order.LoadByPrimaryKey(requestID); request.RequestID = order.ID; request.OrderNumber = order.RefNo; request.LetterNumber = !order.IsColumnNull("LetterNo") ? order.LetterNo : ""; request.RequestedDate = order.EurDate; request.Client = _clientRepository.FindSingle(order.RequestedBy); request.Mode = _modeService.GetEnum(order.FromStore); request.PaymentTerm = _paymentTermService.FindSingle(order.PaymentTypeID); request.OrderStatus = _orderStatusService.GetEnum(order.OrderStatusID); var orderDetail = new OrderDetail(); orderDetail.LoadAllByOrderID(requestID); orderDetail.Rewind(); request.RequestDetails = new Collection <Domain.RequestDetail>(); while (!orderDetail.EOF) { var item = _itemRepository.FindSingle(orderDetail.ItemID); var unitOfIssue = _unitOfIssueRepository.FindSingle(orderDetail.UnitID); var requestDetail = new Domain.RequestDetail() { RequestDetailId = orderDetail.ID, Item = item, Unit = unitOfIssue, RequestedQuantity = orderDetail.Pack, ApprovedQuantity = !orderDetail.IsColumnNull("ApprovedQuantity") ? orderDetail.ApprovedQuantity : orderDetail.Pack, IsFirstLoad = orderDetail.IsColumnNull("ApprovedQuantity"), ActivityGroup = orderDetail.IsColumnNull(OrderDetail.ColumnNames.StoreID)?null:_activityRepository.FindSingle(orderDetail.StoreID, orderDetail.DeliveryNote), ExpiryDate = !orderDetail.IsColumnNull("PreferredExpiryDate") ? orderDetail.PreferredExpiryDate : (DateTime?)null, Manufacturer = !orderDetail.IsColumnNull("PreferredManufacturerID") ? _manufacturerRepository.FindSingle( orderDetail.PreferredManufacturerID) : null, physicalStore = !orderDetail.IsColumnNull("PreferredPhysicalStoreID") ? _physicalStoreRepository.FindSingle( orderDetail.PreferredPhysicalStoreID) : null }; request.RequestDetails.Add(requestDetail); orderDetail.MoveNext(); } return(request); }
/// <summary> /// Computes the stock calculations for an order detail. /// </summary> /// <param name="currentMonth">The current month.</param> /// <param name="currentYear">The current year.</param> /// <param name="userID">The user ID.</param> /// <param name="orderDetail">The order detail.</param> /// <returns></returns> public DataRow ComputeStockCalculationsForAnOrderDetail(int currentMonth, int currentYear, int userID, OrderDetail orderDetail) { if (!IsOrderDetailTableReady(orderDetail)) { PrepareOrderDetailTable(orderDetail); } int? preferredManufacturer; int? preferredPhysicalStoreID; decimal usableStock; decimal approved; decimal availableQuantity; Balance bal = new Balance(); ItemManufacturer imf = new ItemManufacturer(); int? unitid = null; PriceSettings priceSettings = BLL.Settings.HandleDeliveryNotes ? PriceSettings.BOTH : PriceSettings.PRICED_ONLY; BLL.Order parentOrder = new Order(); parentOrder.LoadByPrimaryKey(orderDetail.OrderID); unitid = orderDetail.UnitID; preferredManufacturer = orderDetail.IsColumnNull("PreferredManufacturerID") ? null : new int?(orderDetail.PreferredManufacturerID); preferredPhysicalStoreID = orderDetail.IsColumnNull("PreferredPhysicalStoreID") ? null : new int?(orderDetail.PreferredPhysicalStoreID); if (orderDetail.IsColumnNull("StoreID")) { orderDetail.StoreID = BLL.Activity.GetActivityUsingFEFO(this.FromStore, orderDetail.ItemID, orderDetail.UnitID); orderDetail.Save(); } Activity storeObject = new Activity(); availableQuantity = storeObject.LoadOptionsForOrderDetail(userID, orderDetail.ID, priceSettings, bal, false, out usableStock, out approved); orderDetail.SetColumn("AvailableStores", storeObject.DefaultView); if (storeObject.RowCount == 1) { orderDetail.StoreID = storeObject.ID; // Avoid error if the column IsDeliveryNote doesn't exsit at all. orderDetail.DeliveryNote = storeObject.DefaultView.Table.Columns.IndexOf("IsDeliveryNote") >= 0 && !storeObject.IsColumnNull("IsDeliveryNote") && Convert.ToBoolean(storeObject.GetColumn("IsDeliveryNote")); availableQuantity = Convert.ToDecimal(storeObject.GetColumn("AvailableSKU")); } else if (storeObject.RowCount > 1) { //TOCLEAN: Lord have mercy. // // check if the default activity is selected // if it has been selected, then do a good job and select it. storeObject.Rewind(); while ( !storeObject.EOF && ( ( storeObject.ID == orderDetail.StoreID && !orderDetail.IsColumnNull("DeliveryNote") && orderDetail.DeliveryNote && !Convert.ToBoolean(storeObject.GetColumn("IsDeliveryNote")) ) || storeObject.ID != orderDetail.StoreID ) ) { storeObject.MoveNext(); } // the selected store is found, don't worry. if (!storeObject.EOF) { availableQuantity = Convert.ToDecimal(storeObject.GetColumn("AvailableSKU")); } else { // the selected store is not found, please do select the first store. storeObject.Rewind(); orderDetail.StoreID = storeObject.ID; orderDetail.DeliveryNote = (storeObject.DefaultView.Table.Columns.IndexOf("IsDeliveryNote") >= 0 && !storeObject.IsColumnNull("IsDeliveryNote") && Convert.ToBoolean(storeObject.GetColumn("IsDeliveryNote"))); availableQuantity = Convert.ToDecimal(storeObject.GetColumn("AvailableSKU")); } } orderDetail.SetColumn("HasStores", (storeObject.RowCount > 1) ? "*" : ""); // Precaution ... to hide -ve available quantity. if (availableQuantity < 0) { availableQuantity = 0; } orderDetail.StockedOut = availableQuantity <= 0; orderDetail.Save(); int qinBu = 1; if (unitid.HasValue) { ItemUnit itemUnit = new ItemUnit(); itemUnit.LoadByPrimaryKey(unitid.Value); qinBu = itemUnit.QtyPerUnit; //Checking if the columns from the vwGetAllItems have been filled in. var fullItemName = orderDetail.GetColumn("FullItemName").ToString(); if (string.IsNullOrEmpty(fullItemName)) { BLL.Order temp = new Order(); temp.LoadFromRawSql(HCMIS.Repository.Queries.Order.SelectItemDetail(orderDetail.ItemID)); orderDetail.SetColumn("Unit", itemUnit.Text); orderDetail.SetColumn("FullItemName", temp.GetColumn("FullItemName")); orderDetail.SetColumn("StockCode", temp.GetColumn("StockCode")); orderDetail.SetColumn("CategoryType", temp.GetColumn("CategoryType")); } } orderDetail.SetColumn("AvailableQuantity", availableQuantity); orderDetail.SetColumn("PricedQuantity", usableStock); if (orderDetail.IsColumnNull("ApprovedQuantity")) { if ((orderDetail.Quantity / ((long)qinBu)) < availableQuantity) { orderDetail.ApprovedQuantity = orderDetail.Quantity; } else { orderDetail.ApprovedQuantity = availableQuantity * qinBu; } } if (BLL.Settings.AllowPreferredManufacturers) { Manufacturer manuf = new Manufacturer(); manuf.LoadForItem(orderDetail.ItemID, orderDetail.StoreID, orderDetail.UnitID, true); manuf.AddNew(); manuf.ID = -1; manuf.Name = "Remove Preference"; orderDetail.SetColumn("AvailableManufacturer", manuf.DefaultView); orderDetail.SetColumn("HasManufacturers", (manuf.RowCount > 2) ? "*" : ""); if (manuf.RowCount == 2) { manuf.Rewind(); orderDetail.PreferredManufacturerID = manuf.ID; } } if (BLL.Settings.AllowPreferredPhysicalStore) { PhysicalStore phyStore = new PhysicalStore(); phyStore.LoadForItem(userID, orderDetail.ItemID, orderDetail.StoreID, orderDetail.UnitID); phyStore.AddNew(); phyStore.Name = "Remove Preference"; phyStore.ID = -1; orderDetail.SetColumn("AvailablePhysicalStore", phyStore.DefaultView); orderDetail.SetColumn("HasPhysicalStoreChoice", (phyStore.RowCount > 2) ? "*" : ""); if (phyStore.RowCount == 2) { phyStore.Rewind(); orderDetail.PreferredPhysicalStoreID = phyStore.ID; } } if (BLL.Settings.AllowPreferredExpiry) { ReceiveDoc rd = new ReceiveDoc(); rd.LoadExpiryDatesForItem(orderDetail.ItemID, orderDetail.StoreID, orderDetail.UnitID, true, preferredManufacturer, preferredPhysicalStoreID); rd.AddNew(); rd.SetColumn("ExpiryDateString", "Remove Preference"); orderDetail.SetColumn("AvailableExpiry", rd.DefaultView); orderDetail.SetColumn("HasExpiryChoice", (rd.RowCount > 2) ? "*" : ""); if (!orderDetail.IsColumnNull("PreferredExpiryDate")) { DateTime expDate = orderDetail.PreferredExpiryDate; string expDateStr = string.Format("{0}-{1:00}-{2:00}", expDate.Year, expDate.Month, expDate.Day, ""); orderDetail.SetColumn("ExpiryDateString", expDateStr); } } // do some reseting if the approved quanitty is greater than if (orderDetail.ApprovedQuantity / qinBu > availableQuantity) { orderDetail.ApprovedQuantity = availableQuantity * qinBu; } orderDetail.SetColumn("UsableStock", usableStock); orderDetail.SetColumn("PApprovedStock", approved); orderDetail.SetColumn("SKUBU", qinBu); orderDetail.SetColumn("AvailableSKU", availableQuantity); string TextID = ((orderDetail.IsColumnNull("DeliveryNote") || !orderDetail.DeliveryNote) ? "N" : "D") + orderDetail.StoreID.ToString(); orderDetail.SetColumn("TextID", TextID); orderDetail.SetColumn("ApprovedSKU", orderDetail.ApprovedQuantity / Convert.ToDecimal(qinBu)); orderDetail.SetColumn("RequestedSKU", orderDetail.Quantity / Convert.ToDecimal(qinBu)); if (availableQuantity == 0) { orderDetail.SetColumnNull("TextID"); orderDetail.SetColumnNull("StoreID"); } Item itm = new Item(); string warning = (itm.GetItemAllowStatus(orderDetail.ItemID, this.RequestedBy) == 0) ? "Warning" : ""; orderDetail.SetColumn("Warning", warning); //if (!orderDetail.IsColumnNull("StoreID")) //{ // var balance = new Balance(); //balance.LoadQuantityNotReceive(orderDetail.ItemID, orderDetail.UnitID, parentOrder.FromStore); //var totalrequested =balance.GetTotalApprovedQuantityByItem(parentOrder.ID, orderDetail.ItemID, orderDetail.UnitID,parentOrder.FromStore); orderDetail.SetColumn("GIT", 0); orderDetail.SetColumn("CRequested",0); orderDetail.SetColumn("CApproved",0); //orderDetail.SetColumn("DOS", balance.DOS); //orderDetail.SetColumn("TotalIssued", balance.TotalIssued); //orderDetail.SetColumn("FiscalYearDays", balance.FiscalYearDays); //decimal amc = 0; //decimal mos = 0; //var totalissued = balance.TotalIssued; //var totaldatediff = balance.FiscalYearDays - balance.DOS; //if (totalissued != 0) //{ // amc = Convert.ToDecimal(totalissued / totaldatediff) * 30; //} //else if (amc == 0) //{ // mos = Convert.ToDecimal(balance.FiscalYearDays / 30.0); //} //else if (amc != 0 && availableQuantity != 0) //{ // mos = Convert.ToDecimal(availableQuantity / amc); //} //else if (availableQuantity == 0 && amc != 0) //{ // mos = 0; //} //else //{ // amc = 0; // mos = 0; //} orderDetail.SetColumn("TotalRequested", 0); orderDetail.SetColumn("AMC", 0); orderDetail.SetColumn("MOS", 0); //} return orderDetail.DefaultView.ToTable().Rows[0]; }
/// <summary> /// Generate the pick list /// </summary> /// <param name="orderId">The order id.</param> /// <param name="bgWorker">The bg worker.</param> /// <returns></returns> public DataView GetPalletLocationChoice(int userID, int orderId, BackgroundWorker bgWorker) { var order = new Order(); // Load the order order.LoadByPrimaryKey(orderId); //TODO: check if the order is already approved or not. // if not please return from here // Load the order details var orderDetail = new OrderDetail(); orderDetail.LoadAllByOrderID(orderId); orderDetail.AddColumn("ActivityConcat", typeof(string)); // prepare the pick list data table with the proper fields _pickList = GetPickListTable(); _replenishmentList = new DataTable(); _replenishmentList.Columns.Add("ItemID", typeof(int)); _replenishmentList.Columns.Add("StoreID", typeof(int)); int count = 0; // iterate through the order detail and make the pick list while (!orderDetail.EOF) { DateTime startTime = DateTime.Now; System.Console.WriteLine("Processing - " + orderDetail.ItemID); // check if there are enough priced items of the same or more quantity in the store int? unitID = null; if (!orderDetail.IsColumnNull("UnitID")) { unitID = orderDetail.UnitID; } if (!orderDetail.IsColumnNull("StockedOut") && (!orderDetail.StockedOut ||(orderDetail.ApprovedQuantity > 0 && orderDetail.Quantity > orderDetail.ApprovedQuantity))) { DateTime? preferredExpiry = new DateTime(); if (orderDetail.IsColumnNull("PreferredManufacturerID")) orderDetail.PreferredManufacturerID = -1; if (orderDetail.IsColumnNull("PreferredPhysicalStoreID")) orderDetail.PreferredPhysicalStoreID = -1; if (orderDetail.IsColumnNull("PreferredExpiryDate")) preferredExpiry = null; else { preferredExpiry = orderDetail.PreferredExpiryDate; } if (!orderDetail.IsColumnNull("ApprovedQuantity") && (orderDetail.ApprovedQuantity > 0 && !orderDetail.IsColumnNull("StoreID"))) { AddToPickListFor(userID, orderDetail.ID, orderDetail.ItemID, unitID, orderDetail.ApprovedQuantity, orderDetail.StoreID, orderDetail.PreferredManufacturerID, orderDetail.PreferredPhysicalStoreID, !orderDetail.IsColumnNull("DeliveryNote") && orderDetail.DeliveryNote, preferredExpiry); } } System.Console.WriteLine(string.Format("Took - {0}:{1} for Item ID = {2}", DateTime.Now.Subtract(startTime).Minutes, DateTime.Now.Subtract(startTime).Seconds, orderDetail.ItemID)); orderDetail.MoveNext(); count++; bgWorker.ReportProgress(count, null); } // A quick hack just to show the pallet location on the order form var pl = new PalletLocation(); var im = new ItemManufacturer(); foreach (DataRowView drv in _pickList.DefaultView) { int plid = Convert.ToInt32(drv["PalletLocationID"]); pl.LoadByPrimaryKey(plid); drv["PalletLocation"] = pl.FullName; im.LoadIMbyLevel(Convert.ToInt32(drv["ItemID"]), Convert.ToInt32(drv["ManufacturerID"]), Convert.ToInt32(drv["BoxLevel"])); drv["QtyInSKU"] = im.RowCount > 0 ? Convert.ToDecimal(drv["Pack"]) * im.QuantityInSku : Convert.ToDecimal(drv["Pack"]); drv["BoxSizeDisplay"] = im.RowCount > 0 ? im.LevelView2 : ""; //im.RightName; drv["WarehouseName"] = pl.WarehouseName; drv["PhysicalStoreName"] = pl.PhysicalStoreName; var activity = new Activity(); activity.LoadByPrimaryKey(Convert.ToInt32(drv["StoreID"])); drv["ActivityConcat"] = activity.FullActivityName; drv["AccountName"] = activity.AccountName; } //foreach (DataRowView v in _pickList.DefaultView) //{ //} return _pickList.DefaultView; }
/// <summary> /// The code supports manufacturer preference here too but we choose not to prefer manufacturers when looking into the stores. /// </summary> /// <param name="userID"></param> /// <param name="orderDetailID"></param> /// <param name="pricedUnpricedBoth"></param> /// <param name="bal"> </param> /// <param name="markStockoutBit"> </param> /// <param name="usableStock"> </param> /// <param name="approved"> </param> public decimal LoadOptionsForOrderDetail(int userID, int orderDetailID, PriceSettings pricedUnpricedBoth, Balance bal, bool markStockoutBit, out decimal usableStock, out decimal approved) { decimal avQuantity = 0; BLL.OrderDetail orderDetail = new OrderDetail(); orderDetail.LoadByPrimaryKey(orderDetailID); BLL.Order order = new Order(); order.LoadByPrimaryKey(orderDetail.OrderID); Institution ru = new Institution(); ru.LoadByPrimaryKey(order.RequestedBy); int month = EthiopianDate.EthiopianDate.Now.Month; int year = EthiopianDate.EthiopianDate.Now.Year; decimal availableQty = 0; usableStock = 0; approved = 0; int? manufacturerPrefrence = null, unitID = null; if (!orderDetail.IsColumnNull("PreferredManufacturerID")) { manufacturerPrefrence = orderDetail.PreferredManufacturerID; } DateTime? expPreferrence = null; if(!orderDetail.IsColumnNull("PreferredExpiryDate")) { expPreferrence = orderDetail.PreferredExpiryDate; } int? preferredPhysicalStoreID = null; if (!orderDetail.IsColumnNull("PreferredPhysicalStoreID")) { preferredPhysicalStoreID = orderDetail.PreferredPhysicalStoreID; } //-------------------------------------------------------------------------- //manufacturerPrefrence = null; //We are overriding the manufacturer preference. //expPreferrence = null; //-------------------------------------------------------------------------- if (!orderDetail.IsColumnNull("UnitID")) { unitID = orderDetail.UnitID; } BLL.UserActivity userStore = new UserActivity(); // Definitely a danger zone userStore.LoadByUserIDAndStoreType(userID, order.FromStore, orderDetail.ItemID, unitID.Value); while (!userStore.EOF) { var activity = new Activity(); activity.LoadByPrimaryKey(userStore.ActivityID); if(order.FromStore == Mode.Constants.RDF && !BLL.Settings.IsCenter && !BLL.Settings.PrivateCanGetFromMDGAndPBS && ru.Ownership == OwnershipType.Constants.Private && activity.IsSubsidized ){ userStore.MoveNext(); continue; } // Load the Activity Selection that has PRiced Commodities. Balance balance = new Balance(); if (pricedUnpricedBoth == PriceSettings.PRICED_ONLY || pricedUnpricedBoth == PriceSettings.BOTH) { BLL.Order.MakeStockCalculations(userID, month, year, PriceSettings.PRICED_ONLY, orderDetail, userStore.ActivityID, orderDetail.ItemID, order, balance, unitID, manufacturerPrefrence, expPreferrence, preferredPhysicalStoreID, out usableStock, out approved, out availableQty, markStockoutBit); avQuantity += availableQty; if (availableQty > 0) { this.AddNew(); this.ID = userStore.ActivityID; this.Name = string.Format("{0} ({1})", activity.FullActivityName, availableQty.ToString("#,##0")); PrepareColumnsForApproval(); this.SetColumn("AvailableSKU", availableQty); this.SetColumn("IsDeliveryNote", false); this.SetColumn("TextID",string.Format("N{0}",this.ID)); } } // Load Activity Selections for Delivery Note Items. if (pricedUnpricedBoth == PriceSettings.DELIVERY_NOTE_ONLY || pricedUnpricedBoth == PriceSettings.BOTH) { BLL.Order.MakeStockCalculations(userID, month, year, PriceSettings.DELIVERY_NOTE_ONLY, orderDetail, userStore.ActivityID, orderDetail.ItemID, order, balance, unitID, manufacturerPrefrence, expPreferrence, preferredPhysicalStoreID, out usableStock, out approved, out availableQty, markStockoutBit); avQuantity += availableQty; if (availableQty > 0) { this.AddNew(); this.ID = userStore.ActivityID; //Just to give it a different ID so we know there is a change only. this.Name = string.Format("+-- {0} - Delivery Notes - ({1})", userStore.GetColumn("ActivityName"), availableQty.ToString("#,##0")); PrepareColumnsForApproval(); this.SetColumn("AvailableSKU", availableQty); this.SetColumn("IsDeliveryNote", true); this.SetColumn("TextID", string.Format("D{0}", this.ID)); } } userStore.MoveNext(); } return avQuantity; }
private void OnApprovedOrderRowClicked(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e) { if (e != null && e.RowHandle < -1) { return; } var gv = (GridView)sender; var dr = gv.GetFocusedDataRow(); _orderID = Convert.ToInt32(dr["ID"].ToString()); order.LoadByPrimaryKey(_orderID); // populate the general order variables txtPickListFromStore.Text = order.GetFromStore(); lblMode.Text = order.GetFromStore() ?? "-"; txtPickListRequestedBy.Text = order.GetRequestedBy(); labelControl9.Text = order.GetRequestedBy() ?? "-"; var us = new BLL.User(); us.LoadByPrimaryKey(order.FilledBy); lblFilledBy.Text = us.FullName ?? "-"; string s = ""; lblLetterNum.Text = String.IsNullOrEmpty(order.LetterNo) ? "-" : order.LetterNo; var orderDetail = new OrderDetail(); orderDetail.LoadAllByOrderID(order.ID); var paymentType = new BLL.PaymentType(); paymentType.LoadByPrimaryKey(order.PaymentTypeID); if (!orderDetail.IsColumnNull("StoreID")) { var activity = new Activity(); activity.LoadByPrimaryKey(orderDetail.StoreID); lblMode.Text = activity.ModeName ?? "-"; } lblIssueStatus.Text = (string)dr["OrderStatus"] ?? "-"; lblIssueType.Text = (string)dr["Description"] ?? "-"; if (!order.IsColumnNull("RequestedBy")) { var ins = new Institution(); ins.LoadByPrimaryKey(order.RequestedBy); var ownership = new BLL.OwnershipType(); ownership.LoadByPrimaryKey(ins.Ownership); int length = ins.Name.Length; HeaderSection.Text = ins.Name + s.PadRight(150 - length) + "Order Number: " + order.RefNo; lblOwnership.Text = ownership.Name ?? "-"; lblZone.Text = ins.ZoneName ?? "-"; lblWoreda.Text = ins.WoredaName ?? "-"; lblRegion.Text = ins.RegionName ?? "-"; lblInstitutionType.Text = ins.InstitutionTypeName ?? "-"; } else { HeaderSection.Text = lblOwnership.Text = lblZone.Text = lblWoreda.Text = lblRegion.Text = lblInstitutionType.Text = "-"; } lblPaymentType.Text = paymentType.Name; lblOrderDate.Text = order.Date.ToShortDateString(); txtPickListOrderNumber.Text = order.RefNo; labelControl12.Text = order.RefNo; txtPickListApprovedBy.Text = order.GetApprovedBy(); labelControl13.Text = order.GetApprovedBy(); if (order.OrderStatusID == OrderStatus.Constant.PICK_LIST_GENERATED) { PickList pl = new PickList(); gridPickListDetail.DataSource = pl.GetPickListDetailsForOrder(_orderID); btnPrintAndSavePickList.Text = @"Confirm"; colPrice.FieldName = "Cost"; colSKU.FieldName = "Packs"; btnCancelPickList.Enabled = (BLL.Settings.UseNewUserManagement)? this.HasPermission("Cancel-Pick-List"):true; pl.LoadByOrderID(_orderID); if (!pl.IsColumnNull("PickedBy")) { us.LoadByPrimaryKey(pl.PickedBy); lblPicklistPrintedBy.Text = us.FullName; } else { lblPicklistPrintedBy.Text = "-"; } lblPicklistPrintedDate.Text = !pl.IsColumnNull("SavedDate") ? pl.SavedDate.ToShortDateString() : "-"; lblPicklistNo.Text = !pl.IsColumnNull("PrintedID") ? pl.PrintedID.ToString() : "-"; } //gridPickListView.EndSummaryUpdate(); }
private void OnApprovedOrderRowClicked(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e) { var gv = (GridView)sender; var dr = gv.GetFocusedDataRow(); var or = new BLL.Order(); _orderID = Convert.ToInt32(gv.GetFocusedDataRow()["ID"].ToString()); order.LoadByPrimaryKey(_orderID); // populate the general order variables txtPickListFromStore.Text = order.GetFromStore(); lblMode.Text = order.GetFromStore(); txtPickListRequestedBy.Text = order.GetFilledBy(); if (!order.IsColumnNull("RequestedBy")) { var ins = new Institution(); ins.LoadByPrimaryKey(order.RequestedBy); var ownership = new BLL.OwnershipType(); ownership.LoadByPrimaryKey(ins.Ownership); lblOwnership.Text = ownership.Name; lblInstitutionType.Text = ins.InstitutionTypeName; lblFacility.Text = ins.Name; lblWoreda.Text = ins.WoredaName; lblZone.Text = ins.ZoneName; lblRegion.Text = ins.RegionName; lblLetterNum.Text = String.IsNullOrEmpty(order.LetterNo) ? "-" : order.LetterNo; } else { lblFacility.Text = lblWoreda.Text = lblZone.Text = lblRegion.Text = lblOwnership.Text = "";// lblType.Text = ""; } int length = order.GetRequestedBy().Length; string s = ""; HeaderLayoutGroup.Text = order.GetRequestedBy() + s.PadRight(150 - length) + "Order Number:" + order.RefNo; txtPickListOrderNumber.Text = order.RefNo; lblOrderNum.Text = order.RefNo; txtPickListApprovedBy.Text = order.GetApprovedBy(); lblApprovedBy.Text = order.GetApprovedBy(); var orderDetail = new OrderDetail(); orderDetail.LoadAllByOrderID(order.ID); if (!orderDetail.IsColumnNull("StoreID")) { var activity = new Activity(); activity.LoadByPrimaryKey(orderDetail.StoreID); lblMode.Text = activity.ModeName; } lblOrderDate.Text = order.Date.ToShortDateString(); var us = new BLL.User(); us.LoadByPrimaryKey(order.FilledBy); lblFilledBy.Text = us.FirstName; lblIssueStatus.Text = (string)dr["OrderStatus"] ?? "-"; lblIssueType.Text = (string)dr["Description"] ?? "-"; var paymentType = new BLL.PaymentType(); paymentType.LoadByPrimaryKey(order.PaymentTypeID); lblPaymentType.Text = paymentType.Name; if (order.OrderStatusID == OrderStatus.Constant.ORDER_APPROVED) { progressBarControl.Properties.Maximum = order.CountOfDetailItems(); progressBarControl.Properties.DisplayFormat.FormatString = "{0: #,##0}" + string.Format(" of {0}", progressBarControl.Properties.Maximum); progressBarControl.Properties.DisplayFormat.FormatType = FormatType.Custom; progressBarControl.EditValue = 0; this.Enabled = false; progressBarControl.Visible = true; bgWorker.RunWorkerAsync(_orderID); } }