public async Task <ActionResult <cojBISLink> > CreateItem(cojBISLink 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.cojBISLinks.Add(newItem); await _context.SaveChangesAsync(); newItem.idRef = newItem.id; //initial new item // var _item = await _context.cojBISLinks.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, cojBISLink item) { try { if (id != item.id) { return(NoContent()); } //update dateEnd // var _item = await _context.cojBISLinks.FindAsync (id); // _item.endDate = DateTime.Now.ToString (_culture); // _context.Entry (_item).State = EntityState.Modified; // await _context.SaveChangesAsync (); // var _items = await _context.cojBISLinks.Where (a => a.idRef == item.idRef && a.endDate == "31/12/9999 00:00:00").ToListAsync (); // foreach (var _itm in _items) { // var _item = await _context.cojBISLinks.FindAsync (_itm.id); // _item.endDate = DateTime.Now.ToString (_culture); // _context.Entry (_item).State = EntityState.Modified; // await _context.SaveChangesAsync (); // } //Add new cojBISLink _itemNew = new cojBISLink { idRef = item.idRef, code = item.code, name = item.name, cojStgPlanId = item.cojStgPlanId, remark = item.remark // startDate = DateTime.Now.ToString (_culture), // endDate = "31/12/9999 00:00:00" }; _context.cojBISLinks.Add(_itemNew); await _context.SaveChangesAsync(); return(Ok(_itemNew)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }