public Stock_DocumentRunning SetNextRunning(Stock_DocumentRunning Item)
 {
     Item.IncreaseNextNumber();
     Db.Update(Item);
     Db.SaveChanges();
     return(Item);
 }
        private void Cmb_Running_EditValueChanged(object sender, EventArgs e)
        {
            GridLookUpEdit G_Run = sender as GridLookUpEdit;

            if (G_Run.EditValue == null)
            {
                return;
            }
            _RunningID = G_Run.EditValue.ToString();
            using (var db = new DocumentRunningService(Utility.ConnSDB))
            {
                if (_RunningID == "" || _Menu_ID == "")
                {
                    return;
                }
                DEntRun = db.GetFind(Convert.ToInt32(_RunningID), _Menu_ID);//db.GetRunning(Convert.ToInt32(_RunningID), _Menu_ID);
            }
            if (DEntRun == null)
            {
                return;
            }
            txt_DocNoTran.Text = Db_Run.GetRunningDisplay(DEntRun);

            if (txt_DocNoTran.Text != "")
            {
                btn_Select.Enabled = true;
            }
        }
        public bool Insert(IEnumerable <Stock_TranferArInvoice> Items, Stock_DocumentRunning ItemRun)
        {
            try
            {
                var option = new TransactionOptions();
                option.IsolationLevel = IsolationLevel.ReadCommitted;
                //option.Timeout = TimeSpan.FromSeconds(5);
                using (var tx = new TransactionScope(TransactionScopeOption.Required, option))
                {
                    ItemRun.IncreaseNextNumber();

                    foreach (Stock_TranferArInvoice Item in Items)
                    {
                        Db.Insert(Item);
                        Db.SaveChanges();
                    }
                    Db_Run.Update(ItemRun);
                    Db_Run.SaveChanges();
                    tx.Complete();
                    return(true);
                }
            }
            catch (Exception ex)
            {
                ErrorMessage = ex.Message;
                return(false);
            }
        }
        public string GetRunningDisplay(Stock_DocumentRunning Item)
        {
            int?LastR = Item.LastRunningID;

            ++LastR;
            return(string.Format(Item.FormatString, Item.Prefix,
                                 Item.DocYear == 0 ? null : Item.DocYear,
                                 Item.DocMonth == 0 ? null : Item.DocMonth,
                                 Item.DocDay == 0 ? null : Item.DocDay,
                                 LastR));
        }
예제 #5
0
        public void Update(Stock_DocumentRunning Items)
        {
            var DEntity = this.GetFind(Items.Format_Id, Items.Menu_ID);

            DEntity.Prefix        = Items.Prefix;
            DEntity.DocYear       = Items.DocYear;
            DEntity.DocMonth      = Items.DocMonth;
            DEntity.DocDay        = Items.DocDay;
            DEntity.LastRunningID = Items.LastRunningID;
            DEntity.FormatString  = Items.FormatString;
            DEntity.FormatDisplay = Items.FormatDisplay;
            DEntity.Description   = Items.Description;
            DEntity.Active        = Items.Active;
        }
        public Stock_DocumentRunning CheckYearMonthRunning(int Format_Id, string Menu_ID)
        {
            DateTime DateCurrent = Db.GetDate();// GetDate on Server

            string SYear = DateCurrent.Year > 2400 ? DateCurrent.ToString() : (DateCurrent.Year + 543).ToString();

            int YearCheck  = Convert.ToInt32(SYear);
            int YearCheck2 = Convert.ToInt32(SYear.Substring(2, 2));
            int MonthCheck = DateCurrent.Month;
            int DayCheck   = DateCurrent.Day;

            Stock_DocumentRunning Item = new Stock_DocumentRunning();

            Item = Db.GetFind(Format_Id, Menu_ID);
            if (Item.DocYear != null)
            {
                if (Item.DocYear.Value.ToString().Length == 2)
                {
                    if (YearCheck2 > Item.DocYear)
                    {
                        Item.DocYear = YearCheck2;
                    }
                }
                else if (Item.DocYear.Value.ToString().Length == 4)
                {
                    if (YearCheck > Item.DocYear)
                    {
                        Item.DocYear = YearCheck;
                    }
                }
            }
            if (Item.DocMonth != null)
            {
                if (MonthCheck > Item.DocMonth)
                {
                    Item.DocMonth = MonthCheck;
                }
            }
            if (Item.DocDay != null)
            {
                if (DayCheck > Item.DocDay)
                {
                    Item.DocDay = DayCheck;
                }
            }

            return(Item);
        }
