public virtual void BeforeSave() { this.UpdateDate = DateTime.Now; this.UpdateUserId = Provider.User.Id; if (Id == 0) { this.InsertDate = DateTime.Now; if (this.InsertUserId == 0) { this.InsertUserId = Provider.User.Id; } } #region if critical entity, log it if (this is ICriticalEntity && Id > 0) { Provider.Database.ClearEntityWebCache(this.GetType(), this.Id); IDatabaseEntity originalEntity = Provider.Database.Read(this.GetType(), this.Id); string changes = originalEntity.CompareFields(this); if (!string.IsNullOrWhiteSpace(changes)) { Provider.Log("EntityHistory", "Update", changes, this.GetType().Name, this.Id); } } #endregion }
public void Update(IDatabaseEntity entityInstance) { using (NPoco.IDatabase db = GetDataBase()) { db.Save <IDatabaseEntity>(entityInstance); } }
private void newEntity() { string error = ""; string where = context.Request["filter"] ?? ""; string entityName = context.Request["entityName"]; Type entityType = Provider.GetEntityType(entityName); if (entityType != null) { IDatabaseEntity entity = Provider.CreateEntity(entityType); if (!string.IsNullOrEmpty(where)) { FilterParser filterParser = new FilterParser(where, entityName); where = filterParser.GetWhere(); foreach (var item in filterParser.GetNameValuePairs()) { entity.SetMemberValue(item.Key, item.Value); } } context.Response.Write(@"{ success: true, data: " + entity.ToJSON() + "}"); return; } else { error = "Entity tipi bulunamadı."; } context.Response.Write(@"{ success: false, errorMessage: " + error.ToJS() + "}"); }
protected override string getCellHTML(int row, int col) { string html = this.DataTemplate; int index = row * this.cols + col; if (data.Rows.Count <= index) { return(String.Empty); } dr = data.Rows[index]; IDatabaseEntity entity = (IDatabaseEntity)Provider.Database.DataRowToEntity(Provider.GetEntityType(this.EntityName), dr); Interpreter engine = Provider.GetInterpreter(html, this); engine.SetAttribute("entity", entity); engine.SetAttribute("index", index + 1 + pageNo * HowManyItems); engine.Parse(); engine.Execute(); html = engine.Output; return(html); }
public void Save(IDatabaseEntity entity) { using (NPoco.IDatabase db = GetDataBase()) { db.Save(entity); } }
private void getList() { string entityName = context.Request["entityName"]; string extraFilter = context.Request["extraFilter"] ?? ""; IDatabaseEntity[] entities = Provider.GetIdNameList(entityName, extraFilter, ""); context.Response.Write("[\n"); context.Response.Write("[0, '" + Provider.GetResource("Select") + "']\n"); for (int i = 0; i < entities.Length; i++) { IDatabaseEntity entity = entities[i]; context.Response.Write(",[" + entity.Id.ToJS() + "," + entity.GetNameValue().ToJS() + "]"); //if (i < entities.Length - 1) context.Response.Write(","); } context.Response.Write("]"); }
/// <summary> /// Activate single <see cref="MapGrid"/> at position. /// </summary> private void ActivateGrid(uint gridX, uint gridZ) { var grid = new MapGrid(gridX, gridZ); grids[gridZ * MapDefines.WorldGridCount + gridX] = grid; log.Trace($"Activated grid at X:{gridX}, Z:{gridZ}."); foreach (EntityModel model in entityCache.GetEntities(gridX, gridZ)) { // non issue once all entities types are handled IDatabaseEntity entity = EntityManager.NewEntity((EntityType)model.Type) ?? EntityManager.NewEntity(EntityType.Simple); entity.Initialise(model); var vector = new Vector3(model.X, model.Y, model.Z); AddEntity(grid, entity as GridEntity, vector); } }
public virtual void BeforeSave() { if (Id > 0) { Provider.Database.ClearEntityWebCache(this.GetType(), this.Id); IDatabaseEntity originalEntity = Module.Read(this.Id); string changes = originalEntity.CompareFields(this); if (!string.IsNullOrWhiteSpace(changes)) { var mh = new ModuleHistory(); originalEntity.CopyPropertiesWithSameName(mh); mh.Id = 0; mh.ModuleId = originalEntity.Id; mh.Details = originalEntity.Serialize(); mh.Save(); } } }
public Aspect(string _fieldName, IDatabaseEntity _parent) { m_FieldName = _fieldName; m_Parent = _parent; }
public PriceTableAspect(string _fieldName, IDatabaseEntity _parent) : base(_fieldName, _parent) { }
public EntitySeoMetadataAspect(string fieldName, IDatabaseEntity parent) { m_FieldName = fieldName; m_Parent = parent; }
private static void EnsureEntityNotNull(IDatabaseEntity entity) { Condition.Requires(entity, "entity").IsNotNull(); }
private DefaultSphinxDocument BuildSphinxDocument(IDatabaseEntity entity, FieldSetInfo info) { if (entity == null || info == null) return null; var sb = new StringBuilder(1024); info.FormatAsText(sb); string body = sb.ToString(); if (string.IsNullOrWhiteSpace(body)) return null; string title = string.Format("{0} / {1}", GetTitle(), info.Title); string url = EntityUri() + info.Url; return new DefaultSphinxDocument(new DocumentId(entity.id, info.Id), title, body, url, entity.ProtoName); }
protected static GalleryPhotos GetPhotos(IDatabaseEntity entity, string title) { EnsureEntityNotNull(entity); var result = new GalleryPhotos(); var mainPhoto = Meridian.Default.entity_photosStore.All() .FirstOrDefault(item => item.entity_id == entity.id && item.proto_name == entity.ProtoName && item.is_main); if (mainPhoto != null) result.Photos.Add(mainPhoto); var photos = Meridian.Default.entity_photosStore.All() .Where(item => item.entity_id == entity.id && item.proto_name == entity.ProtoName && !item.is_main) .OrderBy(item => item.order_number); result.Photos.AddRange(photos); result.Title = title; return result; }
private static FieldSetInfo BuildFieldSetInfo(fieldsets fieldset, IDatabaseEntity entity, bool announce = false) { if (fieldset == null) return null; var result = new FieldSetInfo { Id = fieldset.id, Title = fieldset.title, Url = fieldset.url, ShowGallery = fieldset.show_gallery, ShowMap = fieldset.show_map }; var fields = new List<entity_fields>(); if (announce) { fields = Meridian.Default.entity_fieldsStore.All() .Where(item => item.fieldsets_items.Any(f => f.id == fieldset.id)) .OrderBy(item => item.announce_order).ToList(); } else { var fieldsOrders = Meridian.Default.fieldset_fields_orderStore.All() .Where(item => item.fieldset_id == fieldset.id) .OrderBy(item => item.order_number).ToList(); foreach (var fieldOrder in fieldsOrders) { var item = fieldset.fieldsets_items.Find(f => f.id == fieldOrder.field_id); if (item != null) { fields.Add(item); } } } foreach (var field in fields) { var fieldValue = Meridian.Default.field_valuesStore.All() .FirstOrDefault(item => item.proto_name == entity.ProtoName && item.field_id == field.id && item.entity_id == entity.id); if (fieldValue != null || (!string.IsNullOrEmpty(field.controller) && !string.IsNullOrEmpty(field.action))) { result.Fields.Add(new FieldInfo { Title = field.title, Value = fieldValue != null ? fieldValue.field_value : string.Empty, Controller = field.controller, Action = field.action }); } } return result; }
public FieldsetMediator(IDatabaseEntity parent, fieldsets fieldSet) { m_Parent = parent; m_Fieldsets = fieldSet; }
protected static MenuLinks GetMenuLinks(IDatabaseEntity entity, string baseUrl, string currentUrl) { EnsureEntityNotNull(entity); var result = new MenuLinks { CurrentUrl = currentUrl }; var fieldsets = Meridian.Default.fieldsetsStore.All() .Where(item => item.proto_name == entity.ProtoName && !item.show_in_anounce) .OrderBy(item => item.order_number); foreach (var fieldset in fieldsets) { var linkInfo = new LinkInfo { Title = fieldset.title, FullUrl = baseUrl + fieldset.url, Url = fieldset.url }; var fields = new List<entity_fields>(); var fieldsOrder = Meridian.Default.fieldset_fields_orderStore.All() .Where(item => item.fieldset_id == fieldset.id).OrderBy(item => item.order_number) .ToList(); foreach (var fOrder in fieldsOrder) { var item = fieldset.fieldsets_items.Find(f => f.id == fOrder.field_id); if (item != null) { fields.Add(item); } } foreach (var field in fields) { var hasValue = Meridian.Default.field_valuesStore.All() .Any(item => item.proto_name == entity.ProtoName && item.field_id == field.id && item.entity_id == entity.id); if (hasValue || !string.IsNullOrEmpty(field.controller) && !string.IsNullOrEmpty(field.action)) { result.Links.Add(linkInfo); break; } } } return result; }
public static IDatabaseEntity Translate(IDatabaseEntity entity) { IDatabaseEntity[] list = new IDatabaseEntity[1]; list[0] = entity; return Translate(list)[0]; }
public LookupAspect(string _fieldName, IDatabaseEntity _parent, Func<IEnumerable<ILookupValue>> _getAll ) : base(_fieldName, _parent) { m_getAll = _getAll; }
public AttachedPhotoAspect(string fieldName, IDatabaseEntity parent, string dataFolder) : base(fieldName, parent) { this.dataFolder = dataFolder; }
public EntityFieldsetAspect(string fieldName, IDatabaseEntity parent) { m_FieldName = fieldName; m_Parent = parent; }
public static IDatabaseEntity[] Translate(IDatabaseEntity[] entities) { if (Provider.CurrentLanguage.Id == Configuration.DefaultLang || entities == null || entities.Length == 0) return entities; //*** aynı dil çevirmeye gerek yok. string entityName = entities[0].GetType().Name; if (Provider.Database.Tables[entityName + "Lang"] == null) return entities; //*** dil tablosu yok int langId = (int)Provider.Database.GetValue("select Id from Lang where Code like {0}", CurrentCulture+"%"); ArrayList alIds = new ArrayList(); Array.ForEach<IDatabaseEntity>(entities, delegate(IDatabaseEntity ent) { alIds.Add(ent.Id.ToString()); }); string ids = String.Join(",", (string[])alIds.ToArray(typeof(string))); DataTable dtLang = Provider.Database.GetDataTable("select * from " + entityName + "Lang where " + entityName + "Id in (" + ids + ") and LangId={0}", langId); foreach (DataRow drLang in dtLang.Rows) { IDatabaseEntity relatedEntity = Array.Find<IDatabaseEntity>(entities, delegate(IDatabaseEntity ent) { return drLang[entityName + "Id"].Equals(ent.Id); }); if (relatedEntity == null) continue; //*** foreach (DataColumn dc in dtLang.Columns) if (dc.DataType == typeof(string)) { PropertyInfo pi = relatedEntity.GetType().GetProperty(dc.ColumnName); if (pi == null || drLang.IsNull(dc) || drLang[dc].ToString() == "") continue; //*** pi.SetValue(relatedEntity, drLang[dc], null); } } return entities; }
protected static FieldSetInfo GetFieldset(IDatabaseEntity entity, string url, bool announce = false) { EnsureEntityNotNull(entity); var q = Meridian.Default.fieldsetsStore.All().Where(item => item.proto_name == entity.ProtoName); if (announce) { q = q.Where(item => item.show_in_anounce); } if (url != null) { url = url.ToLower(); q = q.Where(item => item.url.ToLower() == url); } return BuildFieldSetInfo(q.FirstOrDefault(), entity, announce); }
private void getEntity() { string error = ""; string entityName = context.Request["entityName"]; Type entityType = Provider.GetEntityType(entityName); if (entityType != null) { int id = 0; int.TryParse(context.Request["id"], out id); if (id > 0) { IDatabaseEntity entity = Provider.Database.Read(entityType, id); if (entity != null) { Hashtable ht = Provider.Database.EntityToHashtable(entity); Type langEntityType = Provider.GetEntityType(entityName + "Lang"); if (langEntityType != null) { List <IDatabaseEntity> listLang = new List <IDatabaseEntity>(Provider.Database.ReadList(langEntityType, "select * from " + langEntityType.Name + " where " + entityName + "Id = {0}", id).SafeCastToArray <IDatabaseEntity>()); foreach (Lang l in Provider.Database.ReadList(typeof(Lang), "select * from Lang where Id<>{0}", Provider.Configuration.DefaultLang)) { var langEntity = listLang.Count == 0 ? null : listLang.FirstOrDefault(e => l.Id.Equals(e.GetMemberValue("LangId"))); if (langEntity == null) { langEntity = Provider.CreateEntity(langEntityType); langEntity.SetMemberValue("LangId", l.Id); langEntity.SetMemberValue(entityName + "Id", entity.Id); listLang.Add(langEntity); } } foreach (var langEntity in listLang) { Hashtable langHt = Provider.Database.EntityToHashtable(langEntity); foreach (var key in langHt.Keys) { ht[key + "_lang_" + langEntity.GetMemberValue("LangId")] = langHt[key]; } } } // entitiye özel muameleler if (entityType == typeof(User)) { ht["Password2"] = ""; } context.Response.Write(@"{ success: true, data: " + ht.ToJSON() + "}"); return; } error = "Entity bulunamadı."; } else { error = "Id geçersiz!"; } } else { error = "Entity tipi bulunamadı."; } context.Response.Write(@"{ success: false, errorMessage: " + error.ToJS() + "}"); }