protected override bool DoEdit(RequestData data) { bool result = true; try { decimal levelID = decimal.Parse(data.Get("id")); T_THEPEAK_LEVEL_LIST_INFOModel model = new T_THEPEAK_LEVEL_LIST_INFOModel(); this.GetModelValue(model, data); result = model.Update(T_THEPEAK_LEVEL_LIST_INFO.ID == levelID); var configSql = SqlModel.SelectAll().From(DB.T_THEPEAK_LEVEL_CONFIG).Where(T_THEPEAK_LEVEL_CONFIG.PEAK_LEVE_ID == levelID); var configList = configSql.ExecToDynamicList(); List <T_THEPEAK_LEVEL_CONFIGModel> listExit = data.Get("extraData").Deserialize <List <T_THEPEAK_LEVEL_CONFIGModel> >(); T_THEPEAK_LEVEL_CONFIGModel configModel = new T_THEPEAK_LEVEL_CONFIGModel(); List <decimal> configDelList = new List <decimal>(); //信息保存 if (listExit != null && listExit.Count > 0) { foreach (var item in listExit) { bool exit = configList.FindIndex(c => StringHelper.DynamicToString(c["ID"]) == StringHelper.DynamicToString(item.ID)) > -1 ? true : false; if (item.IS_STOP != 1 && item.LIMIT_CONFIG != 1) { continue; //没用的配置信息,删除处理 } //添加 if (!exit) { item.PEAK_LEVE_ID = levelID; item.Insert(); } //更新 else { item.Update(T_THEPEAK_LEVEL_CONFIG.ID == item.ID); } configDelList.Add(item.ID); } //删除子表 foreach (var delKey in configList) { if (!configDelList.Contains(decimal.Parse(delKey["ID"].ToString()))) { configModel.Delete(T_THEPEAK_LEVEL_CONFIG.ID == decimal.Parse(delKey["ID"].ToString())); } } } FileUploadHandle.FileMessageSave(data, levelID.ToString()); } catch (Exception ex) { result = false; base.AddLog(null, LogType.InsertOperate, "【编辑错峰等级配置】 " + ex.Message + ex.StackTrace); } return(result); }
protected override bool DoDelete(RequestData data) { bool result = true; T_THEPEAK_LEVEL_LIST_INFOModel model = new T_THEPEAK_LEVEL_LIST_INFOModel(); result = model.Delete(T_THEPEAK_LEVEL_LIST_INFO.ID == data.Get("id")); T_THEPEAK_LEVEL_CONFIGModel config = new T_THEPEAK_LEVEL_CONFIGModel(); if (result) { config.Delete(T_THEPEAK_LEVEL_CONFIG.PEAK_LEVE_ID == data.Get("id")); } return(result); }