예제 #7
0
        public Stock_DocumentFormat Update(Stock_DocumentFormat Item, Stock_DocumentRunning ItemR)
        {
            var option = new TransactionOptions();

            option.IsolationLevel = IsolationLevel.ReadCommitted;
            //option.Timeout = TimeSpan.FromSeconds(5);
            using (var tx = new TransactionScope(TransactionScopeOption.Required, option))
            {
                Db.Update(Item);
                Db.SaveChanges();

                Db_Run.Update(ItemR);
                Db_Run.SaveChanges();

                tx.Complete();
                return(Item);
            }
        }
 private void Click_LoadData()
 {
     if (_DataRunning != null)
     {
         using (var db = new DocumentRunningService(Utility.ConnSDB))
         {
             Stock_DocumentRunning Item = db.GetFind(_DataRunning.Format_Id, _DataRunning.Menu_ID);
             if (Item != null)
             {
                 txt_docGroup.Text    = Item.Prefix;
                 txt_description.Text = Item.Description;
                 txt_Format.Text      = Item.FormatDisplay;
                 txt_Month.Text       = string.Format("{0:00}", Item.DocMonth == null ? 0 : Item.DocMonth);
                 txt_Year.Text        = Convert.ToString(Item.DocYear == null ? 0 : Item.DocYear);
                 txt_Day.Text         = Convert.ToString(Item.DocDay == null ? 0 : Item.DocDay);
                 num_Running.Value    = Convert.ToDecimal(Item.LastRunningID);
             }
         }
     }
 }
예제 #9
0
        private void MenuClick_Delete_Click(object sender, EventArgs e)
        {
            Stock_DocumentFormat GData = (Stock_DocumentFormat)grd_FormatS.GetRow(Row_Format);

            if (GData == null)
            {
                return;
            }
            using (var Db = new DocumentRunningService(Utility.ConnSDB))
            {
                Stock_DocumentRunning ICheck = Db.GetFind(GData.Format_Id, GData.Menu_ID);
                if (ICheck != null)
                {
                    if (ICheck.LastRunningID > 0)
                    {
                        MessageBox.Show("Running ถูกใช้งานแล้ว [ทั้งหมด : " + ICheck.LastRunningID + "] แล้ว...ไม่สามารถลบได้ครับ", "Error!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                }
            }
            if (MessageBox.Show("คุณต้องการที่จะลบข้อมูลของ  [ " + GData.Prefix + "-" + GData.Description + " ]  หรือไม่ครับ?", "ยืนยันการลบ", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
            {
                try
                {
                    db_Format.Delete(GData.Format_Id, GData.Menu_ID);
                    //using (var db_Log = new ContractLogService())
                    //    db_Log.InsertLog("", Utility._UserDB, DateTime.Now, this.Text, GData.Format_Id.ToString(), "Delete", "", "Success!!-ข้อมูล Format", "DocumentFormat");

                    Click_loadFormat(GData.Menu_ID);
                }
                catch (Exception ex)
                {
                    //using (var db_Log = new ContractLogService())
                    //    db_Log.InsertLog("", Utility._UserDB, DateTime.Now, this.Text, GData.Format_Id.ToString(), "Delete", "", "Error!!-ข้อมูล Format", "DocumentFormat");

                    MessageBox.Show("Error : " + ex.Message, "Error...!!");
                }
            }
        }
 private bool Fn_CheckRunningChange(int RunID, string _Menu_ID)//True : มีการเปลี่ยน Running พร้อม Reset เป็น 0
 {
     using (var srv = new DocumentRunningService(Utility.ConnSDB))
     {
         if (srv.ResetRunning(RunID, _Menu_ID))
         {
             Utility.MessageInformation("มีการ Reset เลขที่เอกสารใหม่...กรุณาตรวจสอบเลขที่เอกสารใหม่อีกครั้งครับ");
             DEntRun = srv.GetFind(Convert.ToInt32(_RunningID), _Menu_ID);//srv.GetRunning(Convert.ToInt32(_RunningID), _Menu_ID);
             if (DEntRun == null)
             {
                 Utility.MessageError("ไม่พบข้อมูลการ Running กรุณาลองใหม่อีกครั้งครับ");
                 return(false);
             }
             txt_DocNoTran.Text = srv.GetRunningDisplay(DEntRun);
             return(false);
         }
         else
         {
             return(true);
         }
     }
 }
예제 #11
0
        private void MenuClick_Update_Click(object sender, EventArgs e)
        {
            if (Row_Run < 0)
            {
                return;
            }
            if (grd_FormatS.RowCount <= 0)
            {
                return;
            }
            Stock_DocumentRunning GData = (Stock_DocumentRunning)grd_FormatS.GetRow(Row_Run);

            if (GData == null)
            {
                MessageBox.Show("ไม่พบข้อมูลของรูปแบบเอกสาร...กรุณาลองใหม่อีกครั้งครับ", "ไม่พบข้อมูล", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            Frm_ChangeRunning frm_Run = new Frm_ChangeRunning();

            frm_Run._DataRunning = GData;
            frm_Run.ShowDialog();

            Click_LoadRunning(MenuID);
        }
        public bool ResetRunning(int Format_Id, string Menu_ID)
        {
            bool     ReRunning   = false;
            DateTime DateCurrent = Db.GetDate();// GetDate on Server
            string   SYear       = DateCurrent.Year > 2400 ? DateCurrent.ToString() : (DateCurrent.Year + 543).ToString();

            int YearCheck  = Convert.ToInt32(SYear);
            int YearCheck2 = Convert.ToInt32(SYear.Substring(2, 2));
            int MonthCheck = DateCurrent.Month;
            int DayCheck   = DateCurrent.Day;

            Stock_DocumentRunning Item = new Stock_DocumentRunning();

            Item = Db.GetFind(Format_Id, Menu_ID);
            if (Item != null)
            {
                if (Item.DocYear != null)
                {
                    if (Item.DocYear.Value.ToString().Length == 2)
                    {
                        if (YearCheck2 > Item.DocYear)
                        {
                            Item.DocYear = YearCheck2;
                            ReRunning    = true;
                        }
                    }
                    else if (Item.DocYear.Value.ToString().Length == 4)
                    {
                        if (YearCheck > Item.DocYear)
                        {
                            Item.DocYear = YearCheck;
                            ReRunning    = true;
                        }
                    }
                }
                if (Item.DocMonth != null)
                {
                    if (MonthCheck > Item.DocMonth)
                    {
                        Item.DocMonth = MonthCheck;
                        ReRunning     = true;
                    }
                }
                if (Item.DocDay != null)
                {
                    if (DayCheck > Item.DocDay)
                    {
                        Item.DocDay = DayCheck;
                        ReRunning   = true;
                    }
                }

                if (ReRunning)// True : Running เปลื่ยน
                {
                    Item.LastRunningID = 0;
                    this.Update(Item);
                }
            }

            return(ReRunning);
        }
예제 #13
0
 public void Delete(Stock_DocumentRunning Items)
 {
     db.DocumentRunning.Remove(Items);
 }
 public Stock_DocumentRunning Insert(Stock_DocumentRunning Item)
 {
     Db.Insert(Item);
     Db.SaveChanges();
     return(Item);
 }
 public Stock_DocumentRunning Update(Stock_DocumentRunning Item)
 {
     Db.Update(Item);
     Db.SaveChanges();
     return(Item);
 }
예제 #16
0
        private void btn_Save_Click(object sender, EventArgs e)
        {
            if (dxValidationProvider1.Validate() == false)
            {
                return;
            }

            DateTime DateCurrent = db_Run.GetDate();

            if (MessageBox.Show("คุณยืนยันที่จะทำการ [บันทึก] รูปแบบเอกสารนี้หรือไม่ครับ?", "ยืนยันการบันทึก", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                Stock_DocumentMenu GData = (Stock_DocumentMenu)gridView1.GetRow(Row_Menu);

                Stock_DocumentFormat item = new Stock_DocumentFormat();
                item.Menu_ID       = GData.Menu_ID;
                item.Running_Len   = Convert.ToInt32(num_Running.Value);
                item.Prefix_Enable = true;//swith_DocGroup.IsOn;
                item.Prefix        = txt_DocGroup.Text.Trim();
                item.Year_Enable   = swith_Year.IsOn;
                if (swith_Year.IsOn)
                {
                    item.Year_Len = Convert.ToInt32(rdo_YearLen.EditValue);
                }
                item.Month_Enable = swith_Month.IsOn;
                item.Day_Enable   = swith_Day.IsOn;
                item.Description  = txt_Description.Text.Trim();

                Stock_DocumentRunning itemR = new Stock_DocumentRunning();
                itemR.Prefix = txt_DocGroup.Text.Trim();
                if (swith_Year.IsOn)
                {
                    int    YearR = Convert.ToInt32(rdo_YearLen.EditValue);
                    string SYear = DateCurrent.Year > 2400 ? DateCurrent.Year.ToString() : (DateCurrent.Year + 543).ToString();
                    if (YearR == 4)
                    {
                        itemR.DocYear = Convert.ToInt32(SYear.Substring(0, YearR));
                    }
                    else
                    {
                        itemR.DocYear = Convert.ToInt32(SYear.Substring(2, YearR));
                    }
                }
                if (swith_Month.IsOn)
                {
                    itemR.DocMonth = DateCurrent.Month;
                }
                if (swith_Day.IsOn)
                {
                    itemR.DocDay = DateCurrent.Day;
                }

                itemR.LastRunningID = 0;
                itemR.FormatString  = txt_FormatString.Text.Trim();
                itemR.FormatDisplay = txt_FormatDisplay.Text.Trim();
                itemR.Description   = txt_Description.Text.Trim();
                itemR.Active        = 1;

                if (db_Format.ValidateFormat(item))
                {
                    db_Format.Insert(item, itemR);
                    //using (var db_Log = new ContractLogService())
                    //    db_Log.InsertLog("", Utility._UserDB, DateTime.Now, this.Text, item.Format_Id.ToString(), "Insert", "", "Success!!-ข้อมูล Format Running", "DocumentFormat,DocumentRunning");
                }
                else
                {
                    //using (var db_Log = new ContractLogService())
                    //    db_Log.InsertLog("", Utility._UserDB, DateTime.Now, this.Text, item.Format_Id.ToString(), "Insert", "เนื่องจากข้อมูลชุดนี้มีการบันทึกในฐานข้อมูลอยู่แล้ว", "Error!!-ข้อมูล Format Running", "DocumentFormat,DocumentRunning");

                    MessageBox.Show("ไม่สามารถบันทึกข้อมูลได้...เนื่องจากข้อมูลชุดนี้มีการบันทึกในฐานข้อมูลอยู่แล้ว\nกรุณาเปลี่ยนแปลงรูปแบบ Format ด้วยครับ", "ข้อมูลซ้ำ", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                Click_loadFormat(GData.Menu_ID);
                Click_Clear();
            }
        }
        public Stock_DocumentRunning GetRunning(int Format_Id, string Menu_ID)
        {
            Stock_DocumentRunning Item = this.CheckYearMonthRunning(Format_Id, Menu_ID);

            return(Item);
        }
예제 #18
0
        private void btn_Update_Click(object sender, EventArgs e)
        {
            if (dxValidationProvider1.Validate() == false)
            {
                return;
            }
            DateTime DateCurrent = db_Run.GetDate();

            Stock_DocumentMenu   GData   = (Stock_DocumentMenu)gridView1.GetRow(Row_Menu);
            Stock_DocumentFormat GDataFM = (Stock_DocumentFormat)grd_FormatS.GetRow(Row_Format);

            if (MessageBox.Show("คุณยืนยันที่จะทำการ [แก้ไข] รูปแบบเอกสาร [" + string.Format("{0}-{1}", GDataFM.Menu_ID, GDataFM.Description) + "] นี้หรือไม่ครับ?", "ยืนยันการแก้ไข", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                Stock_DocumentFormat item = new Stock_DocumentFormat();
                item.Format_Id     = GDataFM.Format_Id;
                item.Menu_ID       = GDataFM.Menu_ID;
                item.Running_Len   = Convert.ToInt32(num_Running.Value);
                item.Prefix_Enable = true;//swith_DocGroup.IsOn;
                item.Prefix        = txt_DocGroup.Text.Trim();
                item.Year_Enable   = swith_Year.IsOn;
                item.Day_Enable    = swith_Day.IsOn;

                if (swith_Year.IsOn)
                {
                    item.Year_Len = Convert.ToInt32(rdo_YearLen.EditValue);
                }
                item.Month_Enable = swith_Month.IsOn;
                item.Description  = txt_Description.Text.Trim();

                Stock_DocumentRunning itemR = db_Run.GetFind(item.Format_Id, item.Menu_ID);// new DocumentRunning();
                bool _ResetRunning          = false;

                itemR.Prefix = txt_DocGroup.Text.Trim();
                if (swith_Year.IsOn)
                {
                    int    YearR = Convert.ToInt32(rdo_YearLen.EditValue);
                    string SYear = DateCurrent.Year > 2400 ? DateCurrent.Year.ToString() : (DateCurrent.Year + 543).ToString();
                    if (YearR == 4)
                    {
                        if (itemR.DocYear != null)
                        {
                            if (itemR.DocYear.Value.ToString().Length == 4)
                            {
                                if (Convert.ToInt32(SYear.Substring(0, YearR)) > itemR.DocYear)//เทียบปีปัจจุบันว่าเปลี่ยนไปหรือป่าว
                                {
                                    itemR.DocYear = Convert.ToInt32(SYear.Substring(0, YearR));
                                    _ResetRunning = true;
                                }
                            }
                            else//ไม่เคยมี Setting นี้
                            {
                                if (itemR.DocYear.Value.ToString().Length == 2)//เช็คว่าอันเดิมเป็น 2 ตำแหน่งหรือไม่ แล้วทำการเปรียบเทียบว่า ปีเท่ากันมั้ย
                                {
                                    if (Convert.ToInt32(SYear.Substring(2, 2)) > itemR.DocYear)//เทียบปีปัจจุบันว่าเปลี่ยนไปหรือป่าว
                                    {
                                        itemR.DocYear = Convert.ToInt32(SYear.Substring(0, YearR));
                                        _ResetRunning = true;
                                    }
                                    else
                                    {
                                        itemR.DocYear = Convert.ToInt32(SYear.Substring(0, YearR));
                                    }
                                }
                                else
                                {
                                    itemR.DocYear = Convert.ToInt32(SYear.Substring(0, YearR));
                                    _ResetRunning = true;
                                }
                            }
                        }
                        else//ไม่เคยมี Setting นี้
                        {
                            itemR.DocYear = Convert.ToInt32(SYear.Substring(0, YearR));
                            _ResetRunning = true;
                        }
                    }
                    else
                    {
                        if (itemR.DocYear != null)
                        {
                            if (itemR.DocYear.Value.ToString().Length == 2)
                            {
                                if (Convert.ToInt32(SYear.Substring(2, YearR)) > itemR.DocYear)//เทียบปีปัจจุบันว่าเปลี่ยนไปหรือป่าว
                                {
                                    itemR.DocYear = Convert.ToInt32(SYear.Substring(2, YearR));
                                    _ResetRunning = true;
                                }
                            }
                            else//ไม่เคยมี Setting นี้
                            {
                                if (itemR.DocYear.Value.ToString().Length == 4)//เช็คว่าอันเดิมเป็น 4 ตำแหน่งหรือไม่ แล้วทำการเปรียบเทียบว่า ปีเท่ากันมั้ย
                                {
                                    if (Convert.ToInt32(SYear.Substring(0, 4)) > itemR.DocYear)//เทียบปีปัจจุบันว่าเปลี่ยนไปหรือป่าว
                                    {
                                        itemR.DocYear = Convert.ToInt32(SYear.Substring(2, YearR));
                                        _ResetRunning = true;
                                    }
                                    else
                                    {
                                        itemR.DocYear = Convert.ToInt32(SYear.Substring(2, YearR));
                                    }
                                }
                                else
                                {
                                    itemR.DocYear = Convert.ToInt32(SYear.Substring(2, YearR));
                                    _ResetRunning = true;
                                }
                            }
                        }
                        else//ไม่เคยมี Setting นี้
                        {
                            itemR.DocYear = Convert.ToInt32(SYear.Substring(2, YearR));
                            _ResetRunning = true;
                        }
                    }
                }
                else
                {
                    itemR.DocYear = null;
                }

                if (swith_Month.IsOn)
                {
                    if (itemR.DocMonth != null)
                    {
                        if (DateCurrent.Month > itemR.DocMonth)
                        {
                            itemR.DocMonth = DateCurrent.Month;
                            _ResetRunning  = true;
                        }
                    }
                    else//ไม่เคยปี Setting นี้
                    {
                        itemR.DocMonth = DateCurrent.Month;
                        _ResetRunning  = true;
                    }
                }
                else
                {
                    itemR.DocMonth = null;
                }

                if (swith_Day.IsOn)
                {
                    if (itemR.DocDay != null)
                    {
                        if (DateCurrent.Day > itemR.DocDay)
                        {
                            itemR.DocDay  = DateCurrent.Day;;
                            _ResetRunning = true;
                        }
                    }
                    else//ไม่เคยปี Setting นี้
                    {
                        itemR.DocDay  = DateCurrent.Day;
                        _ResetRunning = true;
                    }
                }
                else
                {
                    itemR.DocDay = null;
                }

                if (_ResetRunning)// Reset Running is 0
                {
                    itemR.LastRunningID = 0;
                }

                itemR.FormatString  = txt_FormatString.Text.Trim();
                itemR.FormatDisplay = txt_FormatDisplay.Text.Trim();
                itemR.Description   = txt_Description.Text.Trim();
                itemR.Active        = 1;


                db_Format.Update(item, itemR);

                //using (var db_Log = new ContractLogService())
                //    db_Log.InsertLog("", Utility._UserDB, DateTime.Now, this.Text, item.Format_Id.ToString(), "Update", "", "Success!!-ข้อมูล Format Running", "DocumentFormat,DocumentRunning");

                Click_loadFormat(GData.Menu_ID);
                Click_Clear();
            }
        }
        private void btn_Save_Click(object sender, EventArgs e)
        {
            if (txt_DocNoTran.Text == "")
            {
                MessageBox.Show("คุณยังไม่ได้กรอกข้อมูล [เลขที่เอกสารโอน] ...กรุณากรอกข้อมูลก่อนทำการบันทึก", "ข้อมูลไม่ครบ", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            if (gridView1.RowCount > 0)
            {
                if (DEntRun == null)
                {
                    Utility.MessageError("ไม่พบข้อมูล [เลข Running] กรุณาทำการเลือกข้อมูล Running ใหม่อีกครั้งครับ");
                    return;
                }

                //------ Check การเปลี่ยน Running
                if (Fn_CheckRunningChange(Convert.ToInt32(_RunningID), _Menu_ID) == false)//True : มีการเปลี่ยน Running พร้อม Reset เป็น 0
                {
                    return;
                }

                if (Utility.MessageQuestion("คุณต้องการที่จะทำการโอนข้อมูลหรือไม่... กด Yes เพื่อยินยันการโอน?") == DialogResult.No)
                {
                    return;
                }

                List <Stock_TranferArInvoice> Item_Source = (List <Stock_TranferArInvoice>)gridView1.DataSource;
                string   TranDocNo       = txt_DocNoTran.Text.Trim();
                DateTime TranDate        = dtp_Tranfer.DateTime;
                string   sRunningCurrent = "";

                List <Stock_TranferArInvoice> Item_Result = new List <Stock_TranferArInvoice>();
                foreach (Stock_TranferArInvoice ItemSet in Item_Source)
                {
                    ItemSet.Tran_DocNo       = TranDocNo;
                    ItemSet.Tran_DocDate     = TranDate;
                    ItemSet.QtyRemain        = ItemSet.Qty - ItemSet.QtyActual; // [Qty] - [QtyActual]
                    ItemSet.Tran_StatusClear = 0;                               //0 : รายการปกติ ยอดคงค้างใช้คำนวณ   1 : รายการที่ถูกยกเลิก ยอดคงค้างจะไม่คำนวณ
                    ItemSet.Status           = ItemSet.QtyRemain == 0 ? 0 : 1;  //0 : โอนสำเร็จ  1 : ค้างโอน  2 : ยกเลิก
                    //ItemSet.Tran_Attribute01 = ItemSet.Tran_Attribute01;
                    ItemSet.Tran_UpdateBy   = Utility._UserDB;
                    ItemSet.Tran_UpdateDate = DateTime.Now;
                    ItemSet.Tran_CreateBy   = Utility._UserDB;
                    ItemSet.Tran_CreateDate = DateTime.Now;
                    //ItemSet.Tran_Attribute01 = "Delete Test where Tran_DocNo=('sdsdsd-0102-3')";
                    Item_Result.Add(ItemSet);
                }

                List <Stock_TranferAccrual> ItemLog = new List <Stock_TranferAccrual>();
                foreach (Stock_TranferArInvoice Iset in Item_Result)
                {
                    Stock_TranferAccrual ILog = new Stock_TranferAccrual();
                    ILog.TranferAccrual_Date   = Iset.Tran_DocDate;
                    ILog.TranferAccual_QtyReam = Iset.QtyActual;
                    ILog.Tran_DocNo            = Iset.Tran_DocNo;
                    ILog.Tran_DocDate          = Iset.Tran_DocDate;
                    ILog.DocNo            = Iset.DocNo;
                    ILog.ItemCode         = Iset.ItemCode;
                    ILog.DocDate          = Iset.DocDate;
                    ILog.ArCode           = Iset.ArCode;
                    ILog.SaleCode         = Iset.SaleCode;
                    ILog.MyDescription    = Iset.MyDescription;
                    ILog.ItemName         = Iset.ItemName;
                    ILog.WHCode           = Iset.WHCode;
                    ILog.ShelfCode        = Iset.ShelfCode;
                    ILog.Qty              = Iset.Qty;
                    ILog.QtyActual        = Iset.QtyActual;
                    ILog.QtyRemain        = Iset.QtyRemain;
                    ILog.Price            = Iset.Price;
                    ILog.Amount           = Iset.Amount;
                    ILog.UnitCode         = Iset.UnitCode;
                    ILog.LineNumber       = Iset.LineNumber;
                    ILog.Tran_StatusClear = Iset.Tran_StatusClear;
                    ILog.Tran_Attribute01 = Iset.Tran_Attribute01;
                    ILog.Tran_Attribute02 = Iset.Tran_Attribute02;
                    ILog.Tran_Attribute03 = Iset.Tran_Attribute03;
                    ILog.Tran_Attribute04 = Iset.Tran_Attribute04;
                    ILog.Tran_Attribute05 = Iset.Tran_Attribute05;
                    ILog.Status           = Iset.Status;
                    ILog.Tran_CreateBy    = Iset.Tran_CreateBy;
                    ILog.Tran_CreateDate  = Iset.Tran_CreateDate;
                    ILog.Tran_UpdateBy    = Iset.Tran_UpdateBy;
                    ILog.Tran_UpdateDate  = Iset.Tran_UpdateDate;
                    ItemLog.Add(ILog);
                }

                try
                {
                    using (var srv = new StockTranferArInvoiceService(Utility.ConnSDB))
                    {
                        using (var srv2 = new StockTranferAccrualService(Utility.ConnSDB))
                        {
                            if (srv.CheckUseDocNo(TranDocNo) == false)
                            {
                                if (Utility.MessageQuestion("ข้อมูลการโอน : " + TranDocNo + " ถูกใช้บันทึกไปแล้ว\nคุณต้องการทำการบันทึกหรือไม่...โดยระบบจะทำการ Running รหัสเอกสารลำดับต่อไป") == DialogResult.Yes)
                                {
                                    //::::::::::: Manage Running Duplicate [Start] :::::::::::::::::::::::
                                    using (var db2 = new DocumentRunningService(Utility.ConnSDB))
                                    {
                                        DEntRun = db2.GetRunning(Convert.ToInt32(_RunningID), _Menu_ID);
                                        do
                                        {
                                            DEntRun         = db2.SetNextRunning(DEntRun); //---- IncreaseNextNumber 1
                                            sRunningCurrent = Db_Run.GetRunningDisplay(DEntRun);
                                        } while (!srv.CheckUseDocNo(sRunningCurrent));     //วนเช็ค Running และ Update Running ไปเรื่อยๆจนกว่าจะเจอ Running ที่ไม่ได้ใช้

                                        foreach (var item in Item_Result)
                                        {
                                            item.Tran_DocNo = sRunningCurrent;
                                        }
                                    }
                                    //::::::::::: Manage Running Duplicate [END] :::::::::::::::::::::::
                                }
                                else
                                {
                                    return;
                                }
                            }

                            bool result     = srv.Insert(Item_Result, DEntRun);
                            bool result_log = srv2.Insert(ItemLog);
                            if (result && result_log)
                            {
                                Utility.MessageInformation("บันทึกข้อมูลเรียบร้อย...");
                                //Fn_ScreenClear();
                                Fn_ClearData();
                            }
                            else
                            {
                                Utility.MessageError("ไม่สามารถบันทึกข้อมูลได้...เนื่องจาก : " + srv.ErrorMessage);
                                Utility.MessageError("ไม่สามารถบันทึกข้อมูลได้...เนื่องจาก : " + srv2.ErrorMessage);
                            }
                        }
                    }
                }
                catch (ApplicationException ex)
                {
                    Utility.MessageError("Error : " + ex.Message);
                    if (ex.InnerException != null)
                    {
                        Utility.MessageError("Error Inner : " + ex.InnerException.Message);
                    }
                }
            }
        }
예제 #20
0
 public void Insert(Stock_DocumentRunning Items)
 {
     db.DocumentRunning.Add(Items);
 }