private void ProcessInvalidPartitionField(PersistentClass cls) { var error = new BSharpError { Class = cls.TargetClass, Level = ErrorLevel.Error, Message = "Поле, отмеченное к партицироанию не найдено" }; Errors.Add(error); Context.RegisterError(error); }
private void ProcessNullPartitionField(PersistentClass cls) { var error = new BSharpError { Class = cls.TargetClass, Level = ErrorLevel.Error, Message = "Таблица отмечена к партицированию, но поле не указано" }; Errors.Add(error); Context.RegisterError(error); }
/// <summary> /// /// </summary> /// <param name="error"></param> public void RegisterError(BSharpError error) { if (error.Level >= ErrorLevel.Error) { this.IsValid = false; } Errors.Add(error); if (null != Context) { Context.RegisterError(error); } }
private void ProcessInvalidFieldReferenceError(Field reference) { var error = new BSharpError { Class = reference.Table.TargetClass, Level = ErrorLevel.Error, Xml = reference.Definition, Message = "Не могу найти в модели целевого поля таблицы для поля " + reference.Name + " объекта " + reference.Table.FullCodeName + " с ссылкой на " + reference.ReferenceTable + " (" + reference.ReferenceField + ")" }; Errors.Add(error); Context.RegisterError(error); }
private static IBSharpContext ParseContext(XElement xml) { var result = new BSharpContext(); result.Working = new List<IBSharpClass>(); foreach (var cls in xml.Elements("cls")) { var bcls = new BSharpClass(result); bcls.Set(BSharpClassAttributes.Built); bcls.Name = cls.Attr("name"); bcls.Namespace = cls.Attr("ns"); bcls.Compiled = cls.Elements().First(); result.Working.Add(bcls); } foreach (var error in xml.Elements("error")) { var e = new BSharpError {Type = error.Attr("type").To<BSharpErrorType>(), Message = error.Value}; var lexe = error.Element("lexinfo"); if (null != lexe) { e.LexInfo = new LexInfo(lexe.Attr("file"), lexe.Attr("line").ToInt()); } result.RegisterError(e); } result.BuildIndexes(); return result; }
/// <summary> /// </summary> /// <param name="error"></param> public void RegisterError(BSharpError error) { Errors.Add(error); Context.RegisterError(error); }
/// <summary> /// Возвращает серилизованную строку из массива ошибок BSharpError /// </summary> /// <param name="errors">Массив ошибок</param> /// <returns>Серилизованная строка</returns> private string GetSerializedErrors(BSharpError[] errors) { return new XmlSerializer().Serialize("errors", errors); }
private void ProcessInvalidFieldReferenceError(Field reference){ var error = new BSharpError{ Class = reference.Table.TargetClass, Level = ErrorLevel.Error, Xml = reference.Definition, Message = "Не могу найти в модели целевого поля таблицы для поля " + reference.Name + " объекта " + reference.Table.FullCodeName + " с ссылкой на " + reference.ReferenceTable + " (" + reference.ReferenceField + ")" }; Errors.Add(error); Context.RegisterError(error); }
private void ProcessInvalidPartitionField(PersistentClass cls){ var error = new BSharpError{ Class = cls.TargetClass, Level = ErrorLevel.Error, Message = "Поле, отмеченное к партицироанию не найдено" }; Errors.Add(error); Context.RegisterError(error); }
private void ProcessNullPartitionField(PersistentClass cls){ var error = new BSharpError{ Class = cls.TargetClass, Level = ErrorLevel.Error, Message = "Таблица отмечена к партицированию, но поле не указано" }; Errors.Add(error); Context.RegisterError(error); }
/// <summary> /// </summary> /// <param name="error"></param> public void RegisterError(BSharpError error){ Errors.Add(error); Context.RegisterError(error); }