private void btnApproveVoidRequest_Click(object sender, EventArgs e) { BLL.Issue stv = new BLL.Issue(); stv.LoadByPrimaryKey(_activeSTVID); if (!stv.IsColumnNull("VoidRequest") && !stv.VoidRequest) { XtraMessageBox.Show("There is no void request for this STV", "No Void Request", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } if (XtraMessageBox.Show("Are you sure you want to void this STV/Invoice?", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { MyGeneration.dOOdads.TransactionMgr mgr = MyGeneration.dOOdads.TransactionMgr.ThreadTransactionMgr(); try { mgr.BeginTransaction(); MarkSTVAsVoid(CurrentContext.UserId); mgr.CommitTransaction(); this.LogActivity("Approve-Void", _activeSTVID); XtraMessageBox.Show("STV/Invoice Voided!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception exp) { mgr.RollbackTransaction(); XtraMessageBox.Show(exp.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); //XtraMessageBox.Show("System couldn't perform the requested action, Please contact administrator", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); ErrorHandler.Handle(exp); } BindUnconfirmedIssues(); gridUndispatchedIssueDetails.DataSource = null; } }
private void IssueSTVInvoiceDetail_Load(object sender, EventArgs e) { _issue.LoadSTVDetails(_stvID); grdSTVInvoiceDetail.DataSource = _issue.DefaultView; BLL.Issue issue = new Issue(); issue.LoadByPrimaryKey(_stvID); lblDescription.Text = string.Format("STV/Invoice No: {0} Activity Name: {1}", issue.IsColumnNull("IDPrinted") ? issue.IDPrinted.ToString() : issue.IDPrinted.ToString() + "(Reprinted)", _activityName); }
/// <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; }
private void gridItemsView_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) { DataRow dr = gridItemsView.GetFocusedDataRow(); lblIssueType.Text = dr["OrderType"]!=DBNull.Value ? (string) dr["OrderType"] : "-"; if ((dr["ReceivingUnitID"]) != DBNull.Value) { var ins = new Institution(); ins.LoadByPrimaryKey(Convert.ToInt32(dr["ReceivingUnitID"])); lblRegion.Text = ins.RegionName ?? "-"; lblWoreda.Text = ins.WoredaName ?? "-"; lblZone.Text = ins.ZoneName ?? "-"; var own = new OwnershipType(); own.LoadByPrimaryKey(ins.Ownership); lblOwnership.Text = own.Name ?? "-"; var iss = new Issue(); iss.LoadByPrimaryKey(Convert.ToInt32(dr["STVID"])); if (!iss.IsColumnNull("PaymentTypeID")) { var pType = new PaymentType(); pType.LoadByPrimaryKey(iss.PaymentTypeID); lblPaymentType.Text = pType.Name; } lblPaymentType.Text = "-"; if (!iss.IsColumnNull("VoidRequestDateTime")) lblVoidRequestedDate.Text = iss.VoidRequestDateTime.ToShortDateString(); else { lblVoidRequestedDate.Text = "-"; } if(!iss.IsColumnNull("VoidApprovalDateTime")) lblVoidConfirmedDate.Text= iss.VoidApprovalDateTime.ToShortDateString(); else { lblVoidConfirmedDate.Text = "-"; } var user = new User(); if (!iss.IsColumnNull("VoidRequestUserID")) { user.LoadByPrimaryKey(iss.VoidRequestUserID); lblVoidRequestedBy.Text = user.FullName; } else lblVoidRequestedBy.Text = "-"; if (!iss.IsColumnNull("VoidApprovedByUserID")) { user.LoadByPrimaryKey(iss.VoidApprovedByUserID); lblVoidConfirmedBy.Text = user.FullName; } else lblVoidConfirmedBy.Text = "-"; lblInstitutionType.Text = ins.InstitutionTypeName; if (!iss.IsColumnNull("DocumentTypeID")) { lblDocumentType.Text = DocumentType.GetDocumentType(iss.DocumentTypeID).Name; } else lblDocumentType.Text = ""; } else { lblRegion.Text = lblWoreda.Text = lblZone.Text = "-"; } lblPrintedDate.Text = string.IsNullOrEmpty((Convert.ToDateTime(dr["PrintedDate"].ToString())).ToShortDateString()) ? "-" : (Convert.ToDateTime(dr["PrintedDate"].ToString())).ToShortDateString(); lblAccount.Text = string.IsNullOrEmpty(dr["AccountName"].ToString()) ? "-" : dr["AccountName"].ToString(); lblSubAccount.Text = string.IsNullOrEmpty(dr["SubAccountName"].ToString()) ? "-" : dr["SubAccountName"].ToString(); lblActivity.Text = string.IsNullOrEmpty(dr["ActivityName"].ToString()) ? "-" : dr["ActivityName"].ToString(); lblPrintedBy.Text = string.IsNullOrEmpty(dr["IssuedBy"].ToString()) ? "-" : dr["IssuedBy"].ToString(); lblIssueStatus.Text = string.IsNullOrEmpty(dr["Status"].ToString()) ? "-" : dr["Status"].ToString(); int accountid = Convert.ToInt32(dr["AccountID"]); Account account = new Account(); account.LoadByPrimaryKey(accountid); Mode mode = new Mode(); mode.LoadByPrimaryKey(account.ModeID); lblMode.Text = mode.TypeName; }
/// <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; } } } }
/// <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 bool Validate(Issue issue) { string whatToPrint = BLL.Settings.IsRdfMode ? "Invoice" : "STV"; if (!issue.IsColumnNull("IsVoided") && issue.IsVoided) { XtraMessageBox.Show("You cannot print an STV that has been voided.", "Can't reprint this.", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } if (!issue.IsColumnNull("IsDeliveryNote") && issue.IsDeliveryNote && !_isConvertedDn && !issue.IsColumnNull("HasDeliveryNoteBeenConverted") && issue.HasDeliveryNoteBeenConverted) { XtraMessageBox.Show("You cannot print an Delivery Note that has been Converted.", "Can't reprint this.", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } if ( XtraMessageBox.Show(string.Format("Are you sure you want to reprint an {0}?", whatToPrint), "Confirmation Needed", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.No) { return false; } if ( XtraMessageBox.Show( string.Format( "Warning: You are about to print an {0} which is going to be given a new {0} number. Are you sure you want to continue?", whatToPrint), "Confirmation Needed", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == System.Windows.Forms.DialogResult.No) { return false; } return true; }
private void OnUndispatchedIssueClicked(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e) { var dr = gridUndispatchedIssuesView.GetFocusedDataRow(); _activeSTVID = Convert.ToInt32(dr["STVID"]); gridUndispatchedIssueDetails.DataSource = BLL.Issue.GetIssueDetails(_activeSTVID); User usr = new User(); //usr.LoadByPrimaryKey(NewMainWindow.UserId); usr = CurrentContext.LoggedInUser; BLL.Issue stv = new BLL.Issue(); stv.LoadByPrimaryKey(_activeSTVID); var activity = new Activity(); activity.LoadByPrimaryKey(stv.StoreID); lblMode.Text = activity.ModeName ??"-" ; lblAccount.Text = activity.AccountName ?? "-"; lblActivity.Text = activity.FullActivityName ?? "-"; lblSubAccount.Text = activity.SubAccountName ?? "-"; lblIssueStatus.Text = (string)dr["OrderStatus"] ?? "-"; lblIssueType.Text = (string) dr["OrderType"] ?? "-"; if (!stv.IsColumnNull("ReceivingUnitID")) { var institution = new Institution(); institution.LoadByPrimaryKey(stv.ReceivingUnitID); var ownership = new BLL.OwnershipType(); ownership.LoadByPrimaryKey(institution.Ownership); lblRegion.Text = institution.RegionName ?? "-"; lblZone.Text = institution.ZoneName ?? "-"; lblWoreda.Text = institution.WoredaName ?? "-"; var space = ""; int length = (institution.Name).Length; if(stv.IsColumnNull("IsReprintOf")) FacilityGroup.Text = institution.Name ?? "" +space.PadRight(180 - length) + "Invoice No: " + stv.IDPrinted.ToString("00000"); lblInstitutionType.Text = institution.InstitutionTypeName; lblOwnership.Text = ownership.Name; } else { lblRegion.Text = lblZone.Text = lblWoreda.Text = "NA"; lblInstitutionType.Text = lblOwnership.Text = "-"; FacilityGroup.Text = ""; } if (!stv.IsColumnNull("PaymentTypeID")) { var paymentType = new BLL.PaymentType(); paymentType.LoadByPrimaryKey(stv.PaymentTypeID); lblPaymentType.Text = paymentType.Name; } else { lblPaymentType.Text = "-"; } if (!stv.IsColumnNull("DocumentTypeID")) { lblDocumentedType.Text = DocumentType.GetDocumentType(stv.DocumentTypeID).Name; } else lblDocumentedType.Text = "-"; lblRequistedDate.Text = dr["VoidRequestDateTime"] == DBNull.Value ? "NA" : DateTime.Parse(dr["VoidRequestDateTime"].ToString()).ToShortDateString(); lblVoidRequestedBy.Text = dr["VoidRequestedBy"] == DBNull.Value ? "NA" : (string) dr["VoidRequestedBy"]; var user = new BLL.User(); if (dr["VoidApprovedByUserID"] != DBNull.Value) { user.LoadByPrimaryKey(Convert.ToInt32(dr["VoidApprovedByUserID"])); lblVoidConfirmedBy.Text = user.FullName; } else { lblVoidConfirmedBy.Text = "NA"; } lblVoidConfirmedDate.Text = dr["VoidApprovalDateTime"] == DBNull.Value ? "NA" : DateTime.Parse(dr["VoidApprovalDateTime"].ToString()).ToShortDateString(); stv.LoadLatestReprint(); txtIssuedBy.Text = usr.FullName ?? "-"; lblDispatchConfirmedBy.Text = usr.FullName ?? "-"; // txtSTVInvoiceNo.Text = stv.IDPrinted.ToString("00000"); lblSTVNo.Text = stv.IDPrinted.ToString("00000") ?? "-"; lblSTVDate.Text = stv.PrintedDate.ToShortDateString() ?? "-"; user.LoadByPrimaryKey(stv.UserID); lblSTVPrintedBy.Text = user.FullName ?? "-"; txtPreprintedInvoiceNo.Text = stv.IsColumnNull("PrePrintedInvoiceNo") ? "" : stv.PrePrintedInvoiceNo.ToString(); }
private void btnApproveVoidRequest_Click(object sender, EventArgs e) { BLL.Issue stv = new BLL.Issue(); stv.LoadByPrimaryKey(_activeSTVID); if (!stv.IsColumnNull("VoidRequest") && !stv.VoidRequest) { XtraMessageBox.Show("There is no void request for this STV", "No Void Request", MessageBoxButtons.YesNo, MessageBoxIcon.Error); return; } if (XtraMessageBox.Show("Are you sure you want to void this STV/Invoice?", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { MyGeneration.dOOdads.TransactionMgr mgr = MyGeneration.dOOdads.TransactionMgr.ThreadTransactionMgr(); try { mgr.BeginTransaction(); MarkSTVAsVoid(CurrentContext.UserId); mgr.CommitTransaction(); this.LogActivity("Approve-Void", _activeSTVID); XtraMessageBox.Show("STV/Invoice Voided!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception exp) { mgr.RollbackTransaction(); XtraMessageBox.Show(exp.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); //XtraMessageBox.Show("System couldn't perform the requested action, Please contact administrator", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); ErrorHandler.Handle(exp); } BindUnconfirmedIssues(); gridUndispatchedIssueDetails.DataSource = null; } }
private void OnUndispatchedIssueClicked(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e) { var dr = gridUndispatchedIssuesView.GetFocusedDataRow(); _activeSTVID = Convert.ToInt32(dr["STVID"]); gridUndispatchedIssueDetails.DataSource = BLL.Issue.GetIssueDetails(_activeSTVID); User usr = new User(); //usr.LoadByPrimaryKey(NewMainWindow.UserId); usr = CurrentContext.LoggedInUser; BLL.Issue stv = new BLL.Issue(); stv.LoadByPrimaryKey(_activeSTVID); var activity = new Activity(); activity.LoadByPrimaryKey(stv.StoreID); lblMode.Text = activity.ModeName ?? "-"; lblAccount.Text = activity.AccountName ?? "-"; lblActivity.Text = activity.FullActivityName ?? "-"; lblSubAccount.Text = activity.SubAccountName ?? "-"; lblIssueStatus.Text = (string)dr["OrderStatus"] ?? "-"; lblIssueType.Text = (string)dr["OrderType"] ?? "-"; if (!stv.IsColumnNull("ReceivingUnitID")) { var institution = new Institution(); institution.LoadByPrimaryKey(stv.ReceivingUnitID); var ownership = new BLL.OwnershipType(); ownership.LoadByPrimaryKey(institution.Ownership); lblRegion.Text = institution.RegionName ?? "-"; lblZone.Text = institution.ZoneName ?? "-"; lblWoreda.Text = institution.WoredaName ?? "-"; var space = ""; int length = (institution.Name).Length; if (stv.IsColumnNull("IsReprintOf")) { FacilityGroup.Text = institution.Name ?? "" + space.PadRight(180 - length) + "Invoice No: " + stv.IDPrinted.ToString("00000"); } lblInstitutionType.Text = institution.InstitutionTypeName; lblOwnership.Text = ownership.Name; } else { lblRegion.Text = lblZone.Text = lblWoreda.Text = "NA"; lblInstitutionType.Text = lblOwnership.Text = "-"; FacilityGroup.Text = ""; } if (!stv.IsColumnNull("PaymentTypeID")) { var paymentType = new BLL.PaymentType(); paymentType.LoadByPrimaryKey(stv.PaymentTypeID); lblPaymentType.Text = paymentType.Name; } else { lblPaymentType.Text = "-"; } if (!stv.IsColumnNull("DocumentTypeID")) { lblDocumentedType.Text = DocumentType.GetDocumentType(stv.DocumentTypeID).Name; } else { lblDocumentedType.Text = "-"; } lblRequistedDate.Text = dr["VoidRequestDateTime"] == DBNull.Value ? "NA" : DateTime.Parse(dr["VoidRequestDateTime"].ToString()).ToShortDateString(); lblVoidRequestedBy.Text = dr["VoidRequestedBy"] == DBNull.Value ? "NA" : (string)dr["VoidRequestedBy"]; var user = new BLL.User(); if (dr["VoidApprovedByUserID"] != DBNull.Value) { user.LoadByPrimaryKey(Convert.ToInt32(dr["VoidApprovedByUserID"])); lblVoidConfirmedBy.Text = user.FullName; } else { lblVoidConfirmedBy.Text = "NA"; } lblVoidConfirmedDate.Text = dr["VoidApprovalDateTime"] == DBNull.Value ? "NA" : DateTime.Parse(dr["VoidApprovalDateTime"].ToString()).ToShortDateString(); stv.LoadLatestReprint(); txtIssuedBy.Text = usr.FullName ?? "-"; lblDispatchConfirmedBy.Text = usr.FullName ?? "-"; // txtSTVInvoiceNo.Text = stv.IDPrinted.ToString("00000"); lblSTVNo.Text = stv.IDPrinted.ToString("00000") ?? "-"; lblSTVDate.Text = stv.PrintedDate.ToShortDateString() ?? "-"; user.LoadByPrimaryKey(stv.UserID); lblSTVPrintedBy.Text = user.FullName ?? "-"; txtPreprintedInvoiceNo.Text = stv.IsColumnNull("PrePrintedInvoiceNo") ? "" : stv.PrePrintedInvoiceNo.ToString(); }