public async Task <ActionResult <cojBGPlanStg> > CreateItem(cojBGPlanStg newItem)
        {
            try
            {
                //check duplicate item id, code, name
                if (newItem.id != 0)
                {
                    return(NoContent());
                }
                //
                newItem.startDate = DateTime.Now.ToString(_culture);
                newItem.endDate   = "31/12/9999 00:00:00";

                _context.cojBGPlanStgs.Add(newItem);
                await _context.SaveChangesAsync();

                newItem.idRef = newItem.id;

                //initial new item
                // var _item = await _context.cojBGPlanStgs.FindAsync (newItem.id);
                // _item.startDate = DateTime.Now.ToString (_culture);
                // _item.endDate = "31/12/9999 00:00:00";
                // _item.idRef = newItem.id;
                // _context.Entry (_item).State = EntityState.Modified;
                // await _context.SaveChangesAsync ();

                return(CreatedAtAction(nameof(GetItem), new { id = newItem.id }, newItem));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public async Task <IActionResult> UpdateItem(long id, cojBGPlanStg item)
        {
            try
            {
                if (id != item.id)
                {
                    return(NoContent());
                }

                //update endDate
                // var _item = await _context.cojBGPlanStgs.FindAsync (id);
                // _item.endDate = DateTime.Now.ToString (_culture);
                // _context.Entry (_item).State = EntityState.Modified;
                // await _context.SaveChangesAsync ();

                //  var _items = await _context.cojBGPlanStgs.Where (a => a.idRef == item.idRef && a.endDate == "31/12/9999 00:00:00").ToListAsync ();

                // foreach (var _itm in _items) {
                //     var _item = await _context.cojBGPlanStgs.FindAsync (_itm.id);
                //     _item.endDate = DateTime.Now.ToString (_culture);
                //     _context.Entry (_item).State = EntityState.Modified;
                //     await _context.SaveChangesAsync ();
                // }

                //Add new
                cojBGPlanStg _itemNew = new cojBGPlanStg {
                    idRef               = item.idRef,
                    code                = item.code,
                    nameEN              = item.nameEN,
                    nameTH              = item.nameTH,
                    cojBGPlanId         = item.cojBGPlanId,
                    cojStgId            = item.cojStgId,
                    cojStgPlanId        = item.cojStgPlanId,
                    cojBGPlanSumA       = item.cojBGPlanSumA,
                    cojBGPlanSumB       = item.cojBGPlanSumB,
                    cojBGPlanSumC       = item.cojBGPlanSumC,
                    cojBGPlanSumAMT     = item.cojBGPlanSumAMT,
                    cojBGPlanSumWork    = item.cojBGPlanSumWork,
                    cojBGPlanSumProject = item.cojBGPlanSumProject,
                    remark              = item.remark
                                          // startDate = DateTime.Now.ToString (_culture),
                                          // endDate = "31/12/9999 00:00:00"
                };

                _context.cojBGPlanStgs.Add(_itemNew);
                await _context.SaveChangesAsync();

                return(Ok(_itemNew));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }