public JsonResult UpdateA95_1(A95_1ViewModel data, string action, string bondNumber) { MSGReturnModel result = new MSGReturnModel(); result.RETURN_FLAG = false; result.DESCRIPTION = Message_Type.parameter_Error.GetDescription(); bool breakFlag = false; EnumUtil.GetValues <Action_Type>().ToList() .ForEach(x => { if (!breakFlag && action == x.ToString()) { result = A9Repository.saveA95_1(data, x); breakFlag = true; } }); if (result.RETURN_FLAG) { var datas = A9Repository.getA95_1(bondNumber); Cache.Invalidate(CacheList.A95_1DbfileData); //清除 Cache Cache.Set(CacheList.A95_1DbfileData, datas); //把資料存到 Cache } return(Json(result)); }
/// <summary> /// save A95_1 (產業別對應Ticker補登檔) /// </summary> /// <param name="data"></param> /// <param name="type"></param> /// <returns></returns> public MSGReturnModel saveA95_1(A95_1ViewModel data, Action_Type type) { MSGReturnModel result = new MSGReturnModel(); result.RETURN_FLAG = false; var _tableName = Table_Type.A95_1.tableNameGetDescription(); if (data == null || data.Bond_Number.IsNullOrWhiteSpace()) { result.DESCRIPTION = Message_Type.parameter_Error.GetDescription(_tableName); return(result); } using (IFRS9DBEntities db = new IFRS9DBEntities()) { if ((type & Action_Type.Edit) == Action_Type.Edit) { var _edit = db.Assessment_Sub_Kind_Ticker.FirstOrDefault(x => x.Bond_Number == data.Bond_Number); if (_edit == null) { result.DESCRIPTION = Message_Type.already_Change.GetDescription(_tableName); return(result); } _edit.Bloomberg_Ticker = data.Bloomberg_Ticker; _edit.Security_Des = data.Security_Des; _edit.LastUpdate_User = _UserInfo._user; _edit.LastUpdate_Date = _UserInfo._date; _edit.LastUpdate_Time = _UserInfo._time; result.DESCRIPTION = Message_Type.update_Success.GetDescription(_tableName); } else if ((type & Action_Type.Dele) == Action_Type.Dele) { var _dele = db.Assessment_Sub_Kind_Ticker.FirstOrDefault(x => x.Bond_Number == data.Bond_Number); if (_dele == null) { result.DESCRIPTION = Message_Type.already_Change.GetDescription(_tableName); return(result); } db.Assessment_Sub_Kind_Ticker.Remove(_dele); result.DESCRIPTION = Message_Type.delete_Success.GetDescription(_tableName); } try { db.SaveChanges(); result.RETURN_FLAG = true; } catch (DbUpdateException ex) { result.DESCRIPTION = ex.exceptionMessage(); } } return(result); }