コード例 #1
0
 private void PostHHTRecord(Guid headerId)
 {
     using (var ctx = new EF6.RT2020Entities())
     {
         var hhtHeader = ctx.StocktakeHeader_HHT.Find(headerId);
         if (hhtHeader != null)
         {
             //string sql = "TxNumber = '" + hhtHeader.TxNumber + "'";
             var stkHeader = StockTakeHeaderEx.GetByTxNumber(hhtHeader.TxNumber);
             if (stkHeader != null)
             {
                 if (!string.IsNullOrEmpty(stkHeader.ADJNUM) && stkHeader.PostedOn.Value.Year > 1900)
                 {
                     MessageBox.Show("Stock Take# [" + hhtHeader.TxNumber + "] had been posted!", "ATTENTION");
                 }
                 else
                 {
                     Posting(hhtHeader.HeaderId, stkHeader.HeaderId);
                 }
             }
             else
             {
                 MessageBox.Show("Stock Take# [" + hhtHeader.TxNumber + "] worksheet does not exist! Create new one?", "ATTENTION", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, new EventHandler(CreateNewWorksheet));
             }
         }
     }
 }
コード例 #2
0
ファイル: Worksheet.cs プロジェクト: paulusyeung/RT2020
        private void FillToList()
        {
            cboTo.Items.Clear();

            StockTakeHeaderEx.LoadCombo(ref cboTo, "TxNumber", false, false, string.Empty, "YEAR(PostedOn) = 1900");

            cboTo.SelectedIndex = cboTo.Items.Count - 1;
        }
コード例 #3
0
        private void FillToList(string whereClause)
        {
            cboToTxNumber.Items.Clear();

            StockTakeHeaderEx.LoadCombo(ref cboToTxNumber, "TxNumber", false, false, string.Empty, whereClause);

            cboToTxNumber.SelectedIndex = cboToTxNumber.Items.Count - 1;
        }
コード例 #4
0
ファイル: RecaptureOnhand.cs プロジェクト: paulusyeung/RT2020
        private Guid RecaptureSTK(string txNumber)
        {
            Guid stkHeaderId = Guid.Empty;

            var stkHeader = StockTakeHeaderEx.GetByTxNumber(txNumber);

            if (stkHeader != null)
            {
                stkHeaderId = stkHeader.HeaderId;
                RecaptureStkDetails(stkHeaderId);
            }
            return(stkHeaderId);
        }
コード例 #5
0
ファイル: Worksheet.cs プロジェクト: paulusyeung/RT2020
        private void FillFromList()
        {
            cboFrom.Items.Clear();

            StockTakeHeaderEx.LoadCombo(ref cboFrom, "TxNumber", false, false, string.Empty, "YEAR(PostedOn) = 1900");
        }
コード例 #6
0
        private void FillFromList(string whereClause)
        {
            cboFromTxNumber.Items.Clear();

            StockTakeHeaderEx.LoadCombo(ref cboFromTxNumber, "TxNumber", false);
        }
コード例 #7
0
ファイル: Authorization.cs プロジェクト: paulusyeung/RT2020
        private bool IsPostable(string headerId, ref DataTable errorTable)
        {
            bool isPostable = true;

            Guid id = Guid.Empty;

            if (Guid.TryParse(headerId, out id))
            {
                var oBatchHeader = StockTakeHeaderEx.Get(id);
                if (oBatchHeader != null)
                {
                    if (!CheckTxDate(oBatchHeader.TxDate.Value))
                    {
                        DataRow row = errorTable.NewRow();
                        row["HeaderId"]    = oBatchHeader.HeaderId.ToString();
                        row["TxNumber"]    = oBatchHeader.TxNumber;
                        row["STKCODE"]     = string.Empty;
                        row["APPENDIX1"]   = string.Empty;
                        row["APPENDIX2"]   = string.Empty;
                        row["APPENDIX3"]   = string.Empty;
                        row["ErrorReason"] = "Transaction date does not belong to current system month.";
                        row["PostDate"]    = DateTime.Now;

                        errorTable.Rows.Add(row);

                        isPostable = isPostable & false;
                    }

                    if (oBatchHeader.PostedOn.Value.Year > 1900)
                    {
                        DataRow row = errorTable.NewRow();
                        row["HeaderId"]    = oBatchHeader.HeaderId.ToString();
                        row["TxNumber"]    = oBatchHeader.TxNumber;
                        row["STKCODE"]     = string.Empty;
                        row["APPENDIX1"]   = string.Empty;
                        row["APPENDIX2"]   = string.Empty;
                        row["APPENDIX3"]   = string.Empty;
                        row["ErrorReason"] = "Transaction already had been posted! Cannot post again!";
                        row["PostDate"]    = DateTime.Now;

                        errorTable.Rows.Add(row);

                        isPostable = isPostable & false;
                    }

                    var detailList = StockTakeDetailsEx.GetByHeaderIdr(oBatchHeader.HeaderId);
                    foreach (var detail in detailList)
                    {
                        bool   retired = false;
                        string stk = string.Empty, a1 = string.Empty, a2 = string.Empty, a3 = string.Empty;

                        var oProduct = ProductEx.Get(detail.ProductId.Value);
                        if (oProduct != null)
                        {
                            stk     = oProduct.STKCODE;
                            a1      = oProduct.APPENDIX1;
                            a2      = oProduct.APPENDIX2;
                            a3      = oProduct.APPENDIX3;
                            retired = oProduct.Retired;
                        }

                        if (retired)
                        {
                            DataRow row = errorTable.NewRow();
                            row["HeaderId"]    = oBatchHeader.HeaderId.ToString();
                            row["TxNumber"]    = oBatchHeader.TxNumber;
                            row["STKCODE"]     = stk;
                            row["APPENDIX1"]   = a1;
                            row["APPENDIX2"]   = a2;
                            row["APPENDIX3"]   = a3;
                            row["ErrorReason"] = "Product does not exist or has been removed!";
                            row["PostDate"]    = DateTime.Now;

                            errorTable.Rows.Add(row);

                            isPostable = isPostable & false;
                        }

                        if (chkCheckVeQty.Checked && chkCheckVeQty.Visible)
                        {
                            decimal stkTtlQty = (detail.Book1Qty.Value + detail.Book2Qty.Value + detail.Book3Qty.Value + detail.Book4Qty.Value + detail.Book5Qty.Value + detail.HHTQty.Value) - detail.CapturedQty.Value;

                            //string sql = "ProductId = '" + detail.ProductId + "' AND WorkplaceId = '" + oBatchHeader.WorkplaceId.ToString() + "'";
                            var pw = ProductWorkplaceEx.Get(detail.ProductId.Value, oBatchHeader.WorkplaceId.Value);
                            if (pw != null)
                            {
                                if ((pw.CDQTY + stkTtlQty) < 0)
                                {
                                    DataRow row = errorTable.NewRow();
                                    row["HeaderId"]    = oBatchHeader.HeaderId.ToString();
                                    row["TxNumber"]    = oBatchHeader.TxNumber;
                                    row["STKCODE"]     = stk;
                                    row["APPENDIX1"]   = a1;
                                    row["APPENDIX2"]   = a2;
                                    row["APPENDIX3"]   = a3;
                                    row["ErrorReason"] = "Not enough stock for adjustment!";
                                    row["PostDate"]    = DateTime.Now;

                                    errorTable.Rows.Add(row);

                                    isPostable = isPostable & false;
                                }
                            }
                        }
                    }
                }
                else
                {
                    return(false);
                }
            }

            return(isPostable);
        }