public async Task <dynamic> Execute(ContextDto context) { try { init(); validate(); var repo = new DuAnRepository(context); if (_DuAn != null) { var duanEntity = new Entity.MSSQL_QLDN_QLNS.Entity.DuAn(); duanEntity.DuAnId = _DuAn.DuAnId; duanEntity.CtrVersion = _DuAn.CtrVersion; duanEntity.XoaYN = "Y"; duanEntity = await repo.UpdatePartial(duanEntity, nameof(Entity.MSSQL_QLDN_QLNS.Entity.DuAn.XoaYN) ); _DuAn.XoaYN = duanEntity.XoaYN; if (_DuAn.NhanVienDa.Length > 0) { var nvda = new Entity.MSSQL_QLDN_QLNS.Entity.NhanVienDuAn(); var nvids = _DuAn.NhanVienDa.Split('|'); foreach (var nv in nvids) { nvda.DuAnId = _DuAn.DuAnId; nvda.NhanVienId = Protector.Int(nv); nvda.XoaYN = "Y"; nvda = await repo.UpdatePartialNV(nvda, nameof(Entity.MSSQL_QLDN_QLNS.Entity.NhanVienDuAn.XoaYN) ); } } } else { if (_listDuAn != null && _listDuAn.Count > 0) { foreach (var duanModel in _listDuAn) { if (duanModel.DuAnId > 0) { var duanEntity = new Entity.MSSQL_QLDN_QLNS.Entity.DuAn(); duanEntity.DuAnId = duanModel.DuAnId; duanEntity.CtrVersion = duanModel.CtrVersion; duanEntity.XoaYN = "Y"; duanEntity = await repo.UpdatePartial(duanEntity, nameof(Entity.MSSQL_QLDN_QLNS.Entity.DuAn.XoaYN) ); duanModel.XoaYN = duanEntity.XoaYN; if (duanModel.NhanVienDa != null) { var nvda = new Entity.MSSQL_QLDN_QLNS.Entity.NhanVienDuAn(); var nvids = duanModel.NhanVienDa.Split('|'); foreach (var nv in nvids) { nvda.DuAnId = duanModel.DuAnId; nvda.NhanVienId = Protector.Int(nv); nvda.XoaYN = "Y"; nvda = await repo.UpdatePartialNV(nvda, nameof(Entity.MSSQL_QLDN_QLNS.Entity.NhanVienDuAn.XoaYN) ); } } } } } } return(ActionHelper.returnActionResult(HttpStatusCode.OK, _listDuAn, null)); } catch (FormatException ex) { return(ActionHelper.returnActionError(HttpStatusCode.BadRequest, ex.Message)); } catch (Exception ex) { return(ActionHelper.returnActionError(HttpStatusCode.InternalServerError, ex.Message)); } }