private void btnPrint_Click(object sender, EventArgs e) { var dvPickListMakeup = (DataTable)gridTransactions.DataSource; var ord = new BLL.Order(); ord.LoadByPrimaryKey(OrderID); var rus = new Institution(); rus.LoadByPrimaryKey(ord.RequestedBy); if (BLL.Settings.IsCenter) { dvPickListMakeup.Columns["PhysicalStoreTypeName"].ColumnName = "WarehouseName"; dvPickListMakeup.Columns["SKUTOPICK"].ColumnName = "QtyInSKU"; dvPickListMakeup.Columns["StoreGroupName"].ColumnName = "AccountName"; dvPickListMakeup.Columns.Add("ActivityConcat"); foreach (DataRow r in dvPickListMakeup.Rows) { var activity = new Activity(); activity.LoadByPrimaryKey(Convert.ToInt32(r["StoreID"])); r["ActivityConcat"] = activity.FullActivityName; } } var pl = HCMIS.Desktop.Reports.WorkflowReportFactory.CreatePicklistReport(ord, rus.Name, dvPickListMakeup.DefaultView); pl.ShowPreviewDialog(); // refresh the display lstRefNo_FocusedNodeChanged(null, null); }
/// <summary> /// Gets the next GRV number. /// </summary> /// <param name="storeID">The store ID.</param> /// <param name="receiptTypeID">The receipt type ID.</param> /// <param name="preGRVorGRVOrSRM">The pre GR vor GRV or SRM.</param> /// <returns></returns> /// <summary> /// Adds the new. /// </summary> /// <param name="printedConfirmationNumber">The printed confirmation number.</param> /// <param name="storeID">The store ID.</param> /// <param name="supplierID">The supplier ID.</param> /// <param name="userID">The user ID.</param> /// <param name="receiptID">The receipt ID.</param> /// <param name="grvOrPreGRVorSRM">The GRV or pre GR vor SRM.</param> /// <param name="isReprintOfRCNo">The is reprint of RC no.</param> private int AddNew(int storeID, int?supplierID, int?userID, int receiptID, int grvOrPreGRVorSRM, int?isReprintOfRCNo) { //1-PreGRV,2-GRV,3-SRM,4-iGRV,5-DeliveryNote AddNew(); PrintedDate = DateTimeHelper.ServerDateTime; StoreID = storeID; if (supplierID.HasValue) { SupplierID = supplierID.Value; } if (userID.HasValue) { UserID = userID.Value; } ReceiptID = receiptID; FiscalYearID = FiscalYear.Current.ID; Activity activity = new Activity(); activity.LoadByPrimaryKey(storeID); AccountID = activity.AccountID; //This has been Added to maintain the grvOrPreGRVorSRM(the variable with a funny name) //Which should be removed soon if (grvOrPreGRVorSRM == 1) { Reason = "PGRV"; DocumentTypeID = DocumentType.documentTypes.GRNF.DocumentTypeID; } else if (grvOrPreGRVorSRM == 2) { Reason = "GRV"; DocumentTypeID = DocumentType.documentTypes.GRV.DocumentTypeID; } else if (grvOrPreGRVorSRM == 3) { Reason = "SRM"; DocumentTypeID = DocumentType.documentTypes.SRM.DocumentTypeID; } else { Reason = "iGRV"; DocumentTypeID = DocumentType.documentTypes.IGRV.DocumentTypeID; } if (isReprintOfRCNo.HasValue) { IsReprintOf = isReprintOfRCNo.Value; } IDPrinted = DocumentType.GetNextSequenceNo(DocumentTypeID, AccountID, FiscalYearID); Save(); return(IDPrinted); }
/// <summary> /// Loads the by user ID. /// </summary> /// <param name="userID">The user ID.</param> public void LoadByUserID(int userID) { string query = HCMIS.Repository.Queries.UserActivity.SelectLoadByUserID(userID); this.LoadFromRawSql(query); // TO Clean: This while (!EOF) { Activity activity = new Activity(); activity.LoadByPrimaryKey(Getint("StoreID")); SetColumn("StoreName", activity.FullActivityName); MoveNext(); } this.Rewind(); }
public DataView CostAnalysis(string pGRVNo) { Receipt receipt = new Receipt(ReceiptID); PO PO = receipt.ReceiptInvoice.PO; ReceiptInvoice receiptInvoice = receipt.ReceiptInvoice; ReceiveDoc receiveDoc = new ReceiveDoc(); receiveDoc.LoadByReceiptID(ReceiptID); Activity activity = new Activity(); activity.LoadByPrimaryKey(receiveDoc.StoreID); JournalEntry UnitCostJournal = new JournalEntry(activity.AccountName, activity.SubAccountName, activity.Name, PO.Supplier.CompanyName, "", PO.PONumber, pGRVNo, receiptInvoice.STVOrInvoiceNo, receiptInvoice.TransitTransferNo, receiptInvoice.WayBillNo, receiptInvoice.InsurancePolicyNo); double GIT = _GrandTotalCost; //When insurance is included (_TotalLandedCost-_GrandTotal) is the price effect cauzed by rounding double PriceDifference = Math.Round(_PriceDifference - _PriceDifferenceIns, Settings.NoOfDigitsAfterTheDecimalPoint); if (receiveDoc.ReturnedStock) { double stock = Math.Round(GetGrandTotalForSRM(), 2); return(SRMCostAnalysis(UnitCostJournal, _CommodityType, stock, stock, ReceiptID)); } UnitCostJournal.AddNewEntry("Stock (" + _CommodityType + ")", Math.Round(_GrandTotalCost + PriceDifference, Settings.NoOfDigitsAfterTheDecimalPoint), null); if (PriceDifference > 0) { UnitCostJournal.AddNewEntry("Price Difference", null, Math.Abs(PriceDifference)); } else if (PriceDifference < 0) { UnitCostJournal.AddNewEntry("Price Difference", Math.Abs(PriceDifference), null); } UnitCostJournal.AddNewEntry( "Account Payable (" + GetAccountPayableCorrectNameByAccount(_Supplier) + ")", null, Math.Round(_GrandTotalCost, Settings.NoOfDigitsAfterTheDecimalPoint)); return(UnitCostJournal.DefaultView()); }
public static Order GenerateOrder(int? orderID, int orderTypeID, int orderStatusID, int activityID, int paymentTypeID, string contactPerson, int? requestedBy, int userID, int? refNo = null) { var requisitionType = new RequisitionType(); int requisitionTypeID = Convert.ToInt32(requisitionType.LoadIDByCode("DMN")["RequisitionTypeID"]); Order or = new Order(); if (orderID == null) { or.AddNew(); } else { or.LoadByPrimaryKey(orderID.Value); } or.RefNo = refNo == null ? GetNextOrderReference() : refNo.ToString(); var oldOrderStatus = or.IsColumnNull("OrderStatusID") ? (int?)null : or.OrderStatusID; or.OrderStatusID = orderStatusID; // or.RequisitionTypeID = RequisitionType.CONSTANTS.DEMAND; or.RequisitionTypeID = requisitionTypeID; or.EurDate = or.Date = DateTimeHelper.ServerDateTime; if (requestedBy != null) { or.RequestedBy = requestedBy.Value; } or.FilledBy = userID; or.ContactPerson = contactPerson; var activity = new Activity(); activity.LoadByPrimaryKey(activityID); or.FromStore = activity.ModeID; or.PaymentTypeID = paymentTypeID; or.FiscalYearID = FiscalYear.Current.ID; or.OrderTypeID = orderTypeID; or.Save(); or.LogRequisitionStatus(or.ID, oldOrderStatus, orderStatusID, CurrentContext.UserId); return or; }
public DataTable GetSavedRRFForDisplay() { this.FlushData(); string query = HCMIS.Repository.Queries.RRF.SelectGetSavedRRFForDisplay(); this.LoadFromRawSql(query); this.AddColumn("DateOfSubmissionEth", typeof(string)); this.AddColumn("RRFTypeText", typeof(string)); while (!this.EOF) { string ethDate = this.IsColumnNull("DateOfSubmission") ? "" : EthiopianDate.EthiopianDate.GregorianToEthiopian(this.DateOfSubmission); this.SetColumn("DateOfSubmissionEth", ethDate); Activity str = new Activity(); str.LoadByPrimaryKey(this.RRFType); this.SetColumn("RRFTypeText", str.FullActivityName); this.MoveNext(); } return this.DataTable; }
public DataTable GetSavedRRFForDisplay() { this.FlushData(); string query = HCMIS.Repository.Queries.RRF.SelectGetSavedRRFForDisplay(); this.LoadFromRawSql(query); this.AddColumn("DateOfSubmissionEth", typeof(string)); this.AddColumn("RRFTypeText", typeof(string)); while (!this.EOF) { string ethDate = this.IsColumnNull("DateOfSubmission") ? "" : EthiopianDate.EthiopianDate.GregorianToEthiopian(this.DateOfSubmission); this.SetColumn("DateOfSubmissionEth", ethDate); Activity str = new Activity(); str.LoadByPrimaryKey(this.RRFType); this.SetColumn("RRFTypeText", str.FullActivityName); this.MoveNext(); } return(this.DataTable); }
public static Reports.BinCardReport CreateBinCard(int activityID, int itemID, int unitID, int warehouse,DateTime? startDate=null,DateTime? endDate =null) { BLL.Balance balance = new Balance(); BLL.Item item = new Item(); item.LoadByPrimaryKey(itemID); ItemUnit iunit = new ItemUnit(); iunit.LoadByPrimaryKey(unitID); Activity activity = new Activity(); activity.LoadByPrimaryKey(activityID); var dataView = new DataView(); if (startDate == null || endDate == null) { dataView = Balance.GetBinCardByWarehouse(activityID, itemID, unitID, EthiopianDate.EthiopianDate.Now.FiscalYear, warehouse); } else { dataView = Balance.GetBinCardByDate(activityID, itemID, unitID, warehouse,startDate.Value,endDate.Value); } BinCardReport report = new BinCardReport(); report.DataSource = dataView; report.StockCode.Text = item.StockCode; report.Description.Text = item.FullItemName; report.Unit.Text = iunit.Text; report.ItemSource.Text = activity.FullActivityName; // TODO: add the Item Source Here (the suggested interpretation is that item source is supplier) report.PrintedBy.Text = string.Format("Generated By: {0} On {1}", CurrentContext.LoggedInUserName, BLL.DateTimeHelper.ServerDateTime.ToString("dd-MM-yyyy hh:mm tt")); report.AppVersion.Text = "HCMIS"; return report; }
private void lkReceiptInvoice_EditValueChanged(object sender, EventArgs e) { ResetFields(); if (lkReceiptInvoice.EditValue != null) { if ((standardRecType == StandardReceiptType.iGRVOnline || deliveryNoteType == DeliveryNoteType.Automatic) && lkReceiptInvoice.EditValue.Equals(-1)) { HandleReceiptTypeChange(true); return; } if (standardRecType == StandardReceiptType.iGRV && !lkReceiptInvoice.EditValue.Equals(-1)) { //This means, the hub has chosen an invoice other than "Not Found" from the list of invoices. Therefore, we want to change the receipt type to be iGRV-Online. HandleReceiptTypeChange(); } BLL.ReceiptInvoice rctInvoice = new ReceiptInvoice(); rctInvoice.LoadByPrimaryKey(Convert.ToInt32(lkReceiptInvoice.EditValue)); var po = new PO(); po.LoadByPrimaryKey(rctInvoice.POID); if (po.IsElectronic == true) { rdIsElectronic.Checked = true; lblSyncDate.Text = rctInvoice.DateOfEntry.ToShortDateString(); txtPassCode.Enabled = true; lcPassCode.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always; } else { rdIsElectronic.Checked = false; lblSyncDate.Text = "-"; txtPassCode.Enabled = false; lcPassCode.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; } lblOrderNo.Text = po.PONumber; lblOrderNum.Text = po.PONumber; if (!rctInvoice.IsColumnNull("DocumentTypeID")) { var doctype = new BLL.DocumentType(); doctype.LoadByPrimaryKey(rctInvoice.DocumentTypeID); lblDeliveryNote.Text = doctype.Name; lblHeaderDoc.Text = doctype.Name; } else { lblDeliveryNote.Text = "-"; lblHeaderDoc.Text = "-"; } var mode = new Mode(); mode.LoadByPrimaryKey(po.ModeID); lblMode.Text = mode.TypeName; lblAccount.Text = "-"; lblSubAccount.Text = "-"; lblActivity.Text = "-"; lblReferenceNo.Text = po.RefNo; var payment = new PaymentType(); payment.LoadByPrimaryKey(po.PaymentTypeID); lblPaymentType.Text = payment.Name; lblHeaderPayment.Text = payment.Name; //if (po.IsColumnNull("NBE")) //{ // lblNebService.Text = Convert.ToString(po.NBE); //} //else //{ // lblNebService.Text = "-"; //} if (po.Remaining != -1) lblRemainingValue.Text = po.Remaining.ToString(); else lblRemainingValue.Text = "-"; if (po.TotalValue != -1) lblTotalValue.Text = po.Remaining.ToString(); else lblTotalValue.Text = "-"; if (po.Insurance != -1) lblChargeInsurance.Text = po.Insurance.ToString(); else lblChargeInsurance.Text = "-"; if (po.NBE != -1) lblNebService.Text = po.NBE.ToString(); else lblNebService.Text = "-"; lblOrderDate.Text = po.PODate.ToShortDateString(); lblReceiptDate.Text = rctInvoice.DateOfEntry.ToShortDateString(); var user = new User(); user.LoadByPrimaryKey(po.SavedbyUserID); lblOrderBy.Text = user.FullName; var sup = new Supplier(); lkAccounts.EditValue = rctInvoice.ActivityID; var act = new Activity(); act.LoadByPrimaryKey(rctInvoice.ActivityID); _supplierID = rctInvoice.GetSupplier(); sup.LoadByPrimaryKey(_supplierID); lblSupplier.Text = sup.CompanyName; lblOrdSup.Text = sup.CompanyName; lblInvoiceNo.Text = rctInvoice.STVOrInvoiceNo; lblInvAccount.Text = act.AccountName ?? "-"; lblInvActivity.Text = act.Name ?? "-"; lblAct.Text = act.FullActivityName ?? "-"; lblInvSubAccount.Text = act.SubAccountName ?? "-"; lblInvMode.Text = act.ModeName ?? "-"; lblInvTotalValue.Text = rctInvoice.TotalFOBValue.ToString("N"); lblInsurancePolicy.Text = rctInvoice.InsurancePolicyNo == " "? rctInvoice.InsurancePolicyNo : "-"; var poType = new POType(); poType.LoadByPrimaryKey(po.PurchaseType); lblOrderType.Text = poType.Name ?? "-"; lblPOType.Text = poType.Name ?? "-"; var poStatus = new PurchaseOrderStatus(); poStatus.LoadByPrimaryKey(po.PurchaseOrderStatusID); lblOrderStatus.Text = poStatus.Name ?? "-"; var it = new InvoiceType(); it.LoadByPrimaryKey(rctInvoice.InvoiceTypeID); lblInvType.Text = it.Name; lblInvDate.Text = rctInvoice.DateOfEntry.ToShortDateString(); mode.LoadByPrimaryKey(rctInvoice.ActivityID); lblWayBillNo.Text = rctInvoice.WayBillNo; txtTransitTransferVoucherNo.Text = rctInvoice.TransitTransferNo; txtEditTransferNo.Text = rctInvoice.TransitTransferNo; lblInsurancePolicyNo.Text = rctInvoice.InsurancePolicyNo; BLL.PO order = new PO(); order.LoadByPrimaryKey(rctInvoice.POID); lblRefNo.Text = order.RefNo; lblPoNo.Text = order.PONumber; DataTable relatedReceives = rctInvoice.GetRelatedReceives(); hasPreviousReceive = false; if (relatedReceives.Rows.Count > 0) { XtraMessageBox.Show( "The Invoice you have selected has previous associated receives", "Invoice Detail", MessageBoxButtons.OK, MessageBoxIcon.Warning); colSelectedManufactuerer.Visible = true; colSelectedUnit.Visible = true; colSelectionLineNo.Visible = true; colSelectedReceiveQty.Visible = true; colSelectedInvoiceQty.Visible = true; hasPreviousReceive = true; gridItemsChoice.Enabled = false; colRemainingQty.VisibleIndex = 9; lcItemChoiceGrid.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; _dtSelectedTable = relatedReceives.Clone(); gridSelected.DataSource = _dtSelectedTable; foreach (DataRow dr in relatedReceives.Rows) { SelectAnItem(dr); } } else { hasPreviousReceive = false; colSelectedManufactuerer.Visible = false; colSelectedUnit.Visible = false; colSelectionLineNo.Visible = false; colSelectedReceiveQty.Visible = false; colSelectedInvoiceQty.Visible = false; colRemainingQty.Visible = false; gridItemsChoice.Enabled = true; lcItemChoiceGrid.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always; } if (lkAccounts.EditValue != null) { // lcInvoiceDetail.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; } if (standardRecType == StandardReceiptType.iGRVOnline || standardRecType == StandardReceiptType.GRV || deliveryNoteType == DeliveryNoteType.Automatic) { if (!hasPreviousReceive) LoadItemsFromTransferredReceiptInvoiceDetail(rctInvoice.ID); txtRefNo.Text = lkReceiptInvoice.Text; colSelectedReceiveQty.Visible = true; lcItemChoiceGrid.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; lkAccounts.Enabled = false; } else { lkAccounts.Enabled = !BLL.Settings.IsCenter; } if(!BLL.Settings.IsCenter) { //Passcode Textbox var dataRowView = lkReceiptInvoice.GetSelectedDataRow() as DataRowView; if (dataRowView != null) _isElectronic = Convert.ToBoolean(dataRowView["IsElectronic"]); lcPassCode.Visibility = (!_isNonElectronicReceiveOnly) && (_isElectronic) && (standardRecType == StandardReceiptType.iGRVOnline || deliveryNoteType == DeliveryNoteType.Automatic) ? LayoutVisibility.Always : LayoutVisibility.Never; txtPassCode.Text = "HHMM"; } } }
/// <summary> /// Costs the analysis. /// </summary> /// <param name="pGRVNo">The p GRV no.</param> /// <returns></returns> public DataView CostAnalysis(string pGRVNo) { GetGrandTotal(); PO PO = ReceiptInvoice.PO; ReceiptInvoice receiptInvoice = ReceiptInvoice; Activity Activity = new Activity(); Activity.LoadByPrimaryKey(receiptInvoice.ActivityID); double GIT = TotalLandedCost - Provision; JournalEntry UnitCostJournal = new JournalEntry(Activity.AccountName, Activity.SubAccountName, Activity.Name, PO.Supplier.CompanyName, "", PO.PONumber, pGRVNo, receiptInvoice.STVOrInvoiceNo, receiptInvoice.TransitTransferNo, receiptInvoice.WayBillNo, receiptInvoice.InsurancePolicyNo); double PriceDifference = Math.Round(TotalLandedCost - this.GrandTotal, BLL.Settings.NoOfDigitsAfterTheDecimalPoint); if (BLL.Settings.IsCenter) { if (this.ReceiptInvoice.InvoiceTypeID != ReceiptInvoiceType.InvoiceType.LOCAL_PURCHASE && this.ReceiptInvoice.InvoiceTypeID != ReceiptInvoiceType.InvoiceType.CIP) { UnitCostJournal.AddNewEntry("Stock", GrandTotal, null); UnitCostJournal.AddNewEntry("ClaimFromSupplier", GetSupplierClaim(), null); UnitCostJournal.AddNewEntry("ClaimFromInsurance", GetInsuranceClaim(), null); if (PriceDifference < 0) { UnitCostJournal.AddNewEntry("Price Difference", null, Math.Abs(PriceDifference)); } else { UnitCostJournal.AddNewEntry("Price Difference", Math.Abs(PriceDifference), null); } UnitCostJournal.AddNewEntry("GIT", null, GIT); UnitCostJournal.AddNewEntry("Provision", null, Provision); UnitCostJournal.AddNewEntry("Other Income", null, 0); } else { UnitCostJournal.AddNewEntry("Stock", GrandTotal, null); if (PriceDifference < 0) { UnitCostJournal.AddNewEntry("Price Difference", null, Math.Abs(PriceDifference)); } else { UnitCostJournal.AddNewEntry("Price Difference", Math.Abs(PriceDifference), null); } UnitCostJournal.AddNewEntry("Account Payable ", null, GIT); } } else { UnitCostJournal.AddNewEntry("Stock", GrandTotal, null); if (PriceDifference < 0) { UnitCostJournal.AddNewEntry("Price Difference", null, Math.Abs(PriceDifference)); } else if (PriceDifference > 0) { UnitCostJournal.AddNewEntry("Price Difference", Math.Abs(PriceDifference), null); } UnitCostJournal.AddNewEntry("Account Payable ", null, GIT); } return(UnitCostJournal.DefaultView()); }
/// <summary> /// Commits the account to account transfer. /// </summary> /// <param name="orderID">The order ID.</param> /// <param name="userID">The user ID.</param> /// <param name="convertedEthDate">The converted eth date.</param> public void CommitAccountToAccountTransfer(int orderID, int userID, DateTime convertedEthDate) { int?supplierID = null; BLL.Transfer transfer = new Transfer(); transfer.LoadByOrderID(orderID); if (transfer.RowCount == 0) { return; } int newStoreID, newPhysicalStoreID; newStoreID = transfer.ToStoreID; newPhysicalStoreID = transfer.ToPhysicalStoreID; PhysicalStore toPhysicalStore = new PhysicalStore(); toPhysicalStore.LoadByPrimaryKey(transfer.ToPhysicalStoreID); BLL.PickList picklist = new PickList(); picklist.LoadByOrderID(orderID); BLL.PickListDetail pld = new PickListDetail(); pld.LoadByPickListIDWithStvlogID(picklist.ID); BLL.ReceiveDoc rdOriginal = new ReceiveDoc(); rdOriginal.LoadByPrimaryKey(pld.ReceiveDocID); BLL.Order order = new Order(); order.LoadByPrimaryKey(orderID); if (order.OrderTypeID == OrderType.CONSTANTS.ACCOUNT_TO_ACCOUNT_TRANSFER) { var activity = new Activity(); activity.LoadByPrimaryKey(newStoreID); supplierID = activity.SupplierID; } else if (order.OrderTypeID == OrderType.CONSTANTS.STORE_TO_STORE_TRANSFER) { var activity = new Activity(); activity.LoadByPrimaryKey(newPhysicalStoreID); supplierID = activity.SupplierID; } PO po = PO.CreatePOforStandard((int)order.GetColumn("OrderTypeID"), transfer.ToStoreID, supplierID, "Transfer", CurrentContext.LoggedInUser.ID); int IDPrinted = Convert.ToInt32(pld.GetColumn("IDPrinted")); int receiptTypeID = order.OrderTypeID == OrderType.CONSTANTS.ACCOUNT_TO_ACCOUNT_TRANSFER ? ReceiptType.CONSTANTS.ACCOUNT_TO_ACCOUNT_TRANSFER :order.OrderTypeID == OrderType.CONSTANTS.STORE_TO_STORE_TRANSFER ? ReceiptType.CONSTANTS.STORE_TO_STORE_TRANSFER : order.OrderTypeID == OrderType.CONSTANTS.ERROR_CORRECTION_TRANSFER ? ReceiptType.CONSTANTS.ERROR_CORRECTION:ReceiptType.CONSTANTS.STANDARD_RECEIPT; Receipt receipt = ReceiptInvoice.CreateReceiptInvoiceAndReceiptForTransfer(receiptTypeID, po.ID, toPhysicalStore.PhysicalStoreTypeID, IDPrinted, userID); var mergedPickLists = MergePickListsOfSameInfo(pld); // Picklists of the same info means: Based on all constraints we have on receiveDoc(Batch,Exp,ItemID,UnitID...): should be merged with summed quantity. pld.Rewind(); while (!pld.EOF) { if (IDPrinted != Convert.ToInt32(pld.GetColumn("IDPrinted"))) { IDPrinted = Convert.ToInt32(pld.GetColumn("IDPrinted")); receipt = ReceiptInvoice.CreateReceiptInvoiceAndReceiptForTransfer(receiptTypeID, po.ID, toPhysicalStore.PhysicalStoreTypeID, IDPrinted, userID); } var rDoc = new ReceiveDoc(); if (!mergedPickLists.ContainsKey(pld.ID)) { pld.MoveNext(); continue; } rDoc.SaveNewReceiveDocEntryFromPicklistDetail(pld, userID, newStoreID, newPhysicalStoreID, convertedEthDate, receipt.ID, supplierID); pld.MoveNext(); } }
/// <summary> /// Reorganizes the data view for STV print_ program. /// </summary> /// <param name="dv">The dv.</param> /// <param name="refNo">The ref no.</param> /// <param name="pickListId">The pick list id.</param> /// <param name="userID">The user ID.</param> /// <param name="stvLogID">The STV log ID.</param> /// <param name="convertDNtoSTV">if set to <c>true</c> [convert D nto STV].</param> /// <param name="generateNewPrintID">if set to <c>true</c> [generate new print ID].</param> /// <param name="hasInsurance">if set to <c>true</c> [has insurance].</param> /// <returns></returns> public static DataTable ReorganizeDataViewForSTVPrint_Program(DataView dv, int orderID, int pickListId, int userID, int? stvLogID, bool convertDNtoSTV, bool generateNewPrintID, bool hasInsurance) { BLL.Order order = new Order(); order.LoadByPrimaryKey(orderID); int? paymentTypeID = null; if (order.PaymentTypeID == PaymentType.Constants.CASH || order.PaymentTypeID == PaymentType.Constants.CREDIT || order.PaymentTypeID == PaymentType.Constants.STV) { paymentTypeID = order.PaymentTypeID; } // This is just to make the delivery notes print a separate series of numbers. // This section completely asks for a re-write. if (dv.Count > 0 && (dv[0]["Cost"] == DBNull.Value || Convert.ToDecimal(dv[0]["Cost"]) == 0M)) { paymentTypeID = PaymentType.Constants.DELIVERY_NOTE; } else if (stvLogID != null) { Issue issue = new Issue(); issue.LoadByPrimaryKey(stvLogID.Value); if (!issue.IsColumnNull("IsDeliveryNote") && issue.IsDeliveryNote && !convertDNtoSTV) { paymentTypeID = PaymentType.Constants.DELIVERY_NOTE; } } // prepare the pick list for printing. // this method only merges the items that come in different rows but ... // that have same price same item. DataTable dtbl = dv.Table.Clone(); if (!dtbl.Columns.Contains("Supplier")) { dtbl.Columns.Add("Supplier"); } if (!dtbl.Columns.Contains("SupplierID")) { dtbl.Columns.Add("SupplierID"); } dtbl.Columns.Add("STVNumber"); dtbl.Columns.Add("StoreName"); dtbl.Columns.Add("ContactPerson"); dtbl.Columns.Add("PhysicalStoreType"); //The virtual store (The grouping for the stores) for the display on the stv dtbl.Clear(); foreach (DataRowView drv in dv) { if (dtbl.Rows.Count == 0) { dtbl.ImportRow(drv.Row); } else { //check if items with same expiry exists in the table //TOFIX: Add the supplier in this mix string qItemID = "", qbatchNumberID = "", qUnitPriceID = "", qPhysicalStoreName = "", qStoreID = ""; qItemID = string.Format("ItemID={0} and UnitID={1}", drv["ItemID"].ToString(), drv["UnitID"]); if (drv["BatchNumber"] != DBNull.Value) qbatchNumberID = string.Format(" and BatchNumber='{0}'", drv["BatchNumber"].ToString()); if (drv["UnitPrice"] != DBNull.Value) qUnitPriceID = string.Format(" and UnitPrice = {0} ", drv["UnitPrice"].ToString()); if (drv["PhysicalStoreName"] != DBNull.Value) qPhysicalStoreName = string.Format(" and PhysicalStoreName= '{0}'", drv["PhysicalStoreName"].ToString()); if (drv["StoreID"] != DBNull.Value) qStoreID = string.Format(" and StoreID= '{0}'", drv["StoreID"].ToString()); string query = string.Format("{0}{1}{2}{3}{4}", qItemID, qbatchNumberID, qUnitPriceID, qPhysicalStoreName, qStoreID); DataRow[] ar = dtbl.Select(query); if (ar.Length > 0) { // foreach (var dataRow in ar) { dataRow["SKUPICKED"] = Convert.ToInt32(dataRow["SKUPICKED"]) + Convert.ToInt32(drv["SKUPICKED"]); dataRow["Cost"] = (dataRow["Cost"] != DBNull.Value ? Convert.ToDouble(dataRow["Cost"]) : 0) + (drv["Cost"] != DBNull.Value ? Convert.ToDouble(drv["Cost"]) : 0); dataRow["IssueDocID"] = dataRow["IssueDocID"].ToString() + ',' + drv["IssueDocID"].ToString(); dataRow.EndEdit(); // If we have been here before, no need to do it again. // this means the same amount is printed duplicated. break; } } else { dtbl.ImportRow(drv.Row); } } } Supplier supplier = new Supplier(); ReceiveDoc rd = new ReceiveDoc(); // First sort the Data Table by Supplier // then create STV Number for each supplier foreach (DataRowView drw in dtbl.DefaultView) { rd.LoadByPrimaryKey(Convert.ToInt32(drw["ReceiveDocID"])); if (rd.RowCount > 0) { supplier.LoadByPrimaryKey(rd.SupplierID); // Add the supplier to the table drw["SupplierID"] = supplier.ID; drw["Supplier"] = supplier.CompanyName; drw.EndEdit(); } } int supplierId = 0; int storeID = 0; int phyStoreTypeID = 0; bool isManufacturerLocal = false; int storeGroupID = 0; string storeName = ""; int lineNumber = 1; int rowsOnPaper = 1; int maxLinesOnPage = 15; string stvNo = ""; string stvNoForPrint = ""; int stvID = -1; dtbl.DefaultView.Sort = "PhysicalStoreTypeName, StoreGroupID,StoreID,IsManufacturerLocal, CommodityType, FullItemName"; string commodityType = ""; foreach (DataRowView drw in dtbl.DefaultView) { //if ((BLL.Settings.IsRdfMode && (palletLocationID != Convert.ToInt32(drw["PalletLocationID"]) || storeID != Convert.ToInt32(drw["StoreID"]))) || (Convert.ToInt32(drw["SupplierID"]) != supplierId) || lineNumber > 13) if (commodityType == "") commodityType = drw["CommodityType"].ToString(); if ((drw["PhysicalStoreTypeID"] != DBNull.Value) && phyStoreTypeID != Convert.ToInt32(drw["PhysicalStoreTypeID"]) || (commodityType != drw["CommodityType"].ToString() && !BLL.Settings.PrintMultipleCommodityTypesPerPage) || (isManufacturerLocal != bool.Parse(drw["IsManufacturerLocal"].ToString()) || storeGroupID != Convert.ToInt32(drw["StoreGroupID"]) || storeID != Convert.ToInt32(drw["StoreID"]) || (rowsOnPaper + (Convert.ToInt32(drw["FullItemName"].ToString().Length / 32))) > maxLinesOnPage))// lineNumber > 10) { lineNumber = 1; rowsOnPaper = 1; supplierId = Convert.ToInt32(drw["SupplierID"]); storeGroupID = Convert.ToInt32(drw["StoreGroupID"]); storeID = Convert.ToInt32(drw["StoreID"]); var activity = new Activity(); activity.LoadByPrimaryKey(storeID); storeName = activity.FullActivityName; isManufacturerLocal = Convert.ToBoolean(drw["IsManufacturerLocal"]); if (drw["PhysicalStoreTypeID"] != DBNull.Value) { phyStoreTypeID = Convert.ToInt32(drw["PhysicalStoreTypeID"]); } // Pseudo: // Get hub details from the general info table // prepare the printable data // bind the printable data and GO Issue stvLog = new Issue(); if (BLL.Settings.UseHeadedSTV && generateNewPrintID) { stvLog.AddNew(); stvLog.PrintedDate = DateTimeHelper.ServerDateTime; stvLog.RefNo = order.RefNo; stvLog.PickListID = pickListId; stvLog.SupplierID = supplierId; stvLog.UserID = userID; stvLog.StoreID = storeID; stvLog.IsDeliveryNote = (paymentTypeID == PaymentType.Constants.DELIVERY_NOTE); stvLog.HasInsurance = hasInsurance; stvLog.FiscalYearID = FiscalYear.Current.ID; stvLog.AccountID = activity.AccountID; if (paymentTypeID == PaymentType.Constants.DELIVERY_NOTE) { stvLog.DocumentTypeID = DocumentType.documentTypes.DeliveryNote.DocumentTypeID; } else if (paymentTypeID == PaymentType.Constants.CASH) { stvLog.DocumentTypeID = DocumentType.documentTypes.Cash.DocumentTypeID; } else if (paymentTypeID == PaymentType.Constants.CREDIT) { stvLog.DocumentTypeID = DocumentType.documentTypes.Credit.DocumentTypeID; } else if(paymentTypeID == PaymentType.Constants.STV) { stvLog.DocumentTypeID = DocumentType.documentTypes.STV.DocumentTypeID; } stvLog.IDPrinted = DocumentType.GetNextSequenceNo(stvLog.DocumentTypeID,stvLog.AccountID,stvLog.FiscalYearID); stvLog.PaymentTypeID = order.PaymentTypeID; if (!order.IsColumnNull("RequestedBy")) stvLog.ReceivingUnitID = order.RequestedBy; if (stvLogID.HasValue) { stvLog.IsReprintOf = stvLogID.Value; //this means the STV is from replaced Issue s = new Issue(); s.LoadByPrimaryKey(stvLogID.Value); stvLog.IsDeliveryNote=(!s.IsColumnNull("IsDeliveryNote") && s.IsDeliveryNote && !convertDNtoSTV); } stvLog.Save(); stvNo = stvLog.ID.ToString("00000"); //If we wanted to show just the ID of the sql table on the printout. We Use this stvNoForPrint = FiscalYear.Current.GetCode(stvLog.IDPrinted); stvID = stvLog.ID; } else if (!generateNewPrintID && stvLogID.HasValue) { // this assumes that we don't have to export stvLog.LoadByPrimaryKey(stvLogID.Value); stvNo = stvLog.ID.ToString("00000");//If we wanted to show just the ID of the sql table on the printout. Use this FiscalYear fiscalYear = new FiscalYear(); fiscalYear.LoadByPrimaryKey(stvLog.FiscalYearID); stvNoForPrint = fiscalYear.GetCode(stvLog.IDPrinted); } } if (commodityType != drw["CommodityType"].ToString()) //Check if the commodity type has changed. Meaning that there will be a new group on the same paper (Pharmaceuticals, Chemicals, etc.) therefore we have to make the number of items that come to that page lower (Because we have headings for each group) { commodityType = drw["CommodityType"].ToString(); rowsOnPaper = rowsOnPaper + 5; } else { if (drw["FullItemName"].ToString().Length > 30) //The reason behind this code. If the item name is a long one, it wraps and goes into the next line, making the number of row numbers more than just 1, so we don't just add one rowsOnPaper += Convert.ToInt32(drw["FullItemName"].ToString().Length / 30) + 1; else rowsOnPaper++; } drw["STVNumber"] = stvNo; drw["LineNum"] = lineNumber++; drw["StoreName"] = storeName; drw["PrintedSTVNumber"] = stvNoForPrint; //Save the STVID into the IssueDoc Table. BLL.IssueDoc issDoc = new IssueDoc(); int itemID = Convert.ToInt32(drw["ItemID"]); int receiveDocID = Convert.ToInt32(drw["ReceiveDocID"]); int picklistID = Convert.ToInt32(drw["PicklistID"]); drw["ContactPerson"] = BLL.Order.GetContactPerson(picklistID); BLL.Order orderInfo = new Order(); // the only time the STVLog ID should be an entry in the Issue Doc should be when this is a fresh printout. if (stvID != -1 && stvLogID == null) { SaveSTVIDbyPickListDetails(drw["IssueDocID"].ToString(), stvID); //SaveSTVIDIntoIssueData(supplierId, itemID, stvID, issDoc, orderInfo.LoadByPickListID(picklistID), receiveDocID, storeID); } if (stvID == -1 && stvLogID == null) { throw new Exception("An error occurred during save. Please contact your administrator if this happens again."); } //SaveSTVIDIntoIssueData(supplierId, itemID, stvID, issDoc, order.LoadByPickListID(picklistID), receiveDocID); } return dtbl; }
/// <summary> /// Gets the name of the StoreType /// </summary> /// <returns></returns> public string GetFromStore() { var stores = new Mode(); stores.LoadByPrimaryKey(FromStore); // Old data has it in the form of StoreID, // What we expect are StoreTypeIDs, // HACK: until the old data entered using the old system are cleared, show the store ID // TODO: After the data has cleared, delete this condition // TODO: Clean the data by converting the RDF Types to ... the appropriate StoreTypeID if (stores.RowCount == 0) { Activity store = new Activity(); store.LoadByPrimaryKey(FromStore); return store.Name; } return stores.TypeName; }
/// <summary> /// Commits the account to account transfer. /// </summary> /// <param name="orderID">The order ID.</param> /// <param name="userID">The user ID.</param> /// <param name="convertedEthDate">The converted eth date.</param> public void CommitAccountToAccountTransfer(int orderID, int userID, DateTime convertedEthDate) { int? supplierID = null; BLL.Transfer transfer = new Transfer(); transfer.LoadByOrderID(orderID); if (transfer.RowCount == 0) return; int newStoreID, newPhysicalStoreID; newStoreID = transfer.ToStoreID; newPhysicalStoreID = transfer.ToPhysicalStoreID; PhysicalStore toPhysicalStore = new PhysicalStore(); toPhysicalStore.LoadByPrimaryKey(transfer.ToPhysicalStoreID); BLL.PickList picklist = new PickList(); picklist.LoadByOrderID(orderID); BLL.PickListDetail pld = new PickListDetail(); pld.LoadByPickListIDWithStvlogID(picklist.ID); BLL.ReceiveDoc rdOriginal = new ReceiveDoc(); rdOriginal.LoadByPrimaryKey(pld.ReceiveDocID); BLL.Order order=new Order(); order.LoadByPrimaryKey(orderID); if(order.OrderTypeID == OrderType.CONSTANTS.ACCOUNT_TO_ACCOUNT_TRANSFER) { var activity = new Activity(); activity.LoadByPrimaryKey(newStoreID); supplierID = activity.SupplierID; } else if(order.OrderTypeID == OrderType.CONSTANTS.STORE_TO_STORE_TRANSFER) { var activity = new Activity(); activity.LoadByPrimaryKey(newPhysicalStoreID); supplierID = activity.SupplierID; } PO po = PO.CreatePOforStandard( (int) order.GetColumn("OrderTypeID"),transfer.ToStoreID,supplierID,"Transfer",CurrentContext.LoggedInUser.ID); int IDPrinted = Convert.ToInt32(pld.GetColumn("IDPrinted")); int receiptTypeID = order.OrderTypeID == OrderType.CONSTANTS.ACCOUNT_TO_ACCOUNT_TRANSFER ? ReceiptType.CONSTANTS.ACCOUNT_TO_ACCOUNT_TRANSFER :order.OrderTypeID == OrderType.CONSTANTS.STORE_TO_STORE_TRANSFER ? ReceiptType.CONSTANTS.STORE_TO_STORE_TRANSFER : order.OrderTypeID == OrderType.CONSTANTS.ERROR_CORRECTION_TRANSFER ? ReceiptType.CONSTANTS.ERROR_CORRECTION:ReceiptType.CONSTANTS.STANDARD_RECEIPT; Receipt receipt = ReceiptInvoice.CreateReceiptInvoiceAndReceiptForTransfer(receiptTypeID,po.ID,toPhysicalStore.PhysicalStoreTypeID,IDPrinted,userID); var mergedPickLists = MergePickListsOfSameInfo(pld); // Picklists of the same info means: Based on all constraints we have on receiveDoc(Batch,Exp,ItemID,UnitID...): should be merged with summed quantity. pld.Rewind(); while (!pld.EOF) { if(IDPrinted != Convert.ToInt32(pld.GetColumn("IDPrinted"))) { IDPrinted = Convert.ToInt32(pld.GetColumn("IDPrinted")); receipt = ReceiptInvoice.CreateReceiptInvoiceAndReceiptForTransfer(receiptTypeID,po.ID, toPhysicalStore.PhysicalStoreTypeID, IDPrinted, userID); } var rDoc = new ReceiveDoc(); if (!mergedPickLists.ContainsKey(pld.ID)) { pld.MoveNext(); continue; } rDoc.SaveNewReceiveDocEntryFromPicklistDetail(pld, userID, newStoreID, newPhysicalStoreID, convertedEthDate,receipt.ID,supplierID); pld.MoveNext(); } }
/// <summary> /// Handles the FocusedRowChanged event of the gridViewReferences control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs" /> instance containing the event data.</param> private void gridViewReferences_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) { if (e != null && e.PrevFocusedRowHandle < -1) return; dtDate.Value = DateTimeHelper.ServerDateTime; _reprintId = null; DataRow dr = gridViewReferences.GetFocusedDataRow(); if (dr == null) { return; } string[] referenceNo = new string[2]; referenceNo[0] = dr["RefNo"].ToString(); if (Convert.ToBoolean(dr["isConvertedDN"])) { _isConvertedDn = true; _stvLogIdChosen = (int?)dr["IsReprintOf"]; } else if (dr != null && dr["ID"] != DBNull.Value) { _isConvertedDn = false; _stvLogIdChosen = (int?)dr["ID"]; } UpdateReprintedNumbers(dr); // Enable and disable STV reprint // STV SHouldn't be reprinted off a reprint. if (dr["IsReprintOf"] != DBNull.Value && !Convert.ToBoolean(dr["isConvertedDN"])) { btnExport.Enabled = btnReprint.Enabled = false; var permission = (BLL.Settings.UseNewUserManagement) ? this.HasPermission("Print") : true; btnPrint.Enabled = permission; _reprintId = _stvLogIdChosen; _stvLogIdChosen = Convert.ToInt32(dr["IsReprintOf"]); } else if (dr["IsDeliveryNote"] != DBNull.Value && Convert.ToBoolean(dr["IsDeliveryNote"])) { btnExport.Enabled = false; btnReprint.Enabled = (BLL.Settings.UseNewUserManagement) ? this.HasPermission("Re-Print") : true; btnPrint.Enabled = false; } else { btnPrint.Enabled = this.HasPermission("Print"); btnReprint.Enabled = this.HasPermission("Re-Print"); btnExport.Enabled = this.HasPermission("Export"); } if (_stvLogIdChosen != null) { Issue log = new Issue(); log.LoadByPrimaryKey(_stvLogIdChosen.Value); Institution rus = new Institution(); IssueDoc iss = new IssueDoc(); if (!log.IsColumnNull("ReceivingUnitID")) { rus.LoadByPrimaryKey(log.ReceivingUnitID); //FacilityName.Text = rus.Name; HeaderSection.Text = rus.Name; var activity = new Activity(); activity.LoadByPrimaryKey(log.StoreID); lblActivity.Text = activity.Name; lblSubAccount.Text = activity.SubAccountName; lblMode.Text = activity.ModeName; lblAccount.Text = activity.AccountName; lblRegion.Text = rus.RegionName; lblWoreda.Text = rus.WoredaName; lblZone.Text = rus.ZoneName; lblInstType.Text = rus.InstitutionTypeName; var ownership = new OwnershipType(); ownership.LoadByPrimaryKey(rus.Ownership); lblOwnership.Text = ownership.Name; lblVoidConDate.Text = (dr["approvalDate"]) != DBNull.Value ? Convert.ToDateTime(dr["approvalDate"]).ToShortDateString(): "-"; lblIssueType.Text = (string)dr["OrderType"]; User user = new User(); if (dr["approvedBy"] != DBNull.Value) { user.LoadByPrimaryKey(Convert.ToInt32(dr["approvedBy"])); lblConfirmedBy.Text = user.FullName; } else { lblConfirmedBy.Text = "-"; } var doc = new DocumentType(); doc.LoadByPrimaryKey(log.DocumentTypeID); lblDocType.Text = doc.Name; lblPrintedDate.Text = log.PrintedDate.ToShortDateString(); var pt = new PaymentType(); if (!rus.IsColumnNull("PaymentTypeID")) { pt.LoadByPrimaryKey(rus.PaymentTypeID); lblPaymentType.Text = pt.Name; } else { lblPaymentType.Text = "-"; } // Show user name user.LoadByPrimaryKey(log.UserID); lblPrintedBy.Text = (user.FullName == "") ? user.UserName : user.FullName; // show contact person PickList pl = new PickList(); pl.LoadByPrimaryKey(log.PickListID); Order order = new Order(); order.LoadByPrimaryKey(pl.OrderID); var os = new OrderStatus(); os.LoadByPrimaryKey(order.OrderStatusID); lblIssueStatus.Text = os.OrderStatus; if (!order.IsColumnNull("ContactPerson")) { lblRecivedBy.Text = order.ContactPerson; } else { lblRecivedBy.Text = @"-"; } lblReceivedDate.Text = order.EurDate.ToShortDateString(); } dtDate.Value = log.PrintedDate; //PrintedDate.Text = dtDate.Text; lblPrintedDate.Text = dtDate.Text; gridTransactions.DataSource = iss.GetIssueBySTV(_stvLogIdChosen.Value); layoutUnconfirmedSTVs.Visibility = LayoutVisibility.Never; if (BLL.Settings.ShowMissingSTVsOnIssueLog) { DataView view = iss.GetPossibleUnconfirmedIssues(_stvLogIdChosen.Value); if (view.Count > 0) { gridUnconfirmed.DataSource = view; layoutUnconfirmedSTVs.Visibility = LayoutVisibility.Always; } else { layoutUnconfirmedSTVs.Visibility = LayoutVisibility.Never; } } } }
private static string GetReceivingUnitName(Order order) { if (!order.IsColumnNull("RequestedBy")) { var rus = new Institution(); rus.LoadByPrimaryKey(order.RequestedBy); return rus.Name; } if (!order.IsColumnNull("OrderTypeID") && order.OrderTypeID == OrderType.CONSTANTS.ACCOUNT_TO_ACCOUNT_TRANSFER) { var transfer = new Transfer(); transfer.LoadByOrderID(order.ID); var activity = new Activity(); activity.LoadByPrimaryKey(transfer.ToStoreID); return activity.FullActivityName; } return ""; }
/// <summary> /// Re print STV. /// </summary> /// <param name="dv">The dv.</param> /// <param name="orderId">The order id.</param> /// <param name="pl">The pl.</param> /// <param name="stvLogID">The STV log ID.</param> /// <param name="isConversion">if set to <c>true</c> [is conversion].</param> /// <param name="generateNewPrintID">if set to <c>true</c> [generate new print ID].</param> //public XtraReport RePrintSTV(DataView dv,int orderId, PickList pl,int? stvLogID, bool isConversion, bool generateNewPrintID = true) //{ // var includeInsurance =XtraMessageBox.Show("Include insurance?", "Insurance",MessageBoxButtons.YesNo,MessageBoxIcon.Question)== DialogResult.Yes; // var ord = new Order(); // ord.LoadByPrimaryKey(orderId); // var order = new Order(); // order.LoadByPrimaryKey(orderId); // if (!order.IsPaymentTypeValid()) // { // //TODO: This needs to be handled well. // throw new Exception( // string.Format("PaymentTypeID has a problem. The order has a payment type id of {0}", // ord.PaymentTypeID)); // } // var stores = new Activity(); // stores.LoadByPrimaryKey(order.FromStore); // var textDeliveryNote = ""; // var sendToString = GetReceivingUnitName(order); // if (stvLogID != null) // { // var stvLog = new Issue(); // stvLog.LoadByPrimaryKey(stvLogID.Value); // if (!stvLog.IsColumnNull("IsDeliveryNote") && stvLog.IsDeliveryNote && isConversion) // { // textDeliveryNote = stvLog.IDPrinted.ToString("00000"); // } // } // if (PaymentType.Constants.CASH == ord.PaymentTypeID) // { // var rus = new Institution(); // rus.LoadByPrimaryKey(order.RequestedBy); // var stvReport = new HCMIS.Desktop.Reports.CashInvoice(CurrentContext.LoggedInUserName); // pl.LoadByOrderID(orderId); // PrepareTheReport(stvReport); // stvReport.DeliveryNoteNo.Text = textDeliveryNote; // stvReport.DataSource = Order.ReorganizeDataViewForSTVPrint_Program(dv, ord.ID, pl.ID, CurrentContext.UserId, stvLogID, isConversion, generateNewPrintID, includeInsurance); // stvReport.From.Text = GeneralInfo.Current.HospitalName; // stvReport.To.Text = sendToString; // stvReport.TIN.Text = rus.TinNo; // stvReport.VAT.Text = rus.VATNo; // stvReport.Town.Text = rus.Town; // stvReport.Woreda.Text = rus.WoredaText; // stvReport.Zone.Text = rus.ZoneText; // stvReport.Region.Text = rus.Region; // stvReport.License.Text = (!rus.IsColumnNull("Ownership") && rus.IsPrivatelyOwned) ? rus.LicenseNo : (!ord.IsColumnNull("LetterNo")) ? ord.LetterNo : ""; // //stvReport.Program.Text = stores.StoreName; // DateTimePickerEx dtDate = new DateTimePickerEx(); // dtDate.Value = DateTimeHelper.ServerDateTime; // stvReport.Date.Text = dtDate.Text; // return stvReport; // } // else if (PaymentType.Constants.CREDIT == ord.PaymentTypeID) // { // var rus = new Institution(); // rus.LoadByPrimaryKey(order.RequestedBy); // HCMIS.Desktop.Reports.CreditInvoice stvReport = // new HCMIS.Desktop.Reports.CreditInvoice(CurrentContext.LoggedInUserName); // pl.LoadByOrderID(orderId); // PrepareTheReport(stvReport); // stvReport.DeliveryNoteNo.Text = textDeliveryNote; // stvReport.DataSource = Order.ReorganizeDataViewForSTVPrint_Program(dv, ord.ID, pl.ID, // CurrentContext.UserId, stvLogID, isConversion, generateNewPrintID, includeInsurance); // stvReport.From.Text = GeneralInfo.Current.HospitalName; // stvReport.To.Text = sendToString; // //stvReport.Region.Text = rus.Woreda; // stvReport.Zone.Text = rus.Town; // stvReport.Letter.Text = ord.LetterNo; // //stvReport.Program.Text = stores.StoreName; // DateTimePickerEx dtDate = new DateTimePickerEx(); // dtDate.Value = DateTimeHelper.ServerDateTime; // stvReport.Date.Text = dtDate.Text; // } //} /// <summary> /// Re print STV. /// </summary> /// <param name="dv">The dv.</param> /// <param name="orderId">The order id.</param> /// <param name="pl">The pl.</param> /// <param name="stvLogID">The STV log ID.</param> /// <param name="isConversion">if set to <c>true</c> [is conversion].</param> /// <param name="generateNewPrintID">if set to <c>true</c> [generate new print ID].</param> public XtraReport RePrintSTV(DataView dv, int orderId, PickList pl, int? stvLogID, bool isConversion, bool generateNewPrintID = true) { HCMIS.Core.Distribution.Services.PrintLogService pLogService = new HCMIS.Core.Distribution.Services.PrintLogService(); pLogService.StartPrintingSession(); includeInsurance = XtraMessageBox.Show("Include insurance?", "Insurance", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes; var ord = new Order(); ord.LoadByPrimaryKey(orderId); //loading two times var order = new Order(); order.LoadByPrimaryKey(orderId); if (!order.IsPaymentTypeValid()) { //TODO: This needs to be handled well. throw new Exception( string.Format("PaymentTypeID has a problem. The order has a payment type id of {0}", ord.PaymentTypeID)); } var rus = new Institution(); if (ord.PaymentTypeID == PaymentType.Constants.CASH || ord.PaymentTypeID == PaymentType.Constants.CREDIT) { rus.LoadByPrimaryKey(order.RequestedBy); } var stores = new Activity(); stores.LoadByPrimaryKey(order.FromStore); var textDeliveryNote = ""; var sendToString = GetReceivingUnitName(order); if (stvLogID != null) { var stvLog = new Issue(); stvLog.LoadByPrimaryKey(stvLogID.Value); if (!stvLog.IsColumnNull("IsDeliveryNote") && stvLog.IsDeliveryNote && isConversion) { textDeliveryNote = stvLog.IDPrinted.ToString("00000"); } } var xtraReport = new XtraReport(); string stvPrinterName = ""; if (PaymentType.Constants.CASH == ord.PaymentTypeID && !chkDeliveryNotes.Checked) { xtraReport = FormatCashRePrintInvoice(ord, dv.Table, rus, pl, false, stvPrinterName, pLogService, _stvLogIdChosen); pLogService.CommitPrintLog(); return xtraReport; } else if (PaymentType.Constants.CASH == ord.PaymentTypeID && chkDeliveryNotes.Checked) { xtraReport = FormatCashRePrintInvoice(ord, pl.DefaultView.ToTable(), rus, pl, true, stvPrinterName, pLogService, _stvLogIdChosen); pLogService.CommitPrintLog(); return xtraReport; } else if (PaymentType.Constants.CREDIT == ord.PaymentTypeID && !chkDeliveryNotes.Checked) { xtraReport = FormatCreditRePrintInvoice(ord, pl.DefaultView.ToTable(), rus, pl, false, stvPrinterName, pLogService, _stvLogIdChosen); pLogService.CommitPrintLog(); return xtraReport; } else if (PaymentType.Constants.CREDIT == ord.PaymentTypeID && chkDeliveryNotes.Checked) { xtraReport = FormatCreditRePrintInvoice(ord, pl.DefaultView.ToTable(), rus, pl, true, stvPrinterName, pLogService, _stvLogIdChosen); pLogService.CommitPrintLog(); return xtraReport; } //if (PaymentType.Constants.CASH == ord.PaymentTypeID) //{ // var stvReport = new HCMIS.Desktop.Reports.CashInvoice(CurrentContext.LoggedInUserName); // pl.LoadByOrderID(orderId); // PrepareTheReport(stvReport); // stvReport.DeliveryNoteNo.Text = textDeliveryNote; // stvReport.DataSource = Order.ReorganizeDataViewForSTVPrint_Program(dv, ord.ID, pl.ID, CurrentContext.UserId, stvLogID, isConversion, generateNewPrintID, includeInsurance); // stvReport.From.Text = GeneralInfo.Current.HospitalName; // stvReport.To.Text = sendToString; // stvReport.TIN.Text = rus.TinNo; // stvReport.VAT.Text = rus.VATNo; // stvReport.Town.Text = rus.Town; // stvReport.Woreda.Text = rus.WoredaText; // stvReport.Zone.Text = rus.ZoneText; // stvReport.Region.Text = rus.Region; // stvReport.License.Text = (!rus.IsColumnNull("Ownership") && rus.IsPrivatelyOwned) ? rus.LicenseNo : (!ord.IsColumnNull("LetterNo")) ? ord.LetterNo : ""; // //stvReport.Program.Text = stores.StoreName; // DateTimePickerEx dtDate = new DateTimePickerEx(); // dtDate.Value = DateTimeHelper.ServerDateTime; // stvReport.Date.Text = dtDate.Text; // return stvReport; //} //else if (PaymentType.Constants.CREDIT == ord.PaymentTypeID) //{ // HCMIS.Desktop.Reports.CreditInvoice stvReport = new HCMIS.Desktop.Reports.CreditInvoice(CurrentContext.LoggedInUserName); // pl.LoadByOrderID(orderId); // PrepareTheReport(stvReport); // stvReport.DeliveryNoteNo.Text = textDeliveryNote; // stvReport.DataSource = Order.ReorganizeDataViewForSTVPrint_Program(dv, ord.ID, pl.ID, CurrentContext.UserId, stvLogID, isConversion, generateNewPrintID, includeInsurance); // stvReport.From.Text = GeneralInfo.Current.HospitalName; // stvReport.To.Text = sendToString; // //stvReport.Region.Text = rus.Woreda; // stvReport.Zone.Text = rus.Town; // stvReport.Letter.Text = ord.LetterNo; // //stvReport.Program.Text = stores.StoreName; // DateTimePickerEx dtDate = new DateTimePickerEx(); // dtDate.Value = DateTimeHelper.ServerDateTime; // stvReport.Date.Text = dtDate.Text; // return stvReport; //} else if (PaymentType.Constants.STV == ord.PaymentTypeID && generateNewPrintID) { pl.LoadByOrderID(orderId); // check if this is a delivery note Issue sl = new Issue(); sl.LoadByPrimaryKey(stvLogID.Value); if (!sl.IsColumnNull("IsDeliveryNote") && sl.IsDeliveryNote && !isConversion) { var stvReport = new HCMIS.Desktop.Reports.DeliveryNoteForIssue(ord.ID, includeInsurance, CurrentContext.LoggedInUserName); PrepareTheReport(stvReport); stvReport.DataSource = Order.ReorganizeDataViewForSTVPrint_Program(dv, ord.ID, pl.ID, CurrentContext.UserId, stvLogID, isConversion, generateNewPrintID, includeInsurance); stvReport.From.Text = GeneralInfo.Current.HospitalName; stvReport.To.Text = sendToString; stvReport.STVNO.Text = Issue.GetLogFor(ord.RefNo); //stvReport.Date.Text = @"(Reprint) " + Convert.ToDateTime(dv[0]["IssueDate"]).ToString("MM/dd/yyyy"); DateTimePickerEx dtDate = new DateTimePickerEx(); dtDate.Value = DateTimeHelper.ServerDateTime; stvReport.Date.Text = dtDate.Text; //stvReport.ShowPreview(); return stvReport; } else { var stvReport = new HCMIS.Desktop.Reports.STVonHeadedPaper(ord.ID, includeInsurance, CurrentContext.LoggedInUserName); stvReport.DeliveryNoteNo.Text = textDeliveryNote; PrepareTheReport(stvReport); stvReport.DataSource = Order.ReorganizeDataViewForSTVPrint_Program(dv, ord.ID, pl.ID, CurrentContext.UserId, stvLogID, isConversion, generateNewPrintID, includeInsurance); stvReport.From.Text = GeneralInfo.Current.HospitalName; stvReport.To.Text = sendToString; stvReport.STVNO.Text = Issue.GetLogFor(ord.RefNo); //stvReport.Date.Text = @"(Reprint) " + Convert.ToDateTime(dv[0]["IssueDate"]).ToString("MM/dd/yyyy"); DateTimePickerEx dtDate = new DateTimePickerEx(); dtDate.Value = DateTimeHelper.ServerDateTime; stvReport.Date.Text = dtDate.Text; //stvReport.ShowPreview(); return stvReport; } } else if (PaymentType.Constants.STV == ord.PaymentTypeID && !generateNewPrintID) { pl.LoadByOrderID(orderId); //System.Windows.Forms.DialogResult result = XtraMessageBox.Show("Include insurance?", "Insurance", //MessageBoxButtons.YesNo, //MessageBoxIcon.Question); Issue log = new Issue(); log.LoadByPrimaryKey((_reprintId != null) ? _reprintId.Value : stvLogID.Value); if (log.IsColumnNull("HasInsurance") || BLL.Settings.IsCenter) //If it is null, we have no idea about what the insurance status was. So let's ask the user. { System.Windows.Forms.DialogResult result = XtraMessageBox.Show("Include insurance?", "Insurance", MessageBoxButtons.YesNo, MessageBoxIcon.Question); includeInsurance = result == DialogResult.Yes ? true : false; log.HasInsurance = includeInsurance; log.Save(); } else { includeInsurance = log.HasInsurance; } //bool includeInsurance = (!log.IsColumnNull("HasInsurance"))? log.HasInsurance : false; var stvReport = new HCMIS.Desktop.Reports.STVonA4(ord.ID, includeInsurance, CurrentContext.LoggedInUserName); stvReport.DeliveryNoteNo.Text = textDeliveryNote; PrepareTheReport(stvReport); stvReport.DataSource = Order.ReorganizeDataViewForSTVPrint_Program(dv, ord.ID, pl.ID, CurrentContext.UserId, (_reprintId != null) ? _reprintId : stvLogID, isConversion, generateNewPrintID, includeInsurance); stvReport.From.Text = GeneralInfo.Current.HospitalName; stvReport.To.Text = sendToString; //stvReport.STVNO.Text = //STVLog.GetLogFor(ord.RefNo); //stvReport.Date.Text = @"(Reprint) " + Convert.ToDateTime(dv[0]["IssueDate"]).ToString("MM/dd/yyyy"); DateTimePickerEx dtDate = new DateTimePickerEx(); dtDate.Value = DateTimeHelper.ServerDateTime; stvReport.Date.Text = dtDate.Text; return stvReport; } return null; }
private HCMIS.Desktop.Reports.ReceiptConfirmationPrintout PrintReceiptConfirmation(int ReceiptID, int? reprintOfReceiptConfirmationPrintoutID) { ReceiptConfirmationPrintout rc = new ReceiptConfirmationPrintout(); HCMIS.Desktop.Reports.ReceiptConfirmationPrintout printout = new HCMIS.Desktop.Reports.ReceiptConfirmationPrintout(CurrentContext.LoggedInUserName); BLL.ReceiveDoc receiveDoc = new ReceiveDoc(); // receiveDoc.LoadByReferenceNo(reference); receiveDoc.LoadByReceiptID(ReceiptID); var activity = new Activity(); activity.LoadByPrimaryKey(receiveDoc.StoreID); BLL.Supplier supplier = new Supplier(); supplier.LoadByPrimaryKey(receiveDoc.SupplierID); BLL.Receipt receipt=new BLL.Receipt(); receipt.LoadByPrimaryKey(receiveDoc.ReceiptID); BLL.ReceiptInvoice receiptInvoice= new ReceiptInvoice(); receiptInvoice.LoadByPrimaryKey(receipt.ReceiptInvoiceID); BLL.PO po = new PO(); po.LoadByPrimaryKey(receiptInvoice.POID); BLL.POType poType = new POType(); poType.LoadByPrimaryKey(po.PurchaseType); int printedID = 0; string GRNFNo = FiscalYear.Current.GetCode(BLL.ReceiptConfirmationPrintout.GetGRNFNo(ReceiptID)); if (currentMode == Modes.GRVPrinting) //The GRVConfirmation is for reprinting { printout.BranchName.Text = GeneralInfo.Current.HospitalName; PrepareGRVPrintout(printout); // String reference = gridReceiveView.GetFocusedDataRow()["RefNo"].ToString(); if (poType.PurchaseOrderTypeCode == "LP") printout.xrGRVLabel.Text = "GRV No."; else printout.xrGRVLabel.Text = "iGRV No."; if (supplier.SupplierTypeID == SupplierType.CONSTANTS.HOME_OFFICE || supplier.SupplierTypeID == SupplierType.CONSTANTS.HUBS || supplier.SupplierTypeID == SupplierType.CONSTANTS.ACCOUNTS || supplier.SupplierTypeID == SupplierType.CONSTANTS.STORES) { //printout.xrGRVLabel.Text = "iGRV No."; printout.xrAir.Visible = false; printout.xrAirValue.Visible = false; printout.xrTransit.Visible = false; printout.xrTransitValue.Visible = false; printout.xrInsurance.Visible = false; printout.xrInsuranceValue.Visible = false; printout.xrNumberOfCases.Visible = false; printout.xrNumberOfCasesValue.Visible = false; printout.xrInvoiceNo.Text = "STV No."; printout.xrPurchaseOrderNo.Visible = false; printout.xrPurchaseOrderNoValue.Visible = false; printout.xrLabelGRNF.Text = GRNFNo; printout.xrSTV.Visible = false; printout.xrSTVNoValue.Visible = false; printedID = rc.PrepareDataForPrintout(ReceiptID, CurrentContext.UserId, false, 4, null,reprintOfReceiptConfirmationPrintoutID,FiscalYear.Current); printout.DataSource = rc.DefaultView.ToTable(); CalendarLib.DateTimePickerEx dtDate = new CalendarLib.DateTimePickerEx(); //dtDate.CustomFormat = "dd/MM/yyyy"; dtDate.Value = receiveDoc.EurDate; printout.Date.Text = dtDate.Text; } else { // printout.xrGRVLabel.Text = "GRV No."; printout.xrSTV.Visible = false; printout.xrSTVNoValue.Visible = false; printedID = rc.PrepareDataForPrintout(ReceiptID, CurrentContext.UserId, false, 2, null, reprintOfReceiptConfirmationPrintoutID,FiscalYear.Current); printout.xrLabelGRNF.Text = GRNFNo; printout.DataSource = rc.DefaultView.ToTable(); CalendarLib.DateTimePickerEx dtDate = new CalendarLib.DateTimePickerEx(); //dtDate.CustomFormat = "dd/MM/yyyy"; dtDate.Value = receiveDoc.EurDate; printout.Date.Text = dtDate.Text; } } printout.xrLabelStoreName.Text = activity.FullActivityName; if (ReceiveDoc.IsThereShortageOrDamage(ReceiptID)) { HCMIS.Desktop.Reports.ReceiptConfirmationShortagePrintout printoutShortage = PrintReceiptConfirmationForShortage(ReceiptID, printedID); if (currentMode == Modes.GRVPrinting) PrepareGRVPrintout(printoutShortage); printout.xrShortageReport.ReportSource = printoutShortage; printout.PrintingSystem.ContinuousPageNumbering = true; } else { printout.ReportFooter.Visible = false; } //Release Product CostCalculator GRV = new CostCalculator(); GRV.LoadGRV(ReceiptID); String reference = gridReceiveView.GetFocusedDataRow()["RefNo"].ToString(); BLL.ReceiveDoc recDoc = new ReceiveDoc(); recDoc.LoadByReceiptID(ReceiptID); recDoc.ConfirmGRVPrinted(CurrentContext.UserId); BLL.Receipt receiptStatus = new BLL.Receipt(); receiptStatus.LoadByPrimaryKey(ReceiptID); receiptStatus.ChangeStatus(ReceiptConfirmationStatus.Constants.GRV_PRINTED, null, this.GetFormIdentifier(), CurrentContext.UserId, "GRV Printed"); BindFormContents(); // LOG Cost Analysis printout in PDF Log MemoryStream stream = new MemoryStream(); printout.ExportToPdf(stream); HCMIS.Core.Distribution.Services.PrintLogService.SavePrintLogNoWait(stream, "GRV/IGRV", true, ReceiptID, CurrentContext.UserId, BLL.DateTimeHelper.ServerDateTime); return printout; }
private void btnRefresh_Click(object sender, EventArgs e) { if (dxRequiredValidation.Validate()) { storeReport = new StockStatusByPhysicalStore(CurrentContext.LoggedInUserName); storeReport.DataSource = BLL.Balance.GetStockStatusByPhysicalStore(Convert.ToInt32(lkPhysicalStore.EditValue), Convert.ToInt32(lkAccountType.EditValue), chkIncludeStockedOut.Checked); var activity = new Activity(); activity.LoadByPrimaryKey(Convert.ToInt32(lkAccountType.EditValue)); storeReport.AccountName.Text = activity.FullActivityName; BLL.PhysicalStore pstore = new BLL.PhysicalStore(); pstore.LoadByPrimaryKey(Convert.ToInt32(lkPhysicalStore.EditValue)); storeReport.WarehouseName.Text = pstore.Name; pcPrintout.PrintingSystem = storeReport.PrintingSystem; storeReport.CreateDocument(); } }
private void PrintPutaway() { // Show Column // Confirmation.Visible = true; Confirmation1.Visible = true; //gridPutAwayPalletized.ShowPrintPreview(); if (gridPutAwayNonPalletized.DataSource != null && (gridPutAwayNonPalletized.DataSource as DataTable).Rows.Count > 0) { // gridPutAwayNonPalletized.ShowPrintPreview(); } // TODO: Fix this to show all the appropriate items //compositeLink1.PrintingSystem = new DevExpress.XtraPrinting.PrintingSystem(); //compositeLink1.ShowPreview(); HCMIS.Desktop.Reports.GoodsReceivingNote note = new HCMIS.Desktop.Reports.GoodsReceivingNote(); BLL.Receipt rct = new BLL.Receipt(); var activity = new Activity(); activity.LoadByPrimaryKey(storeID); note.xrLabelAccounts.Text = activity.FullActivityName; note.DataSource = rct.GetReceiptInformationForGRN(_receiptID); if (BLL.Settings.IsCenter) { note.xrPOrderNo.Visible = false; note.xrPOrderNoValue.Visible = false; note.xrAirWayNo.Visible = false; note.xrAirWayNoValue.Visible = false; note.xrTransitTransferNo.Visible = false; note.xrTransitTransferNoValue.Visible = false; note.xrInsurancePolicyNo.Visible = false; note.xrInsurancePolicyNoValue.Visible = false; } //note.ShowPreviewDialog(); // Hide Column Confirmation1.Visible = false; //Confirmation.Visible = false; }
private int SaveRelevantReceiptHeaders(int receiptTypeID, int warehouseID) { int receiptID; var receipt = new BLL.Receipt(); var sup = new BLL.Supplier(); if (lkReceiptInvoice.EditValue != null && Convert.ToInt32(lkReceiptInvoice.EditValue) != -1) { receiptID = receipt.AddNewReceipt(receiptTypeID, warehouseID, CurrentContext.UserId, Convert.ToInt32(lkReceiptInvoice.EditValue), txtEditTransferNo.Text, ReceiptConfirmationStatus.Constants.RECEIVE_ENTERED); // , txtTransitNo.Text, txtInsuranceNo.Text, txtWayBillNo.Text); } else { //PO and ReceiptInvoice created automatically. //Needs to be fixed. BLL.PO po = new PO(); BLL.ReceiptInvoice rctInvoice = new ReceiptInvoice(); po.AddNew(); var serverDateTime = DateTimeHelper.ServerDateTime; po.PODate = serverDateTime; po.DateOfEntry = serverDateTime; po.PurchaseType = POType.INVENTORY; po.IsElectronic = false; po.POFinalized = false; po.Rowguid = Guid.NewGuid(); po.Identifier = "00000"; po.PaymentTypeID = BLL.PaymentType.Constants.STV; po.TermOfPayement = BLL.PaymentTerm.Internal; po.PurchaseOrderStatusID = PurchaseOrderStatus.Processed; rctInvoice.AddNew(); po.StoreID = Convert.ToInt32(lkAccounts.EditValue); Activity acc = new Activity(); acc.LoadByPrimaryKey(po.StoreID); po.ModeID = acc.ModeID; //po.PONumber = srm ? lkSTVInvoiceNo.EditValue.ToString() : (deliveryNote ? txtRefNo.Text : (beginningBalance ? "BeginningBalance" : String.Empty)); if (lcSTVNo.Visibility == DevExpress.XtraLayout.Utils.LayoutVisibility.Always) { po.PONumber = srm && !chkSRMForOldSystemIssues.Checked ? txtSTVNo.Text : ((deliveryNoteType != DeliveryNoteType.NotSet) ? txtSTVNo.Text : (beginningBalance ? "BeginningBalance" : (srm && chkSRMForOldSystemIssues.Checked ? txtSTVInvoiceNoOldSystem.Text : txtRefNo.Text))); } else { po.PONumber = srm && !chkSRMForOldSystemIssues.Checked ? lkSTVInvoiceNo.Text : ((deliveryNoteType != DeliveryNoteType.NotSet) ? txtRefNo.Text : (beginningBalance ? "BeginningBalance" : (srm && chkSRMForOldSystemIssues.Checked ? txtSTVInvoiceNoOldSystem.Text : txtRefNo.Text))); } //TODO: Ugly hack, supplier. To be fixed. if (srm) { po.SupplierID = BLL.Supplier.CONSTANTS.RETURNED_FROM_FACILITY; //Let's put Finance Required stuff here. po.Insurance = 0; po.ExhangeRate = 1; rctInvoice.ExchangeRate = 1; rctInvoice.Insurance = 0; rctInvoice.InvoiceTypeID = ReceiptInvoiceType.InvoiceType.LOCAL_PURCHASE; if (chkSRMForOldSystemIssues.Checked) { if (lkForFacility.EditValue == null) throw new Exception("Facility not chosen!"); po.RefNo = lkForFacility.EditValue.ToString(); } } po.SavedbyUserID = CurrentContext.LoggedInUser.ID; po.Save(); rctInvoice.POID = po.ID; if (lcSTVNo.Visibility == DevExpress.XtraLayout.Utils.LayoutVisibility.Always) { rctInvoice.STVOrInvoiceNo = srm && !chkSRMForOldSystemIssues.Checked ? txtSTVNo.Text : ((deliveryNoteType != DeliveryNoteType.NotSet) ? txtSTVNo.Text : (beginningBalance ? "BeginningBalance" : (srm && chkSRMForOldSystemIssues.Checked ? txtSTVInvoiceNoOldSystem.Text : txtSTVNo.Text))); } else { rctInvoice.STVOrInvoiceNo = srm && !chkSRMForOldSystemIssues.Checked ? lkSTVInvoiceNo.Text : ((deliveryNoteType != DeliveryNoteType.NotSet) ? txtRefNo.Text : (beginningBalance ? "BeginningBalance" : (srm && chkSRMForOldSystemIssues.Checked ? txtSTVInvoiceNoOldSystem.Text : txtRefNo.Text))); } rctInvoice.DateOfEntry = DateTimeHelper.ServerDateTime; rctInvoice.ActivityID = po.StoreID; rctInvoice.SavedByUserID = CurrentContext.LoggedInUser.ID; rctInvoice.IsDeliveryNote = false; rctInvoice.Rowguid = Guid.NewGuid(); rctInvoice.PrintedDate = po.DateOfEntry; rctInvoice.IsVoided = false; rctInvoice.ShippingSite = " "; rctInvoice.IsConvertedFromDeliveryNote = false; rctInvoice.IsDeliveryNote = false; rctInvoice.DocumentTypeID = DocumentType.CONSTANTS.SRM; rctInvoice.Save(); receiptID = receipt.AddNewReceipt(receiptTypeID, warehouseID, CurrentContext.UserId, rctInvoice.ID, txtTransitTransferVoucherNo.Text, ReceiptConfirmationStatus.Constants.RECEIVE_ENTERED); //receiptID = receipt.AddNewReceipt(receiptTypeID, NewMainWindow.UserId); } return receiptID; }
private void PrintReceiptConfirmation(string referenceNumber, int? reprintOfReceiptConfirmationPrintoutID) { var rc = new ReceiptConfirmationPrintout(); var srmPrintout = new HCMIS.Desktop.Reports.SRMPrintout(CurrentContext.LoggedInUserName); int ReceiptID = Convert.ToInt32(gridReceiveView.GetFocusedDataRow()["ReceiptID"]); var receiveDoc = new ReceiveDoc(); receiveDoc.LoadByReceiptID(ReceiptID); ReceiptConfirmationPrintout.GetGRNFNo(ReceiptID); srmPrintout.BranchName.Text = GeneralInfo.Current.HospitalName; rc.PrepareDataForPrintout(ReceiptID, CurrentContext.UserId, false, 3, null, reprintOfReceiptConfirmationPrintoutID,FiscalYear.Current); srmPrintout.DataSource = rc.DefaultView.ToTable(); var rUnit = new Institution(); var idoc = new IssueDoc(); if (!receiveDoc.IsColumnNull("ReturnedFromIssueDocID")) { idoc.LoadByPrimaryKey(receiveDoc.ReturnedFromIssueDocID); rUnit.LoadByPrimaryKey(idoc.ReceivingUnitID); } else { var po = new PO(); po.LoadByReceiptID(receiveDoc.ReceiptID); rUnit.LoadByPrimaryKey(int.Parse(po.RefNo)); } srmPrintout.xrFromValue.Text = rUnit.Name; srmPrintout.xrWoredaValue.Text = rUnit.WoredaText; srmPrintout.xrRegionValue.Text = rUnit.Region; srmPrintout.xrZoneValue.Text = rUnit.ZoneText; if (!receiveDoc.IsColumnNull("ReturnedFromIssueDocID")) { var stvLog = new BLL.Issue(); stvLog.LoadByPrimaryKey(idoc.STVID); srmPrintout.xrIssueDateValue.Text = idoc.Date.ToString("M/d/yyyy"); var activity = new Activity(); activity.LoadByPrimaryKey(idoc.StoreId); srmPrintout.xrAccountName.Text = activity.FullActivityName; var rct = new BLL.Receipt(); rct.LoadByPrimaryKey(ReceiptID); var rctInvoice = new ReceiptInvoice(); rctInvoice.LoadByPrimaryKey(rct.ReceiptInvoiceID); srmPrintout.xrSTVNoValue.Text = rctInvoice.STVOrInvoiceNo; } else { var activity = new Activity(); activity.LoadByPrimaryKey(receiveDoc.StoreID); srmPrintout.xrAccountName.Text = activity.FullActivityName; srmPrintout.xrSTVNoValue.Text = receiveDoc.RefNo; } var dtDate = new DateTimePickerEx(); dtDate.Value = receiveDoc.EurDate; srmPrintout.Date.Text = dtDate.Text; if (srmPrintout.PrintDialog() != DialogResult.OK) { throw new Exception("Print cancelled by user!"); } //Successfully printed //Release Product var GRV = new CostCalculator(); GRV.LoadGRV(ReceiptID); GRV.ReleaseForIssue(); String reference = gridReceiveView.GetFocusedDataRow()["RefNo"].ToString(); var recDoc = new ReceiveDoc(); recDoc.LoadByReferenceNo(reference); recDoc.ConfirmGRVPrinted(CurrentContext.UserId); BLL.Receipt receiptStatus = new BLL.Receipt(); receiptStatus.LoadByPrimaryKey(ReceiptID); receiptStatus.ChangeStatus(ReceiptConfirmationStatus.Constants.GRV_PRINTED, null, this.GetFormIdentifier(), CurrentContext.UserId, "GRV Printed"); BindFormContents(); }
/// <summary> /// Gets the next GRV number. /// </summary> /// <param name="storeID">The store ID.</param> /// <param name="receiptTypeID">The receipt type ID.</param> /// <param name="preGRVorGRVOrSRM">The pre GR vor GRV or SRM.</param> /// <returns></returns> /// <summary> /// Adds the new. /// </summary> /// <param name="printedConfirmationNumber">The printed confirmation number.</param> /// <param name="storeID">The store ID.</param> /// <param name="supplierID">The supplier ID.</param> /// <param name="userID">The user ID.</param> /// <param name="receiptID">The receipt ID.</param> /// <param name="grvOrPreGRVorSRM">The GRV or pre GR vor SRM.</param> /// <param name="isReprintOfRCNo">The is reprint of RC no.</param> private int AddNew(int storeID, int? supplierID, int? userID, int receiptID, int grvOrPreGRVorSRM, int? isReprintOfRCNo) { //1-PreGRV,2-GRV,3-SRM,4-iGRV,5-DeliveryNote AddNew(); PrintedDate = DateTimeHelper.ServerDateTime; StoreID = storeID; if (supplierID.HasValue) SupplierID = supplierID.Value; if (userID.HasValue) UserID = userID.Value; ReceiptID = receiptID; FiscalYearID = FiscalYear.Current.ID; Activity activity = new Activity(); activity.LoadByPrimaryKey(storeID); AccountID = activity.AccountID; //This has been Added to maintain the grvOrPreGRVorSRM(the variable with a funny name) //Which should be removed soon if (grvOrPreGRVorSRM == 1) { Reason = "PGRV"; DocumentTypeID = DocumentType.documentTypes.GRNF.DocumentTypeID; } else if (grvOrPreGRVorSRM == 2) { Reason = "GRV"; DocumentTypeID = DocumentType.documentTypes.GRV.DocumentTypeID; } else if (grvOrPreGRVorSRM == 3) { Reason = "SRM"; DocumentTypeID = DocumentType.documentTypes.SRM.DocumentTypeID; } else { Reason = "iGRV"; DocumentTypeID = DocumentType.documentTypes.IGRV.DocumentTypeID; } if (isReprintOfRCNo.HasValue) { IsReprintOf = isReprintOfRCNo.Value; } IDPrinted = DocumentType.GetNextSequenceNo(DocumentTypeID, AccountID, FiscalYearID); Save(); return IDPrinted; }
public DataView CostAnalysis(string pGRVNo) { Receipt receipt = new Receipt(ReceiptID); PO PO = receipt.ReceiptInvoice.PO; ReceiptInvoice receiptInvoice = receipt.ReceiptInvoice; ReceiveDoc receiveDoc = new ReceiveDoc(); receiveDoc.LoadByReceiptID(ReceiptID); Activity activity = new Activity(); activity.LoadByPrimaryKey(receiveDoc.StoreID); JournalEntry UnitCostJournal = new JournalEntry(activity.AccountName, activity.SubAccountName, activity.Name, PO.Supplier.CompanyName, "", PO.PONumber, pGRVNo, receiptInvoice.STVOrInvoiceNo, receiptInvoice.TransitTransferNo, receiptInvoice.WayBillNo, receiptInvoice.InsurancePolicyNo); double SupplierClaim = Convert.ToDouble(GetSupplierClaim()); double InsuranceClaim = Convert.ToDouble(GetInsuranceClaim()); double Provision = Convert.ToDouble(Math.Round(CostBuildUp.Provision, 2)); double GrandTotal = Math.Round(GetGrandTotal(), 2); double PriceDifference = Math.Round(_PriceDifference, 2); double Bonus = Convert.ToDouble(Math.Round(_Bonus,2)); //Request from Mery Formula Provide by Phone //Wednesday October 10 double GIT = Math.Round(GrandTotal + SupplierClaim + InsuranceClaim + _PriceDifference - Provision - Convert.ToDouble(Bonus), 2); // trying out Sprout Method to Handle if(receiveDoc.ReturnedStock) { double stock = Math.Round(GetGrandTotalForSRM(),2); return SRMCostAnalysis(UnitCostJournal,_CommodityType, stock, stock,ReceiptID); } if(POType.GetModes(PO.PurchaseType) == POType.STANDARD && CostBuildUp.Invoice.InvoiceTypeID != ReceiptInvoiceType.InvoiceType.LOCAL_PURCHASE && CostBuildUp.Invoice.InvoiceTypeID != ReceiptInvoiceType.InvoiceType.CIP) { UnitCostJournal.AddNewEntry(String.Format("Stock ({0})", _CommodityType), GrandTotal, null); UnitCostJournal.AddNewEntry("ClaimFromSupplier", SupplierClaim, null); UnitCostJournal.AddNewEntry("ClaimFromInsurance", InsuranceClaim, null); if (PriceDifference < 0) { UnitCostJournal.AddNewEntry("Price Difference", null, Math.Abs(PriceDifference)); } else if (PriceDifference > 0) { UnitCostJournal.AddNewEntry("Price Difference", Math.Abs(PriceDifference), null); } UnitCostJournal.AddNewEntry("GIT", null, GIT); UnitCostJournal.AddNewEntry("Provision", null, Provision); if (Bonus > 0) { UnitCostJournal.AddNewEntry("Other Income", null, Math.Abs(Bonus)); } } else if (activity.IsHealthProgram()) { UnitCostJournal.AddNewEntry(String.Format("Stock ({0})", _CommodityType), Math.Round(GrandTotal, Settings.NoOfDigitsAfterTheDecimalPoint), null); if (PriceDifference < 0) { UnitCostJournal.AddNewEntry("Price Difference", null, Math.Abs(PriceDifference)); } else if (PriceDifference > 0) { UnitCostJournal.AddNewEntry("Price Difference", Math.Abs(PriceDifference), null); } UnitCostJournal.AddNewEntry(String.Format("Net Asset ({0})", _Supplier), null, Math.Round(GrandTotal - PriceDifference - Bonus, Settings.NoOfDigitsAfterTheDecimalPoint)); if (Bonus > 0) { UnitCostJournal.AddNewEntry("Other Income", null, Math.Abs(Bonus)); } } else { UnitCostJournal.AddNewEntry(String.Format("Stock ({0})", _CommodityType), Math.Round(GrandTotal, Settings.NoOfDigitsAfterTheDecimalPoint), null); if (PriceDifference > 0) { UnitCostJournal.AddNewEntry("Price Difference", null, Math.Abs(PriceDifference)); } else if (PriceDifference < 0) { UnitCostJournal.AddNewEntry("Price Difference", Math.Abs(PriceDifference), null); } UnitCostJournal.AddNewEntry(String.Format("Account Payable ({0})", _Supplier), null, Math.Round(GIT - Convert.ToDouble(GetTotalDamagedAndShortlanded())-Bonus, Settings.NoOfDigitsAfterTheDecimalPoint)); if (Bonus > 0) { UnitCostJournal.AddNewEntry("Other Income", null, Math.Abs(Bonus)); } } return UnitCostJournal.DefaultView(); }
private void gridGRVs_MouseClick(object sender, MouseEventArgs e) { DataRow SelectGRV = gridGRVsView.GetFocusedDataRow(); if (SelectGRV != null) { ReceiptID = Convert.ToInt32(SelectGRV["ReceiptID"]); PONumber = Convert.ToString(SelectGRV["PONumber"]); LoadSelectedGRVDetailForInvoiceEntry(ReceiptID); txtOrderNo.EditValue = SelectGRV["PONumber"]; txtInvoiceNo.EditValue = SelectGRV["InvoiceNumber"]; string space = ""; int length = ((string) SelectGRV["InvoiceNumber"]).Length; lcgInvoiceNo.Text = "Invoice No: " + (string)SelectGRV["InvoiceNumber"] + space.PadRight(180 - length) + "GRNF No: " + (string)SelectGRV["RefNo"].ToString(); lblMode.Text = (string)SelectGRV["Mode"] ?? "-"; lblAccount.Text = (string)SelectGRV["AccountName"] ?? "-"; lblSubAccount.Text = (string)SelectGRV["SubAccountName"] ?? "-"; lblActivity.Text = (string)SelectGRV["ActivityName"] ?? "-"; lblWarehouse.Text = (string)SelectGRV["WarehouseName"] ?? "-"; lblCluster.Text = (string)SelectGRV["ClusterName"] ?? "-"; lblReceiptType.Text = (string)SelectGRV["ReceiveType"] ?? "-"; lblReceiptStatus.Text = (string)SelectGRV["ReceiveStatus"] ?? "-"; lblSupplier.Text = (string)SelectGRV["SupplierName"] ?? "-"; lblOrderNo.Text = (string)SelectGRV["PONumber"] ?? "-"; lblConfirmedBy.Text = SelectGRV["ConfirmedBy"] == DBNull.Value ? "-" : (string)SelectGRV["ConfirmedBy"]; lblConfirmedDate.Text = SelectGRV["ConfirmedTime"] != DBNull.Value ? Convert.ToDateTime(SelectGRV["ConfirmedTime"]).ToShortDateString() : "-"; lblReceivedBy.Text = (string)SelectGRV["ReceivedBy"] ?? "-"; lblReceiptDate.Text = ((DateTime)SelectGRV["ReceivedTime"]).ToShortDateString() ?? "-"; lblInsurance.Text = SelectGRV["InsuranceNumber"] == DBNull.Value ? "" : (string)SelectGRV["InsuranceNumber"] ?? "-"; txtInsuranceNo.EditValue = SelectGRV["InsuranceNumber"]; lblInsurancePolicyNo.Text = SelectGRV["InsuranceNumber"].ToString() ?? "-"; txtTransfer.EditValue = SelectGRV["TransitNumber"]; lblTransferNo.Text = SelectGRV["TransitNumber"].ToString() ?? "-"; txtWayBill.EditValue = SelectGRV["WayBillNumber"]; lblWayBillNo.Text = SelectGRV["WayBillNumber"].ToString() ?? "-"; Activity Activity = new Activity(); Activity.LoadByPrimaryKey(Convert.ToInt32(SelectGRV["StoreID"])); txtActivity.EditValue = Activity.FullActivityName; lblActivity.Text = Activity.FullActivityName ?? "-"; var logReceiptStatus = new LogReceiptStatus(); var dtHistory = logReceiptStatus.GetLogHistory(ReceiptID, "PRC"); if (dtHistory != null && dtHistory.Count > 0) { lblCalcuatedBy.Text =(string)dtHistory[0]["FullName"]; lblCalculatedDate.Text = ((DateTime)dtHistory[0]["Date"]).ToShortDateString(); } else { lblCalculatedDate.Text = lblCalcuatedBy.Text = "-"; } } else { ResetForm(); } }
private void PrintReceiptConfirmation(string referenceNumber, int? reprintOfReceiptConfirmationPrintoutID) { ReceiptConfirmationPrintout rc = new ReceiptConfirmationPrintout(); HCMIS.Desktop.Reports.ReceiptConfirmationPrintout printout = new HCMIS.Desktop.Reports.ReceiptConfirmationPrintout(CurrentContext.LoggedInUserName); HCMIS.Desktop.Reports.SRMPrintout srmPrintout = new HCMIS.Desktop.Reports.SRMPrintout(CurrentContext.LoggedInUserName); int ReceiptID = Convert.ToInt32(gridReceiveView.GetFocusedDataRow()["ReceiptID"]); BLL.ReceiveDoc receiveDoc = new ReceiveDoc(); // receiveDoc.LoadByReferenceNo(reference); receiveDoc.LoadByReceiptID(ReceiptID); BLL.Supplier supplier = new Supplier(); supplier.LoadByPrimaryKey(receiveDoc.SupplierID); int printedID = 0; int GRNFNo = BLL.ReceiptConfirmationPrintout.GetGRNFNo(ReceiptID); if (currentMode == Modes.DeliveryNotePrinting) { printout.BranchName.Text = GeneralInfo.Current.HospitalName; printout.xrGRVLabel.Text = "Delivery Note."; printout.xrAir.Visible = false; printout.xrAirValue.Visible = false; printout.xrTransit.Visible = false; printout.xrTransitValue.Visible = false; printout.xrInsurance.Visible = false; printout.xrInsuranceValue.Visible = false; printout.xrNumberOfCases.Visible = false; printout.xrNumberOfCasesValue.Visible = false; printout.xrInvoiceNo.Visible = false; printout.xrInvoiceNoValue.Visible = false; printout.xrPurchaseOrderNo.Visible = false; printout.xrPurchaseOrderNoValue.Visible = false; printout.xrSTV.Visible = false; printout.xrSTVNoValue.Visible = false; printout.DataSource = rc.PrepareDataForPrintout(ReceiptID, CurrentContext.UserId, false, 5, null, reprintOfReceiptConfirmationPrintoutID,FiscalYear.Current); CalendarLib.DateTimePickerEx dtDate = new CalendarLib.DateTimePickerEx(); //dtDate.CustomFormat = "dd/MM/yyyy"; dtDate.Value = receiveDoc.EurDate; printout.Date.Text = dtDate.Text; } var activity = new Activity(); activity.LoadByPrimaryKey(receiveDoc.StoreID); printout.xrLabelStoreName.Text = activity.FullActivityName; if (ReceiveDoc.IsThereShortageOrDamage(ReceiptID)) { HCMIS.Desktop.Reports.ReceiptConfirmationShortagePrintout printoutShortage = PrintReceiptConfirmationForShortage(referenceNumber, printedID); printout.xrShortageReport.ReportSource = printoutShortage; printout.PrintingSystem.ContinuousPageNumbering = true; } else { printout.ReportFooter.Visible = false; } //Successfully printed //Release Product CostCalculator GRV = new CostCalculator(); GRV.LoadGRV(ReceiptID); GRV.ReleaseForIssue(); String reference = gridReceiveView.GetFocusedDataRow()["RefNo"].ToString(); BLL.ReceiveDoc recDoc = new ReceiveDoc(); recDoc.LoadByReferenceNo(reference); recDoc.ConfirmGRVPrinted(CurrentContext.UserId); BindFormContents(); }
/// <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> /// Saves the and print STV. /// </summary> /// <param name="pickListDetail">The pick list detail.</param> /// <param name="deliveryNotePrinter">The delivery note printer.</param> /// <param name="stvPrinterName">Name of the STV printer.</param> /// <param name="dtDate">The dt date.</param> /// <param name="dtCurrent">The dt current.</param> /// <exception cref="System.Exception"></exception> private XtraReport SaveAndPrintSTV(DataView pickListDetail, bool isDeliveryNote, string printerName, DateTimePickerEx dtDate, DateTime dtCurrent) { HCMIS.Core.Distribution.Services.PrintLogService pLogService = new HCMIS.Core.Distribution.Services.PrintLogService(); pLogService.StartPrintingSession(); Order ord = IssueDoc.SaveIssueTransaction(_orderID, ref pickListDetail, txtRemarks.Text, CurrentContext.LoggedInUserName, dtCurrent); if (pickListDetail.Count == 0) throw new Exception("An error occurred during saving the issue. Please contact your administrator."); string sendToString = ""; BLL.Order ordr = new BLL.Order(); ordr.LoadByPrimaryKey(_orderID); BLL.Institution rus = new Institution(); if (!ordr.IsColumnNull("RequestedBy")) { rus.LoadByPrimaryKey(ordr.RequestedBy); sendToString = rus.Name; } else if (!ordr.IsColumnNull("OrderTypeID") && ordr.OrderTypeID == BLL.OrderType.CONSTANTS.ACCOUNT_TO_ACCOUNT_TRANSFER) { BLL.Transfer transfer = new Transfer(); transfer.LoadByOrderID(_orderID); var activity = new Activity(); activity.LoadByPrimaryKey(transfer.ToStoreID); sendToString = activity.FullActivityName; } PickList pl = new PickList(); pl.LoadByOrderID(ord.ID); var xtraReport = new XtraReport(); if (ord.PaymentTypeID == PaymentType.Constants.CASH) { xtraReport = FormatCashInvoice(ord, pickListDetail.Table, rus, pl, isDeliveryNote, printerName, pLogService); } else if (ord.PaymentTypeID == PaymentType.Constants.CREDIT) { xtraReport = FormatCreditInvoice(ord, pickListDetail.Table, rus, pl, isDeliveryNote, printerName, pLogService); } else if (ord.PaymentTypeID == PaymentType.Constants.STV) { xtraReport = FormatSTV(ord, pickListDetail.Table, sendToString, pl, isDeliveryNote, printerName, pLogService, _orderID); } SavePdfReport(pLogService, xtraReport); pLogService.CommitPrintLog(); return xtraReport; }
/// <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; }
/// <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); }
public DataView CostAnalysis(string pGRVNo) { Receipt receipt = new Receipt(ReceiptID); PO PO = receipt.ReceiptInvoice.PO; ReceiptInvoice receiptInvoice = receipt.ReceiptInvoice; ReceiveDoc receiveDoc = new ReceiveDoc(); receiveDoc.LoadByReceiptID(ReceiptID); Activity activity = new Activity(); activity.LoadByPrimaryKey(receiveDoc.StoreID); JournalEntry UnitCostJournal = new JournalEntry(activity.AccountName, activity.SubAccountName, activity.Name, PO.Supplier.CompanyName, "", PO.PONumber, pGRVNo, receiptInvoice.STVOrInvoiceNo, receiptInvoice.TransitTransferNo, receiptInvoice.WayBillNo, receiptInvoice.InsurancePolicyNo); double GIT = _GrandTotalCost; //When insurance is included (_TotalLandedCost-_GrandTotal) is the price effect cauzed by rounding double PriceDifference = Math.Round(_PriceDifference - _PriceDifferenceIns,Settings.NoOfDigitsAfterTheDecimalPoint); if (receiveDoc.ReturnedStock) { double stock = Math.Round(GetGrandTotalForSRM(), 2); return SRMCostAnalysis(UnitCostJournal, _CommodityType, stock, stock,ReceiptID); } UnitCostJournal.AddNewEntry("Stock (" + _CommodityType + ")", Math.Round(_GrandTotalCost + PriceDifference, Settings.NoOfDigitsAfterTheDecimalPoint), null); if (PriceDifference > 0) { UnitCostJournal.AddNewEntry("Price Difference", null, Math.Abs(PriceDifference)); } else if (PriceDifference < 0) { UnitCostJournal.AddNewEntry("Price Difference", Math.Abs(PriceDifference), null); } UnitCostJournal.AddNewEntry( "Account Payable (" + GetAccountPayableCorrectNameByAccount(_Supplier) + ")", null, Math.Round(_GrandTotalCost, Settings.NoOfDigitsAfterTheDecimalPoint)); return UnitCostJournal.DefaultView(); }
public DataView CostAnalysis(string pGRVNo) { Receipt receipt = new Receipt(ReceiptID); PO PO = receipt.ReceiptInvoice.PO; ReceiptInvoice receiptInvoice = receipt.ReceiptInvoice; ReceiveDoc receiveDoc = new ReceiveDoc(); receiveDoc.LoadByReceiptID(ReceiptID); Activity activity = new Activity(); activity.LoadByPrimaryKey(receiveDoc.StoreID); JournalEntry UnitCostJournal = new JournalEntry(activity.AccountName, activity.SubAccountName, activity.Name, PO.Supplier.CompanyName, "", PO.PONumber, pGRVNo, receiptInvoice.STVOrInvoiceNo, receiptInvoice.TransitTransferNo, receiptInvoice.WayBillNo, receiptInvoice.InsurancePolicyNo); double SupplierClaim = Convert.ToDouble(GetSupplierClaim()); double InsuranceClaim = Convert.ToDouble(GetInsuranceClaim()); double Provision = Convert.ToDouble(Math.Round(CostBuildUp.Provision, 2)); double GrandTotal = Math.Round(GetGrandTotal(), 2); double PriceDifference = Math.Round(_PriceDifference, 2); double Bonus = Convert.ToDouble(Math.Round(_Bonus, 2)); //Request from Mery Formula Provide by Phone //Wednesday October 10 double GIT = Math.Round(GrandTotal + SupplierClaim + InsuranceClaim + _PriceDifference - Provision - Convert.ToDouble(Bonus), 2); // trying out Sprout Method to Handle if (receiveDoc.ReturnedStock) { double stock = Math.Round(GetGrandTotalForSRM(), 2); return(SRMCostAnalysis(UnitCostJournal, _CommodityType, stock, stock, ReceiptID)); } if (POType.GetModes(PO.PurchaseType) == POType.STANDARD && CostBuildUp.Invoice.InvoiceTypeID != ReceiptInvoiceType.InvoiceType.LOCAL_PURCHASE && CostBuildUp.Invoice.InvoiceTypeID != ReceiptInvoiceType.InvoiceType.CIP) { UnitCostJournal.AddNewEntry(String.Format("Stock ({0})", _CommodityType), GrandTotal, null); UnitCostJournal.AddNewEntry("ClaimFromSupplier", SupplierClaim, null); UnitCostJournal.AddNewEntry("ClaimFromInsurance", InsuranceClaim, null); if (PriceDifference < 0) { UnitCostJournal.AddNewEntry("Price Difference", null, Math.Abs(PriceDifference)); } else if (PriceDifference > 0) { UnitCostJournal.AddNewEntry("Price Difference", Math.Abs(PriceDifference), null); } UnitCostJournal.AddNewEntry("GIT", null, GIT); UnitCostJournal.AddNewEntry("Provision", null, Provision); if (Bonus > 0) { UnitCostJournal.AddNewEntry("Other Income", null, Math.Abs(Bonus)); } } else if (activity.IsHealthProgram()) { UnitCostJournal.AddNewEntry(String.Format("Stock ({0})", _CommodityType), Math.Round(GrandTotal, Settings.NoOfDigitsAfterTheDecimalPoint), null); if (PriceDifference < 0) { UnitCostJournal.AddNewEntry("Price Difference", null, Math.Abs(PriceDifference)); } else if (PriceDifference > 0) { UnitCostJournal.AddNewEntry("Price Difference", Math.Abs(PriceDifference), null); } UnitCostJournal.AddNewEntry(String.Format("Net Asset ({0})", _Supplier), null, Math.Round(GrandTotal - PriceDifference - Bonus, Settings.NoOfDigitsAfterTheDecimalPoint)); if (Bonus > 0) { UnitCostJournal.AddNewEntry("Other Income", null, Math.Abs(Bonus)); } } else { UnitCostJournal.AddNewEntry(String.Format("Stock ({0})", _CommodityType), Math.Round(GrandTotal, Settings.NoOfDigitsAfterTheDecimalPoint), null); if (PriceDifference > 0) { UnitCostJournal.AddNewEntry("Price Difference", null, Math.Abs(PriceDifference)); } else if (PriceDifference < 0) { UnitCostJournal.AddNewEntry("Price Difference", Math.Abs(PriceDifference), null); } UnitCostJournal.AddNewEntry(String.Format("Account Payable ({0})", _Supplier), null, Math.Round(GIT - Convert.ToDouble(GetTotalDamagedAndShortlanded()) - Bonus, Settings.NoOfDigitsAfterTheDecimalPoint)); if (Bonus > 0) { UnitCostJournal.AddNewEntry("Other Income", null, Math.Abs(Bonus)); } } return(UnitCostJournal.DefaultView()); }
private void gridOrderView_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) { if (e != null && e.PrevFocusedRowHandle < -1) return; if (gridOrderView.GetFocusedDataRow() != null) { var dr = gridOrderView.GetFocusedDataRow(); int OrderID = Convert.ToInt32(dr["ID"]); string sharps = Helpers.FormattingHelpers.GetNumberFormatting(); Order = new PO(OrderID); RefreshInvoice(); RefreshPoDetail(); // Layout ... Show the damn correct layout // Hide the empty layout LayoutEmptyDetails.Visibility = LayoutVisibility.Never; LayoutSelectedOrderDetail.Visibility = LayoutVisibility.Always; int Currency = 0x0409; if(!Order.IsColumnNull("LCID")) Currency = Order.LCID; if(!string.IsNullOrEmpty(Order.s_PurchaseType)) PurchaseTypes = POType.GetAllPOTypes().Find(t => t.ID == Order.PurchaseType); string space = ""; DataRow dar = gridInvoiceView.GetFocusedDataRow(); HeaderGroup.Text = "PO No: " + dr["OrderNumber"].ToString(); if (dar != null) { HeaderGroup.Text = HeaderGroup.Text + space.PadRight(160) + "Invoice No: " + gridInvoiceView.GetFocusedDataRow()["STVOrInvoiceNo"]; } // lblOrderType.Text = PurchaseTypes != null ? string.Format("{0} : {1}" ,PurchaseTypes.Group , PurchaseTypes.Name) : ""; lblPONumber.Text = Order.PONumber; lblTotalValue.Text = Order.TotalValue.ToString(Helpers.FormattingHelpers.GetCurrencyFormatByLCID(Currency)); lblInsurance.Text = Order.Insurance.ToString(Helpers.FormattingHelpers.GetBirrFormatting()); lblNBE.Text = Order.NBE.ToString(Helpers.FormattingHelpers.GetBirrFormatting()); lblSupplier.Text = Order.Supplier.CompanyName; lblShipper.Text = String.IsNullOrEmpty(Order.ShippingSite) ? "-" : Order.ShippingSite; lblLetterNo.Text = String.IsNullOrEmpty(Order.LetterNo) ? "-" : Order.LetterNo; lblPOType.Text = dr["Name"].ToString(); var PaymentType = new PaymentType(); PaymentType.LoadByPrimaryKey(Order.PaymentTypeID); lblPaymentType.Text = String.IsNullOrEmpty(PaymentType.Name) ? "-" : PaymentType.Name ; var User = new User(); User.LoadByPrimaryKey(Order.SavedbyUserID); lblPOBy.Text = String.IsNullOrEmpty(User.FullName) ? "-" : User.FullName; if (!Order.IsColumnNull("ModeID")) { var Mode = new Mode(); Mode.LoadByPrimaryKey(Order.ModeID); lblMode.Text = Mode.TypeName; } else lblMode.Text = "-"; if (!Order.IsColumnNull("PurchaseOrderStatusID")) { var poStatus = new PurchaseOrderStatus(); poStatus.LoadByPrimaryKey(Order.PurchaseOrderStatusID); lblPOStatus.Text = poStatus.Name; } chkboxIsElectronic.Checked = Order.IsElectronic; lblOrderDate.Text = Order.PODate.ToShortDateString(); lblSyncDate.Text = Order.ModifiedDate == DateTime.MinValue ? "NA" : Order.ModifiedDate.ToString(CultureInfo.InvariantCulture); if (!Order.IsColumnNull("StoreID")) { Activity act = new Activity(); act.LoadByPrimaryKey(Order.StoreID); lblAccount.Text = act.AccountName; lblSubAccount.Text = act.SubAccountName; lblActivity.Text = act.Name; } else { lblAccount.Text = lblSubAccount.Text = lblActivity.Text = "-"; } lblRefNo.Text = String.IsNullOrEmpty(Order.RefNo) ? "-" : Order.RefNo; lblRemainingValue.Text = Order.Remaining.ToString(Helpers.FormattingHelpers.GetCurrencyFormatByLCID(Currency)); if (BLL.Settings.UseNewUserManagement && this.HasPermission("Add-Invoice")) { btnAddInvoice.Enabled = true; } else if (BLL.Settings.UseNewUserManagement) { btnAddInvoice.Enabled = false; } btnAddInvoice.Enabled = btnEditOrder.Enabled =btnAddOrderDetail.Enabled = !Order.IsElectronic; if (Order.IsElectronic) { grdPoDetail.Enabled = false; gridInvoice.Enabled = false; } else { grdPoDetail.Enabled = true ; gridInvoice.Enabled = true; } //purchse order details grdPoDetail.DataSource = Order.PurchaseOrderDetail.DefaultView; } else { // Hide the empty layout LayoutEmptyDetails.Visibility = LayoutVisibility.Always; LayoutSelectedOrderDetail.Visibility = LayoutVisibility.Never; } }
private void BinCardTransactionLoad(object sender, EventArgs e) { Item itm = new Item(); itm.LoadByPrimaryKey(_ItemID); txtItemName.Text = txtitmName.Text = itm.FullItemName; this.Text = string.Format("{0} Detail Report", itm.FullItemName); BLL.Warehouse clusters = new BLL.Warehouse(); clusters.LoadUsersClustersContainingItem(CurrentContext.UserId, _ItemID, _UnitID.Value, _StoreID); lkWarehouses.Properties.DataSource = clusters.DefaultView; lkWarehouses.ItemIndex = 0; lkBinCardWarehouse.Properties.DataSource = clusters.DefaultView; lkBinCardWarehouse.ItemIndex = 0; lblItemID.Text = this._ItemID.ToString(); lblItemSerialNumber.Text = itm.SerialNumber; lkYear.Properties.DataSource = itm.AllYears(); lkYear.EditValue = _Year; lkWarehouses_EditValueChanged(null, null); ItemUnit iu = new ItemUnit(); iu.LoadByPrimaryKey(_UnitID.Value); lblBUnit.Text = iu.Text; dtDate.Value = DateTimeHelper.ServerDateTime; dtDate.CustomFormat = "MM/dd/yyyy"; dtCurrent = ConvertDate.DateConverter(dtDate.Text); Activity stor = new Activity(); stor.LoadByPrimaryKey(_StoreID); BindLocationView(); if (CurrentContext.LoggedInUser.UserType == UserType.Constants.FINANCE || CurrentContext.LoggedInUser.UserType == UserType.Constants.FUND_OFFICER) { tbClassicBinCard.Text = "Stock Card"; } else { colTotalCost.Visible = false; colUnitCost.Visible = false; tbSOHPriceSummary.Visible = false; } if (this.HasPermission("Show-Classic-Bin-Card")) { tbClassicBinCard.Visible = false; } if (this.HasPermission("Show-Bin-Card")) { tbBinCard.Visible = false; } }
/// <summary> /// Formats the STV. /// </summary> /// <param name="ord">The ord.</param> /// <param name="dvPriced">The dv priced.</param> /// <param name="stvSentTo">The STV sent to.</param> /// <param name="pl">The pl.</param> /// <param name="deliveryNote">if set to <c>true</c> [delivery note].</param> /// <param name="allowCancelByUser">if set to <c>true</c> [allow cancel by user].</param> /// <exception cref="System.Exception"></exception> private XtraReport FormatSTV(Order ord, DataTable dvPriced, string stvSentTo, PickList pl, bool deliveryNote, string printerName, HCMIS.Core.Distribution.Services.PrintLogService pLogService, int orderID) { bool hasInsurance = chkIncludeInsurance.Checked; string accountName = txtConfirmFromStore.Text; string transferType = null; int? orderTypeID = null; BLL.Order order = new Order(); order.LoadByPrimaryKey(orderID); if (!order.IsColumnNull("OrderTypeID")) orderTypeID = Convert.ToInt32(ord.GetColumn("OrderTypeID")); string transferDetail = ""; if (orderTypeID.HasValue) { BLL.Transfer transfer = new Transfer(); if (orderTypeID == OrderType.CONSTANTS.STORE_TO_STORE_TRANSFER) { transfer.LoadByOrderID(orderID); PhysicalStore toStore = new PhysicalStore(); toStore.LoadByPrimaryKey(transfer.ToPhysicalStoreID); BLL.Warehouse toWarehouse = new BLL.Warehouse(); toWarehouse.LoadByPrimaryKey(toStore.PhysicalStoreTypeID); transferType = "Store to Store Transfer"; stvSentTo = toWarehouse.Name; } if (orderTypeID == OrderType.CONSTANTS.ACCOUNT_TO_ACCOUNT_TRANSFER) { transfer.LoadByOrderID(orderID); Activity fromActivity = new Activity(); fromActivity.LoadByPrimaryKey(transfer.FromStoreID); Activity toActivity = new Activity(); toActivity.LoadByPrimaryKey(transfer.ToStoreID); transferType = "Account to Account Transfer"; transferDetail = string.Format("From: {0} To: {1}", fromActivity.FullActivityName, toActivity.FullActivityName); } } if (!deliveryNote) { if(InstitutionIType.IsVaccine(GeneralInfo.Current)) { return WorkflowReportFactory.CreateModel22(ord, dvPriced, stvSentTo, pl.ID, null, false, true, hasInsurance, transferType); } var stvReport = WorkflowReportFactory.CreateSTVonHeadedPaper(ord, dvPriced, stvSentTo, pl.ID, null, false, true, hasInsurance, transferType); if (transferDetail != "") { stvReport.TransferDetails.Text = transferDetail; stvReport.TransferDetails.Visible = true; } else { stvReport.TransferDetails.Visible = false; } return stvReport; } else { return WorkflowReportFactory.CreateDeliveryNote(ord, dvPriced, stvSentTo, pl.ID, null, false, true, hasInsurance, transferType); } }
private bool IsRecieveGridValid() { bool valid = true; for (int i = 0; i < gridRecieveView.RowCount; i++) { DataRow dr = gridRecieveView.GetDataRow(i); Item itm = new Item(); itm.LoadByPrimaryKey(Convert.ToInt32(dr["ID"])); dr.ClearErrors(); if (!BLL.Settings.HandleGRV && srm != true) //The price is entered right here if we don't handle the GRVs { //Unless it is a receive by delivery note, price needs to be entered. //txtSTVNo.Text = txtRefNo.Text; if ((dr["Price/Pack"] == DBNull.Value || dr["Price/Pack"] == null || dr["Price/Pack"].ToString() == "") && deliveryNoteType == DeliveryNoteType.NotSet) { dr.SetColumnError("Price/Pack", @"Please fill the cost"); valid = false; } //If it is a delivery note receive, it cannot have price. //var pricePerPack = ""; if (dr["Price/Pack"] != DBNull.Value && dr["Price/Pack"] != null) { var pricePerPack = Convert.ToString(dr["Price/Pack"]); if ((deliveryNoteType != DeliveryNoteType.NotSet) && (pricePerPack != "" && Convert.ToDouble(pricePerPack) != 0)) { dr.SetColumnError("Price/Pack", @"A Delivery note receive cannot have price information"); valid = false; } } } // Require batch if the store (account type) is the program/Free store or if the EnforceBatch Setting is set to true. bool enforceBatch = BLL.Settings.EnforceBatchTracking; //Check if Empty before checking Batch if (lkAccounts.EditValue != null) { var activity = new Activity(); activity.LoadByPrimaryKey(int.Parse(lkAccounts.EditValue.ToString())); if (activity.IsHealthProgram() || enforceBatch) { if ((!itm.IsColumnNull("NeedExpiryBatch") && itm.NeedExpiryBatch) && (dr["Batch No"] == DBNull.Value || dr["Batch No"].ToString() == "")) { dr.SetColumnError("Batch No", @"Can not be Null"); valid = false; } } } if (dr["UnitID"] == DBNull.Value) { dr.SetColumnError("UnitID", @"Can not be Null"); valid = false; } if (dr["Pack Qty"] == DBNull.Value) { dr.SetColumnError("Pack Qty", @"Can not be Null"); valid = false; } else { if (srm && !chkSRMForOldSystemIssues.Checked && Convert.ToDecimal(dr["Pack Qty"]) > Convert.ToDecimal(dr["IssuedQty"])) { dr.SetColumnError("Pack Qty", @"Can not exceed issued quantity!"); valid = false; XtraMessageBox.Show( "Returned quantity cannot be greater than the issued quantity. Please review the grid.", "SRM Error"); } } if ((!itm.IsColumnNull("NeedExpiryBatch") && itm.NeedExpiryBatch) && (dr["Expiry Date"] == DBNull.Value)) { dr.SetColumnError("Expiry Date", @"Can not be Null"); //gridRecieveView.SetColumnError(gridRecieveView.Columns[], ); valid = false; } else { if (dr["Expiry Date"] != DBNull.Value) { DateTime expiryDate = Convert.ToDateTime(dr["Expiry Date"]); if (DateTime.Today.Subtract(expiryDate).Days > 0) { dr["IsDamaged"] = true; } } } if (dr["Manufacturer"] == DBNull.Value || dr["Manufacturer"].ToString() == "") { dr.SetColumnError("Manufacturer", @"Manufacturer cannot be left null"); valid = false; } gridRecieveView.RefreshData(); } if (!beginningBalance && (deliveryNoteType == DeliveryNoteType.NotSet) && !srm && !BLL.Settings.HandleGRV && !dxValidateRefNo.Validate()) { //XtraMessageBox.Show("Please Fill the Goods Receive Note Number!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); valid = false; } else { // TODO: check if the reference number is unique. } return valid && ValidateStep2() && ValidateStep2DuplicateRows(); }
private void LoadSTVDetails() { int documentID = Convert.ToInt32(grdViewReceivedSTVs.GetFocusedDataRow()["DocumentID"]); BLL.Document document = new Document(); document.LoadByPrimaryKey(documentID); DocumentExchange.Documents.XmlMappings.STV stv = DocumentExchange.Documents.XmlMappings.STV.Load(document.DocumentContent); //Clean up the receivedoc entry receiveDoc.FlushData(); STVNo = Convert.ToInt32(stv.DocumentNumber); lblDaysAgo.Text = string.Format("Printed: {0}", Helpers.DateTimeFunctions.GetDateSpan(stv.PrintedDate)); for (int i = 0; i < stv.DocumentDetails.Count; i++) { STVDetail detail = stv.DocumentDetails[i]; receiveDoc.AddNew(); //Add columns for display purposes and for storing temporary information if (!receiveDoc.DefaultView.ToTable().Columns.Contains("FullItemName")) { receiveDoc.AddColumn("FullItemName", typeof(string)); receiveDoc.AddColumn("UnitName", typeof(string)); receiveDoc.AddColumn("ManufacturerName", typeof(string)); receiveDoc.AddColumn("ActivityName", typeof(string)); receiveDoc.AddColumn("StockCode", typeof(string)); receiveDoc.AddColumn("PalletLocationID", typeof(int)); receiveDoc.AddColumn("GUID", typeof(string)); } //Fill in the data receiveDoc.ItemID = detail.ItemID; receiveDoc.UnitID = detail.UnitID; receiveDoc.StoreID = detail.ActivityID; receiveDoc.ManufacturerId = detail.ManufacturerID; receiveDoc.SetColumn("BatchNo", detail.BatchNumber); receiveDoc.SetColumn("ExpDate", detail.ExpiryDate); receiveDoc.SetColumn("GUID", Guid.NewGuid()); BLL.Item item = new Item(); item.LoadByPrimaryKey(detail.ItemID); receiveDoc.SetColumn("FullItemName", item.FullItemName); BLL.ItemUnit unit = new ItemUnit(); unit.LoadByPrimaryKey(detail.UnitID); receiveDoc.SetColumn("UnitName", unit.Text); receiveDoc.QtyPerPack = unit.QtyPerUnit; BLL.Manufacturer manufacturer = new Manufacturer(); manufacturer.LoadByPrimaryKey(detail.ManufacturerID); receiveDoc.SetColumn("ManufacturerName", manufacturer.Name); var activity = new Activity(); activity.LoadByPrimaryKey(detail.ActivityID); receiveDoc.SetColumn("ActivityName", activity.FullActivityName); receiveDoc.SetColumn("StockCode", item.StockCode); //Financial Info receiveDoc.InvoicedNoOfPack = detail.Quantity; receiveDoc.Margin = detail.Margin; receiveDoc.PricePerPack = detail.UnitPrice; } grdSTVDetails.DataSource = receiveDoc.DefaultView; }
public void LoadByReceiptIDInvoiceIDAndPoID(int ReceiptID, int InvoiceID, int PoID, string GRNString, double GRVTotalValue) { purchaseOrder = new PO(); Invoice = new ReceiptInvoice(); GRV = new Receipt(); //Load this.GRVTotal = GRVTotalValue; LoadData(ReceiptID, InvoiceID, PoID); _activity = new Activity(); _activity.LoadByPrimaryKey(Invoice.ActivityID); Supplier = purchaseOrder.Supplier.CompanyName; OrderNo = purchaseOrder.PONumber; InvoiceNo = Invoice.STVOrInvoiceNo; GRVNo = GRNString; AWBNo = Invoice.WayBillNo; ShippedBy = Invoice.ShippedBy; if (Invoice.IsColumnNull("InvoiceTypeID") || GRV.ReceiptTypeID == ReceiptType.CONSTANTS.STOCK_RETURN) { AutoProrate = false; purchaseOrder.ExhangeRate = FOBExchangeRate = 1; } else if (Invoice.InvoiceTypeID == ReceiptInvoiceType.InvoiceType.NON_STANDARD) { AutoProrate = false; purchaseOrder.ExhangeRate = FOBExchangeRate = 1; } else { if (purchaseOrder.PurchaseType == POType.COST_AND_EST_FREIGHT) { ProrateUsingFreightOnPO = true; ProrateUsingFreightOnInvoice = true; UsePOFreight = true; } else if (purchaseOrder.PurchaseType == POType.COST_AND_FREIGHT) { ProrateUsingFreightOnPO = true; ProrateUsingFreightOnInvoice = true; UsePOFreight = false; } } if (!_activity.IsHealthProgram()) { UseCustomDutyTax = true; } if (AutoProrate && Invoice.InvoiceTypeID != -255 && Invoice.InvoiceTypeID != InvoiceType.Internal) { Prorate(); } if (Invoice.IsColumnNull("InvoiceTypeID") || Invoice.InvoiceTypeID == ReceiptInvoiceType.InvoiceType.LOCAL_PURCHASE || Invoice.InvoiceTypeID == ReceiptInvoiceType.InvoiceType.CIP || Invoice.InvoiceTypeID == ReceiptInvoiceType.InvoiceType.NON_STANDARD || _activity.IsHealthProgram()) { UseProvison = false; } else { UseProvison = true; } CalculateCostCoefficient(); PopulateDataTable(); }