Exemple #1
0
        void changeDetail(int invoiceId, string invoiceCode, int storeId, SelInvoiceDetailContract[] invoiceDetailDTOs, SqlTransaction tran)
        {
            DataTable dtOldInvDetail = invoiceDetailDT.GetByCond("InvoiceId=" + invoiceId);

            foreach (SelInvoiceDetailContract invDetail in invoiceDetailDTOs)
            {
                DataRow[] oldDetail = dtOldInvDetail.Select("ProductId=" + invDetail.Productid);
                int       quantity  = Converter.ToInt32(oldDetail[0]["Quantity"]) - Converter.ToInt32(invDetail.Quantity);
                if (quantity > 0)
                {
                    StoreModel.ChangeInvoice(invoiceCode, storeId, (int)invDetail.Productid, quantity.ToString(), tran);
                }
            }
        }
Exemple #2
0
        public HttpResponseMessage Delete(string id)
        {
            SqlTransaction tran = DataProvider.beginTrans();

            try
            {
                string       message   = id;
                FinReceiptDT receiptDT = new FinReceiptDT();
                DataTable    dtReceipt = receiptDT.GetByCond("InvoiceId=" + id);
                if (dtReceipt.Rows.Count > 0)
                {
                    message = "Lỗi: Phiếu bán hàng đã thu tiền, không thể xóa.";
                }
                else
                {
                    DataTable dtInvoice     = invoiceDT.GetByID(id);
                    DataTable invoiceDetail = invoiceDetailDT.GetByCond("InvoiceId=" + id);
                    foreach (DataRow row in invoiceDetail.Rows)
                    {
                        string invCode   = dtInvoice.Rows[0]["Code"].ToString();
                        int    storeId   = Converter.ToInt32(dtInvoice.Rows[0]["StoreId"]);
                        int    productId = Converter.ToInt32(row["ProductId"]);
                        string quantity  = row["ProductId"].ToString();
                        StoreModel.ChangeInvoice(invCode, storeId, productId, quantity, tran);
                        invoiceDetailDT.DeleteViaCond("InvoiceId=" + id, tran);
                        invoiceDT.Delete(id, tran);
                        tran.Commit();
                    }
                }
                return(Request.CreateResponse <string>(HttpStatusCode.OK, message));
            }
            catch (Exception e)
            {
                ExceptionHandler.Log(e);
                tran.Rollback();
                return(Request.CreateResponse <string>(HttpStatusCode.OK, ""));
            }
            finally {
                tran.Dispose();
            }
        }