public ResponseObjectPackage<List<EventActionParameter>> GetActionParametersByActionsList(RequestObjectPackage<List<EventAction>> request, IDbConnection connectionID) { List<int> obj = (request.requestData ?? new List<EventAction>() {}).Select(e => e.ID).ToList(); obj.Add(-1); Dictionary<string, string> mappingDictionary = new Dictionary<string, string>() { {"ID","ID"}, {"actionID","ACTION_ID"}, {"actionParameterTypeID","ACTION_PARAMETER_TYPE_ID"}, {"controlID","CONTROL_ID"}, {"name","NAME"}, {"domainValueTypeID","DOMAIN_VALUE_TYPE_ID"}, }; string sql = string.Format( "select ap.ID, ap.ACTION_ID, ap.ACTION_PARAMETER_TYPE_ID, ap.CONTROL_ID, apt.NAME, apt.DOMAIN_VALUE_TYPE_ID " + Environment.NewLine + "from ACTION_PARAMETERS ap " + Environment.NewLine + "inner join ACTION_PARAMETER_TYPES apt on apt.ID = ap.ACTION_PARAMETER_TYPE_ID " + Environment.NewLine + "where ap.ACTION_ID in ({0})", string.Join(", ", obj) ); List<EventActionParameter> list = DBOrmUtils.OpenSqlList<EventActionParameter>(sql, mappingDictionary, connectionID); return new ResponseObjectPackage<List<EventActionParameter>>() { resultData = list }; }
public static ResponsePackage Save(RequestObjectPackage<ActionModel> request, IDbConnection connectionID, IDbTransaction transactionID) { ActionModel obj = request.requestData; string sql = string.Empty; if (obj.ID > 0) { sql = string.Format( " update ACTIONS set EVENT_ID = {0}, ORDER_NUMBER = {1}, ACTION_TYPE_ID = {2} " + Environment.NewLine + " where ID = {3} returning ID", SQL.FromNumber(obj.eventID), SQL.FromNumber(obj.orderNumber), SQL.FromNumber(obj.actionTypeID), SQL.FromNumber(obj.ID) ); } else { sql = string.Format( " insert into ACTIONS (EVENT_ID, ORDER_NUMBER, ACTION_TYPE_ID) " + Environment.NewLine + " values ({0}, {1}, {2}) returning ID", SQL.FromNumber(obj.eventID), SQL.FromNumber(obj.orderNumber), SQL.FromNumber(obj.actionTypeID) ); } ResponseTablePackage res = DBUtils.ExecuteSQL(sql, connectionID, true, transactionID); res.ThrowExceptionIfError(); return new ResponsePackage() { resultID = res.resultID }; }
/// <summary> /// Сохранение выходных параметров запроса /// </summary> /// <param name="package"></param> /// <param name="connectionID"></param> /// <returns></returns> public static ResponsePackage SaveQueryOutParameter(RequestObjectPackage<QueryOutParameterModel> package, IDbConnection connectionID) { QueryOutParameterModel obj = package.requestData; string sql = string.Empty; if (obj.ID > 0) { sql = string.Format( " update QUERY_OUT_PARAMETERS set NAME = '{0}', QUERY_TYPE_ID = {1}, DOMAIN_VALUE_TYPE_ID = {2) " + Environment.NewLine + " where ID = {3} returning ID", obj.name.TrimIfNotNull() ?? "", obj.queryTypeID, obj.domainValueTypeID, obj.ID ); } else { sql = string.Format( " insert into QUERY_OUT_PARAMETERS (NAME, QUERY_TYPE_ID, DOMAIN_VALUE_TYPE_ID) " + Environment.NewLine + " values ('{0}', {1}, {2}) returning ID", obj.name.TrimIfNotNull() ?? "", obj.queryTypeID, obj.domainValueTypeID ); } ResponseTablePackage res = DBUtils.ExecuteSQL(sql, connectionID, true); res.ThrowExceptionIfError(); return new ResponsePackage() { resultID = res.resultID }; }
/// <summary> /// Функция сохранения группы типов контролов /// </summary> /// <param name="request">Объект-оболочка RequestPackage, содержащая в поле requestData нруппу типов контролов</param> /// <param name="connectionID">Объект подключения к базе данных</param> /// <returns>Объект-оболочка ResponsePackagе</returns> public ResponsePackage SaveControlTypeGroup(RequestObjectPackage<ControlTypeGroupModel> request, IDbConnection connectionID) { ControlTypeGroupModel obj = request.requestData; string sql = string.Empty; if (obj.ID > 0) { sql = string.Format( " update control_type_groups set NAME = {0} " + " where id = {1} returning id ", obj.name ?? "", obj.ID ); } else { sql = string.Format( " insert into control_type_groups (NAME) " + " values ({0}) returning id ", obj.name ?? "" ); } ResponseTablePackage res = DBUtils.ExecuteSQL(sql, connectionID, true); res.ThrowExceptionIfError(); return new ResponsePackage() { resultID = res.resultID }; }
/// <summary> /// Сохранить маппинг /// </summary> /// <param name="package"></param> /// <param name="connectionID"></param> /// <returns></returns> public static ResponsePackage SaveControlQueryMapping(RequestObjectPackage<ControlQueryMappingModel> package, IDbConnection connectionID, IDbTransaction transactionID) { ControlQueryMappingModel obj = package.requestData; string sql = string.Empty; if (obj.ID > 0) { // изменение sql = string.Format( " update CONTROL_QUERY_MAPPING set CONTROL_ID = {0), QUERY_OUT_PARAMETER_ID = {1}, QUERY_ID = {2} " + Environment.NewLine + " where ID = {3} returning ID", obj.controlID, obj.queryOutParameterID, obj.queryID, obj.ID ); } else { // сохранение sql = string.Format( " insert into CONTROL_QUERY_MAPPING (CONTROL_ID, QUERY_OUT_PARAMETER_ID, QUERY_ID) " + Environment.NewLine + " values ({0}, {1}, {2}) returning ID", obj.controlID, obj.queryOutParameterID, obj.queryID ); } ResponseTablePackage res = DBUtils.ExecuteSQL(sql, connectionID, true, transactionID); res.ThrowExceptionIfError(); return new ResponsePackage() { resultID = res.resultID }; }
public static ResponsePackage SavePrimaryKey(RequestObjectPackage<DictionaryPrimaryKeyModel> request, IDbConnection connectionID, IDbTransaction transactionID) { DictionaryPrimaryKeyModel obj = request.requestData; bool isEdit = obj.ID > 0; string sql = null; if (isEdit) { sql = string.Format( "update DICTIONARY_PRIMARY_KEYS " + Environment.NewLine + "set ID = {0}, DICTIONARY_FIELD_ID = {1}, DICTIONARY_ID = {2} " + Environment.NewLine + "where ID = {0} ", SQL.FromNumber(obj.ID), SQL.FromNumber(obj.dictionaryFieldID), SQL.FromNumber(obj.dictionaryID) ); } else { sql = string.Format( "insert into DICTIONARY_PRIMARY_KEYS " + Environment.NewLine + "(DICTIONARY_FIELD_ID, DICTIONARY_ID) " + Environment.NewLine + "values ({0}, {1}) returning ID", SQL.FromNumber(obj.dictionaryFieldID), SQL.FromNumber(obj.dictionaryID) ); } ResponseTablePackage res = DBUtils.ExecuteSQL(sql, connectionID, !isEdit, transactionID); res.ThrowExceptionIfError(); return new ResponsePackage() { resultID = isEdit ? obj.ID : res.resultID }; }
public static ResponsePackage SaveOutParam(RequestObjectPackage<FormOutParameterModel> request, IDbConnection connectionID, IDbTransaction transactionID) { FormOutParameterModel obj = request.requestData; string sql = string.Empty; if (obj.ID > 0) { sql = string.Format( " update FORM_OUT_PARAMETERS set NAME = '{0}', CONTROL_ID = {1} " + " where ID = {2} returning id ", obj.name ?? "", obj.controlID, obj.ID ); } else { sql = string.Format( " insert into FORM_OUT_PARAMETERS (NAME, CONTROL_ID) " + " values ('{0}', {1}) returning id ", obj.name ?? "", obj.controlID ); } ResponseTablePackage res = DBUtils.ExecuteSQL(sql, connectionID, true, transactionID); res.ThrowExceptionIfError(); return new ResponsePackage() { resultID = res.resultID }; }
/// <summary> /// Функция сохранения типа контрола /// </summary> /// <param name="request">Объект-оболочка RequestPackage, содержащая в поле requestData тип контрола</param> /// <param name="connectionID">Объект подключения к базе данных</param> /// <returns>Объект-оболочка ResponsePackagе</returns> public ResponsePackage SaveControlType(RequestObjectPackage<ControlTypeModel> request, IDbConnection connectionID) { ControlTypeModel obj = request.requestData; string sql = string.Empty; if (obj.ID > 0) { sql = string.Format( " update control_types set NAME = {0}, CONTROL_TYPE_GROUP_ID = {1}, PATH = {2}, DESCRIPTION = {3} " + " where id = {4} returning id ", obj.component ?? "", obj.controlTypeGroupID, obj.path == null ? "null" : ("'" + obj.path.TrimIfNotNull() + "'"), obj.description == null ? "null" : ("'" + obj.description.TrimIfNotNull() + "'"), obj.ID ); } else { sql = string.Format( " insert into control_types (NAME, CONTROL_TYPE_GROUP_ID, PATH, DESCRIPTION) " + " values ({0}, {1}, {2}, {3}) returning id ", obj.component ?? "", obj.controlTypeGroupID, obj.path == null ? "null" : ("'" + obj.path.TrimIfNotNull() + "'"), obj.description == null ? "null" : ("'" + obj.description.TrimIfNotNull() + "'") ); } ResponseTablePackage res = DBUtils.ExecuteSQL(sql, connectionID, true); res.ThrowExceptionIfError(); return new ResponsePackage() { resultID = res.resultID }; }
public static ResponsePackage Save(RequestObjectPackage<ActionTypePropertyModel> request, IDbConnection connectionID, IDbTransaction transactionID) { ActionTypePropertyModel obj = request.requestData; string sql = string.Empty; if (obj.ID > 0) { sql = string.Format( " update ACTION_TYPE_PROPERTIES set \"VALUE\" = {0}, ACTION_TYPE_ID = {1}, ACTION_KIND_PROPERTY_ID = {2} " + Environment.NewLine + " where ID = {3} returning ID", SQL.FromNumber(obj.ID), SQL.FromNumber(obj.actionTypeID), SQL.FromNumber(obj.actionKindPropertyID), SQL.FromNumber(obj.ID) ); } else { sql = string.Format( " insert into ACTION_TYPE_PROPERTIES (\"VALUE\", ACTION_TYPE_ID, ACTION_KIND_PROPERTY_ID) " + Environment.NewLine + " values ({0}, {1}, {2}) returning ID", SQL.FromNumber(obj.ID), SQL.FromNumber(obj.actionTypeID), SQL.FromNumber(obj.actionKindPropertyID) ); } ResponseTablePackage res = DBUtils.ExecuteSQL(sql, connectionID, true, transactionID); res.ThrowExceptionIfError(); return new ResponsePackage() { resultID = res.resultID }; }
public static ResponsePackage Save(RequestObjectPackage<EventTypeModel> request, IDbConnection connectionID, IDbTransaction transactionID) { EventTypeModel obj = request.requestData; string sql = string.Empty; if (obj.ID > 0) { sql = string.Format( " update EVENT_TYPES set NAME = {0} " + Environment.NewLine + " where ID = {1} returning ID", SQL.FromString(obj.name), SQL.FromNumber(obj.ID) ); } else { sql = string.Format( " insert into EVENT_TYPES (NAME) " + Environment.NewLine + " values ({0}) returning ID", SQL.FromString(obj.name) ); } ResponseTablePackage res = DBUtils.ExecuteSQL(sql, connectionID, true, transactionID); res.ThrowExceptionIfError(); return new ResponsePackage() { resultID = res.resultID }; }
public static ResponsePackage Save(RequestObjectPackage<ActionParameterModel> request, IDbConnection connectionID, IDbTransaction transactionID) { ActionParameterModel obj = request.requestData; string sql = string.Empty; if (obj.ID > 0) { sql = string.Format( " update ACTION_PARAMETERS set ACTION_ID = {0}, ACTION_PARAMETER_TYPE_ID = {1}, CONTROL_ID = {2} " + Environment.NewLine + " where ID = {3} returning ID", SQL.FromNumber(obj.actionID), SQL.FromNumber(obj.actionParameterTypeID), SQL.FromNumber(obj.controlID), SQL.FromNumber(obj.ID) ); } else { sql = string.Format( " insert into ACTION_PARAMETERS (ACTION_ID, ACTION_PARAMETER_TYPE_ID, CONTROL_ID) " + Environment.NewLine + " values ({0}, {1}, {2}) returning ID", SQL.FromNumber(obj.actionID), SQL.FromNumber(obj.actionParameterTypeID), SQL.FromNumber(obj.controlID) ); } ResponseTablePackage res = DBUtils.ExecuteSQL(sql, connectionID, true, transactionID); res.ThrowExceptionIfError(); return new ResponsePackage() { resultID = res.resultID }; }
public ResponseObjectPackage<List<DictionaryModel>> GetAllDictionaries() { RequestObjectPackage<DictionarySearchTemplate> request = new RequestObjectPackage<DictionarySearchTemplate>() { requestData = new DictionarySearchTemplate() }; ResponseObjectPackage<List<DictionaryModel>> response = new DBUtils().RunSqlAction(DictionariesRepository.GetBySearchTemplate, request); return response; }
public ResponseObjectPackage<List<DictionaryFieldModel>> GetDictionaryFieldsByDictionaryID(int dictionaryID) { RequestObjectPackage<DictionaryFieldSearchTemplate> request = new RequestObjectPackage<DictionaryFieldSearchTemplate>() { requestData = new DictionaryFieldSearchTemplate() { dictionaryID = dictionaryID } }; ResponseObjectPackage<List<DictionaryFieldModel>> response = new DBUtils().RunSqlAction(DictionaryFieldsRepository.GetBySearchTemplate, request); return response; }
public ResponseObjectPackage<List<QueryQueryInParameterModel>> GetQueryQueryInParametersByQueryID(int queryID) { RequestObjectPackage<QueryQueryInParameterSearchTemplate> request = new RequestObjectPackage<QueryQueryInParameterSearchTemplate>() { requestData = new QueryQueryInParameterSearchTemplate() { queryID = queryID } }; ResponseObjectPackage<List<QueryQueryInParameterModel>> response = new DBUtils().RunSqlAction(QueryQueryInParametersRepository.GetBySearchTemplate, request); return response; }
public ResponseObjectPackage<DictionaryFieldModel> GetDictionaryFieldByID(int dictionaryFieldID) { RequestObjectPackage<DictionaryFieldSearchTemplate> request = new RequestObjectPackage<DictionaryFieldSearchTemplate>() { requestData = new DictionaryFieldSearchTemplate() { ID = dictionaryFieldID } }; DictionaryFieldModel response = new DBUtils().RunSqlAction(DictionaryFieldsRepository.GetBySearchTemplate, request).GetDataOrExceptionIfError().First(); return new ResponseObjectPackage<DictionaryFieldModel>() { resultData = response }; }
public ResponseObjectPackage<QueryTypeModel> GetQueryTypeByID(int queryTypeID) { RequestObjectPackage<QueryTypeSearchTemplate> request = new RequestObjectPackage<QueryTypeSearchTemplate>() { requestData = new QueryTypeSearchTemplate() { ID = queryTypeID } }; ResponseObjectPackage<List<QueryTypeModel>> response = new DBUtils().RunSqlAction(QueryTypesRepository.GetBySearchTemplate, request); QueryTypeModel model = response.GetDataOrExceptionIfError().First(); return new ResponseObjectPackage<QueryTypeModel>() { resultData = model }; }
public static ResponseObjectPackage<List<ActionModel>> GetBySearchTemplate(RequestObjectPackage<ActionSearchTemplate> request, IDbConnection connectionID) { ActionSearchTemplate obj = request.requestData; string sql = string.Format( "select ID, EVENT_ID, ORDER_NUMBER, ACTION_TYPE_ID " + Environment.NewLine + "from ACTIONS " + Environment.NewLine + "where {0}", ToSqlWhere(obj) ); List<ActionModel> list = DBOrmUtils.OpenSqlList<ActionModel>(sql, mappingDictionary, connectionID); return new ResponseObjectPackage<List<ActionModel>>() { resultData = list }; }
public JsonResult GetHandlerTypeList() { try { RequestObjectPackage<ActionTypeSearchTemplate> request = new RequestObjectPackage<ActionTypeSearchTemplate>() { requestData = new ActionTypeSearchTemplate() }; ResponseObjectPackage<List<ActionTypeModel>> response = new EventEditorLogic().GetHandlerTypeList(request).GetSelfOrExceptionIfError(); return Json(response); } catch (Exception ex) { return this.HandleException(ex); } }
public ResponseObjectPackage<DictionaryModel> GetDictionaryByID(int dictionaryID) { RequestObjectPackage<DictionarySearchTemplate> request = new RequestObjectPackage<DictionarySearchTemplate>() { requestData = new DictionarySearchTemplate() { ID = dictionaryID } }; ResponseObjectPackage<List<DictionaryModel>> response = new DBUtils().RunSqlAction(DictionariesRepository.GetBySearchTemplate, request); DictionaryModel dictionary = response.GetDataOrExceptionIfError().First(); return new ResponseObjectPackage<DictionaryModel>() { resultData = dictionary }; }
public static ResponseObjectPackage<List<EventTypeModel>> GetBySearchTemplate(RequestObjectPackage<EventTypeSearchTemplate> request, IDbConnection connectionID) { EventTypeSearchTemplate obj = request.requestData; string sql = string.Format( "select ID, NAME " + Environment.NewLine + "from EVENT_TYPES " + Environment.NewLine + "where {0}", ToSqlWhere(obj) ); List<EventTypeModel> list = DBOrmUtils.OpenSqlList<EventTypeModel>(sql, mappingDictionary, connectionID); return new ResponseObjectPackage<List<EventTypeModel>>() { resultData = list }; }
public static ResponseObjectPackage<List<ActionParameterTypeModel>> GetBySearchTemplate(RequestObjectPackage<ActionParameterTypeSearchTemplate> request, IDbConnection connectionID) { ActionParameterTypeSearchTemplate obj = request.requestData; string sql = string.Format( "select ID, NAME, ACTION_TYPE_ID, DOMAIN_VALUE_TYPE_ID " + Environment.NewLine + "from ACTION_PARAMETER_TYPES " + Environment.NewLine + "where {0}", ToSqlWhere(obj) ); List<ActionParameterTypeModel> list = DBOrmUtils.OpenSqlList<ActionParameterTypeModel>(sql, mappingDictionary, connectionID); return new ResponseObjectPackage<List<ActionParameterTypeModel>>() { resultData = list }; }
public static ResponseObjectPackage<List<ActionTypePropertyModel>> GetBySearchTemplate(RequestObjectPackage<ActionTypePropertySearchTemplate> request, IDbConnection connectionID) { ActionTypePropertySearchTemplate obj = request.requestData; string sql = string.Format( "select ID, \"VALUE\", ACTION_TYPE_ID, ACTION_KIND_PROPERTY_ID " + Environment.NewLine + "from ACTION_TYPE_PROPERTIES " + Environment.NewLine + "where {0}", ToSqlWhere(obj) ); List<ActionTypePropertyModel> list = DBOrmUtils.OpenSqlList<ActionTypePropertyModel>(sql, mappingDictionary, connectionID); return new ResponseObjectPackage<List<ActionTypePropertyModel>>() { resultData = list }; }
public static ResponseObjectPackage<List<ActionParameterModel>> GetByActionsList(RequestObjectPackage<List<ActionModel>> request, IDbConnection connectionID) { List<int> obj = (request.requestData ?? new List<ActionModel>()).Select(e => e.ID).ToList(); obj.Add(-1); string sql = string.Format( "select ID, ACTION_ID, ACTION_PARAMETER_TYPE_ID, CONTROL_ID " + Environment.NewLine + "from ACTION_PARAMETERS " + Environment.NewLine + "where ACTION_ID in ({0})", string.Join(", ", obj) ); List<ActionParameterModel> list = DBOrmUtils.OpenSqlList<ActionParameterModel>(sql, mappingDictionary, connectionID); return new ResponseObjectPackage<List<ActionParameterModel>>() { resultData = list }; }
public static ResponseObjectPackage<List<ActionModel>> GetByEventsList(RequestObjectPackage<List<EventModel>> request, IDbConnection connectionID) { List<int> obj = (request.requestData ?? new List<EventModel>()).Select(e => e.ID).ToList(); obj.Add(-1); string sql = string.Format( "select ID, EVENT_ID, ORDER_NUMBER, ACTION_TYPE_ID " + Environment.NewLine + "from ACTIONS " + Environment.NewLine + "where EVENT_ID in({0});", string.Join(", ", obj) ); List<ActionModel> list = DBOrmUtils.OpenSqlList<ActionModel>(sql, mappingDictionary, connectionID); return new ResponseObjectPackage<List<ActionModel>>() { resultData = list }; }
public static ResponseObjectPackage<List<DictionaryGruopModel>> GetBySearchTemplate(RequestObjectPackage<DictionaryGroupSearchTemplate> package, IDbConnection connectionID) { DictionaryGroupSearchTemplate obj = package.requestData; string sql = string.Format( "select ID, NAME, DICTIONARY_GROUP_ID_PARENT, DICTIONARY_GROUP_ID_ROOT " + Environment.NewLine + "from dictionary_groups " + Environment.NewLine + "where {0}", DictionaryGroupsRepository.ToSqlWhere(obj) ); ResponseTablePackage res = DBUtils.OpenSQL(sql, connectionID); res.ThrowExceptionIfError(); List<DictionaryGruopModel> list = DBOrmUtils.OpenSqlList<DictionaryGruopModel>(sql, DictionaryGroupsRepository.mappingDictionary, connectionID); return new ResponseObjectPackage<List<DictionaryGruopModel>>() { resultData = list }; }
public static ResponseObjectPackage<List<FormOutParameterModel>> GetBySearchTemplate(RequestObjectPackage<FormOutParameterSearchTemplate> package, IDbConnection connectionID) { FormOutParameterSearchTemplate obj = package.requestData; string sql = string.Format( "select ID, CONTROL_ID, NAME " + Environment.NewLine + "from FORM_IN_PARAMETERS " + Environment.NewLine + "where {0}", FormOutParametersRepository.ToSqlWhere(obj) ); ResponseTablePackage res = DBUtils.OpenSQL(sql, connectionID); res.ThrowExceptionIfError(); List<FormOutParameterModel> list = DBOrmUtils.OpenSqlList<FormOutParameterModel>(sql, FormOutParametersRepository.mappingDictionary, connectionID); return new ResponseObjectPackage<List<FormOutParameterModel>>() { resultData = list }; }
public static ResponseObjectPackage<List<DictionaryPrimaryKeyModel>> GetBySearchTemplate(RequestObjectPackage<DictionaryPrimaryKeySearchTemplate> package, IDbConnection connectionID) { DictionaryPrimaryKeySearchTemplate obj = package.requestData; string sql = string.Format( "select ID, DICTIONARY_FIELD_ID, DICTIONARY_ID " + Environment.NewLine + "from DICTIONARY_PRIMARY_KEYS " + Environment.NewLine + "where {0}", DictionaryPrimaryKeysRepository.ToSqlWhere(obj) ); ResponseTablePackage res = DBUtils.OpenSQL(sql, connectionID); res.ThrowExceptionIfError(); List<DictionaryPrimaryKeyModel> list = DBOrmUtils.OpenSqlList<DictionaryPrimaryKeyModel>(sql, DictionaryPrimaryKeysRepository.mappingDictionary, connectionID); return new ResponseObjectPackage<List<DictionaryPrimaryKeyModel>>() { resultData = list }; }
public static ResponseObjectPackage<List<QueryModel>> GetBySearchTemplate(RequestObjectPackage<QuerySearchTemplate> package, IDbConnection connectionID) { QuerySearchTemplate obj = package.requestData; string sql = string.Format( "select ID, QUERY_TYPE_ID " + Environment.NewLine + "from QUERIES " + Environment.NewLine + "where {0}", QueriesRepository.ToSqlWhere(obj) ); ResponseTablePackage res = DBUtils.OpenSQL(sql, connectionID); res.ThrowExceptionIfError(); List<QueryModel> list = DBOrmUtils.OpenSqlList<QueryModel>(sql, QueriesRepository.mappingDictionary, connectionID); return new ResponseObjectPackage<List<QueryModel>>() { resultData = list }; }
public static ResponseObjectPackage<List<ControlQueryMappingModel>> GetBySearchTemplate(RequestObjectPackage<ControlQueryMappingSearchTemplate> package, IDbConnection connectionID) { ControlQueryMappingSearchTemplate obj = package.requestData; string sql = string.Format( "select m.ID, m.CONTROL_ID, m.QUERY_OUT_PARAMETER_ID, m.QUERY_ID, m.QUERY_MAPPING_ROLE_ID " + Environment.NewLine + "from CONTROL_QUERY_MAPPING m " + Environment.NewLine + "where {0}", ControlQueryMappingRepository.ToSqlWhere(obj) ); ResponseTablePackage res = DBUtils.OpenSQL(sql, connectionID); res.ThrowExceptionIfError(); List<ControlQueryMappingModel> list = DBOrmUtils.OpenSqlList<ControlQueryMappingModel>(sql, ControlQueryMappingRepository.mappingDictionary, connectionID); return new ResponseObjectPackage<List<ControlQueryMappingModel>>() { resultData = list }; }
/// <summary> /// Удалить удаленные пользвателем компоненты /// </summary> /// <param name="package"></param> /// <returns></returns> public ResponsePackage DeleteOldControls(RequestObjectPackage<SaveControlModel> package) { // все контролы формы List<ControlListEntity> oldControls = new ControlsLogic().GetControlsByFormID(new RequestPackage() { requestID = package.requestID }).GetDataOrExceptionIfError(); // список свежих ID контролов List<int> newIDs = new List<int>(); Action<SaveControlModel> action = null; action = delegate(SaveControlModel current) { if (current.control.ID > 0) { newIDs.Add(current.control.ID); } if (current.items != null && current.items.Count > 0) { foreach (SaveControlModel ctrl in current.items) { action(ctrl); } } }; action(package.requestData); // Для контролов удалить все евенты RequestPackage delEvents = new RequestPackage() { requestID = package.requestID }; ResponsePackage responseDelEvents = new DBUtils().RunSqlAction(new EventEditorDataCRUD().DeleteAllEvents, delEvents); responseDelEvents.ThrowExceptionIfError(); // ID контролов для удаления List<int> IDsToDelete = oldControls.FindAll(x => newIDs.Contains(x.ID) == false).OrderByDescending(x => x.orderNumber).Select(x => x.ID).ToList(); if (IDsToDelete != null && IDsToDelete.Count > 0) { foreach (int id in IDsToDelete) { RequestPackage req = new RequestPackage() { requestID = id }; // Проверить возможность удаления ResponsePackage responseCheck = new DBUtils(new FireBirdConnectionFactory()).RunSqlAction(new ControlsRepository().CheckDeleteControl, req); responseCheck.ThrowExceptionIfError(); // Удалить свойства контрола ResponsePackage responseDelProperty = new DBUtils(new FireBirdConnectionFactory()).RunSqlAction(new ControlPropertiesRepository().DeletePropertiesByControlID, req); responseDelProperty.ThrowExceptionIfError(); // Удалить контрол ResponsePackage responseDelControl = new DBUtils(new FireBirdConnectionFactory()).RunSqlAction(new ControlsRepository().DeleteControlByID, req); responseDelControl.ThrowExceptionIfError(); } } return new ResponsePackage(); }