//用發票號碼去DB讀取對應的發票資料 private void LoadReceipt(string ReceiptNumber) { //讀取資料並放入資料model var manager = new ReceiptManager(); var model = manager.GetReceipt(ReceiptNumber); //如果讀取不到資料,回到發票總覽頁面 if (model == null) { Response.Redirect("~/ReceiptList.aspx"); } //讀取到的資料放入畫面中各個使用者輸入項目裡 this.txtReceiptNumber.Text = model.ReceiptNumber; this.lbDate.Text = string.Format("{0:yyyy-MM-dd}", model.Date); this.dplCompany.SelectedValue = model.Company; this.txtAmount.Text = model.Amount.ToString(); this.dplRE.SelectedValue = ((int)model.Revenue_Expense).ToString(); }
protected void Page_Load(object sender, EventArgs e) { //如果第一次載入這個Page if (!IsPostBack) { //讀取DB的Company表來設定下拉選單內容 DDLManager ddlManager = new DDLManager(); DataTable ddlDataTable = ddlManager.GetCompanyDDL(); this.dplCompany.DataSource = ddlDataTable; this.dplCompany.DataValueField = "Cid"; this.dplCompany.DataTextField = "Name"; this.dplCompany.DataBind(); //宣告變數存取QueryString string RepNumber = Request.QueryString["RepNo"]; //分為更新模式及新增模式 if (ReceiptDetailHelper.isUpdateMode()) { this.h1Title.InnerText = "修改發票"; //讀取DB內的資料顯示在畫面 this.LoadReceipt(RepNumber); //鎖定發票號碼 this.txtReceiptNumber.Enabled = false; this.txtReceiptNumber.BackColor = System.Drawing.Color.LightGray; } else if (!string.IsNullOrEmpty(RepNumber)) { //Uri的QueryString被更改時、直接跳回發票總覽頁面 var manager = new ReceiptManager(); if (manager.GetReceipt(RepNumber) == null) { Response.Redirect("~/ReceiptList.aspx"); } } else { this.h1Title.InnerText = "新增發票"; } } }
//檢查發票號碼 public static string checkReceiptNumber(string receiptNumber) { string label; var manager = new ReceiptManager(); if (receiptNumber == null || receiptNumber.Length == 0) { label = "發票編號不能為空"; } else if (receiptNumber.Length != 11 || !Regex.IsMatch(receiptNumber, @"^[A-Z]{2}[-]{1}[0-9]{8}$")) { label = "發票格式不正確"; } else if (HttpContext.Current.Request.QueryString["RepNo"] == null && manager.GetReceipt(receiptNumber) != null) { label = "此發票號碼重複"; } else { label = string.Empty; } return(label); }
public static bool DeleteReceipt(int receiptId, int companyId) { bool result = true; var sale = new SaleManager(null).GetSaleByReceipt(companyId, receiptId); if (sale != null) { new SaleManager(null).SetNullReceiptIDInSale(sale.SaleId); } using (ReceiptManager receiptManager = new ReceiptManager(null)) { try { receiptManager.DeleteReceipt(receiptManager.GetReceipt(receiptId, companyId)); } catch (System.Data.SqlClient.SqlException) { result = false; } } return(result); }
/// <summary> /// This method cancels a sale and return the products to inventory /// </summary> /// <param name="saleId"></param> /// <param name="matrixId"></param> public void CancelSale(int saleId, int matrixId, Int32 userId) { var inventoryManager = new InventoryManager(this); var receiptManager = new ReceiptManager(this); var financialManager = new FinancialManager(this); var parcelManager = new ParcelsManager(this); Sale sale = GetSale(matrixId, saleId); sale.IsCanceled = true; if (sale.ReceiptId != null) { Receipt receipt = receiptManager.GetReceipt((int)sale.ReceiptId, sale.CompanyId); sale.ReceiptId = null; receiptManager.DeleteReceipt(receipt); receipt.IsCanceled = true; } sale.InvoiceId = null; // // return the products to inventory // foreach (SaleItem saleItem in sale.SaleItems) { if (saleItem.ProductId != null) { Inventory inventory = inventoryManager.GetProductInventory(saleItem.CompanyId, (int)saleItem.ProductId, (int)sale.DepositId); if (inventory != null) inventoryManager.StockDeposit(inventory, null, userId); } } // // Delete the invoice of sale // if (sale.InvoiceId.HasValue) financialManager.DeleteInvoice((int)sale.InvoiceId, sale.CompanyId); DbContext.SubmitChanges(); }
public static bool DeleteReceipt(int receiptId, int companyId) { bool result = true; var sale = new SaleManager(null).GetSaleByReceipt(companyId, receiptId); if (sale != null) new SaleManager(null).SetNullReceiptIDInSale(sale.SaleId); using (ReceiptManager receiptManager = new ReceiptManager(null)) { try { receiptManager.DeleteReceipt(receiptManager.GetReceipt(receiptId, companyId)); } catch (System.Data.SqlClient.SqlException) { result = false; } } return result; }