예제 #1
0
        private Guid CreateStockTakeHeader(string txNumber, Guid workplaceId)
        {
            Guid result = Guid.Empty;

            using (var ctx = new EF6.RT2020Entities())
            {
                string sql = "TxNumber = '" + txNumber.Trim() + "'";

                var stktkHeader = ctx.StockTakeHeader.Where(x => x.TxNumber == txNumber).FirstOrDefault();
                if (stktkHeader == null)
                {
                    stktkHeader = new EF6.StockTakeHeader();

                    stktkHeader.HeaderId = Guid.NewGuid();
                    stktkHeader.TxNumber = txNumber;
                    stktkHeader.TxDate   = DateTime.Now;

                    stktkHeader.CreatedBy = ConfigHelper.CurrentUserId;
                    stktkHeader.CreatedOn = DateTime.Now;

                    ctx.StockTakeHeader.Add(stktkHeader);
                }

                stktkHeader.WorkplaceId = workplaceId;

                stktkHeader.ModifiedBy = ConfigHelper.CurrentUserId;
                stktkHeader.ModifiedOn = DateTime.Now;
                stktkHeader.Status     = (int)EnumHelper.Status.Draft;

                ctx.SaveChanges();
                result = stktkHeader.HeaderId;
            }

            return(result);
        }
예제 #2
0
        private Guid CreateLedgerHeader(string txNumber, EF6.StockTakeHeader oBatchHeader)
        {
            Guid result = Guid.Empty;

            using (var ctx = new EF6.RT2020Entities())
            {
                var oLedgerHeader = new EF6.InvtLedgerHeader();
                oLedgerHeader.HeaderId          = Guid.NewGuid();
                oLedgerHeader.TxNumber          = txNumber;
                oLedgerHeader.TxType            = EnumHelper.TxType.ADJ.ToString();
                oLedgerHeader.TxDate            = DateTime.Now;
                oLedgerHeader.SubLedgerHeaderId = oBatchHeader.HeaderId;
                oLedgerHeader.WorkplaceId       = oBatchHeader.WorkplaceId.Value;
                oLedgerHeader.StaffId           = ConfigHelper.CurrentUserId;
                oLedgerHeader.Reference         = oBatchHeader.TxNumber;
                oLedgerHeader.Remarks           = "Stock Take #: " + oBatchHeader.TxNumber;
                oLedgerHeader.Status            = Convert.ToInt32(EnumHelper.Status.Draft.ToString("d"));
                oLedgerHeader.CreatedBy         = ConfigHelper.CurrentUserId;
                oLedgerHeader.CreatedOn         = DateTime.Now;
                oLedgerHeader.ModifiedBy        = ConfigHelper.CurrentUserId;
                oLedgerHeader.ModifiedOn        = DateTime.Now;
                ctx.InvtLedgerHeader.Add(oLedgerHeader);
                ctx.SaveChanges();
                result = oLedgerHeader.HeaderId;
            }

            return(result);
        }
예제 #3
0
 public static EF6.StockTakeHeader GetByTxNumber(string txNumber)
 {
     EF6.StockTakeHeader result = null;
     using (var ctx = new EF6.RT2020Entities())
     {
         result = ctx.StockTakeHeader.Where(x => x.TxNumber == txNumber).AsNoTracking().FirstOrDefault();
     }
     return(result);
 }
예제 #4
0
 public static EF6.StockTakeHeader Get(Guid id)
 {
     EF6.StockTakeHeader result = null;
     using (var ctx = new EF6.RT2020Entities())
     {
         result = ctx.StockTakeHeader.Find(id);
     }
     return(result);
 }
        private void CreateNewWorksheet(object sender, EventArgs e)
        {
            if (((Form)sender).DialogResult == DialogResult.OK)
            {
                string message = ((Form)sender).Controls[0].Text;
                if (!string.IsNullOrEmpty(message))
                {
                    int index = message.IndexOf('[');
                    if (index >= 0)
                    {
                        string txNumber = message.Substring(index + 1, 12);
                        //string sql = "TxNumber = '" + txNumber + "'";

                        using (var ctx = new EF6.RT2020Entities())
                        {
                            var hhtHeader = ctx.StocktakeHeader_HHT
                                            .Where(x => x.TxNumber == txNumber)
                                            .FirstOrDefault();
                            if (hhtHeader != null)
                            {
                                var stkHeader = new EF6.StockTakeHeader();

                                stkHeader.HeaderId    = Guid.NewGuid();
                                stkHeader.TxNumber    = hhtHeader.TxNumber;
                                stkHeader.TxDate      = DateTime.Now;
                                stkHeader.WorkplaceId = hhtHeader.WorkplaceId.Value;
                                stkHeader.Status      = (int)EnumHelper.Status.Draft;
                                stkHeader.CreatedBy   = ConfigHelper.CurrentUserId;
                                stkHeader.CreatedOn   = DateTime.Now;
                                stkHeader.ModifiedBy  = ConfigHelper.CurrentUserId;
                                stkHeader.ModifiedOn  = DateTime.Now;

                                ctx.StockTakeHeader.Add(stkHeader);
                                ctx.SaveChanges();

                                Posting(hhtHeader.HeaderId, stkHeader.HeaderId);
                            }
                        }
                    }
                }
            }
        }