private void ProcessUpdating(string contentName, IQPArticle instance, ObjectStateEntry entry) { throw new NotImplementedException(); var properties = entry.GetModifiedProperties().ToList(); var values = instance.Pack(this); DateTime modified = DateTime.Now; throw new NotImplementedException("CUD operations are not implemented yet."); // Cnn.AddFormToContent(SiteId, Cnn.GetContentIdByNetName(SiteId, contentName), instance.StatusType.StatusTypeName, ref values, (int)instance.Id, true, 0, instance.Visible, instance.Archive, true, ref modified); // instance.Modified = modified; }
private void AddLinksToUpdate(IQPArticle article, Dictionary <string, string> fieldValues, List <EntityEntry> links) { var forwardLinks = links.Where(e => ((IQPLink)e.Entity).Id == article.Id && ((IQPLink)e.Entity).LinkedItemId > 0).ToList(); if (forwardLinks.Count > 0) { var relations = (from e in forwardLinks let relatedId = ((IQPLink)e.Entity).LinkedItemId let attribute = MappingResolver.GetAttribute(e.Metadata.Name.Substring(e.Metadata.Name.LastIndexOf(".") + 1)) select new { RelatedId = relatedId, Field = attribute.MappedName }) .ToArray(); var values = relations .GroupBy(r => r.Field).ToDictionary(x => x.Key, x => string.Join(",", x.Select(y => y.RelatedId))); MergeValues(fieldValues, values); links.RemoveAll(x => forwardLinks.Contains(x)); } var backwardLinks = links.Where(e => ((IQPLink)e.Entity).LinkedItemId == article.Id && ((IQPLink)e.Entity).Id > 0).ToList(); if (backwardLinks.Count > 0) { var relations = (from e in forwardLinks let relatedId = ((IQPLink)e.Entity).Id let attribute = MappingResolver.GetAttribute(e.Metadata.Name.Substring(e.Metadata.Name.LastIndexOf(".") + 1)) select new { RelatedId = relatedId, Field = attribute.RelatedAttribute.MappedName }) .ToArray(); var values = relations .GroupBy(r => r.Field).ToDictionary(x => x.Key, x => string.Join(",", x.Select(y => y.RelatedId))); MergeValues(fieldValues, values); links.RemoveAll(x => backwardLinks.Contains(x)); } }
private void ProcessCreating(string contentName, IQPArticle instance, EntityEntry entry) { throw new NotImplementedException(); var properties = entry.Properties.Where(x => x.IsModified).Select(x => x.Metadata.Name).ToArray(); var values = instance.Pack(this); DateTime created = DateTime.Now; // instance.LoadStatusType(); // todo: load first status const string lowestStatus = "None"; if (!properties.Contains("Visible")) { instance.Visible = true; } if (!properties.Contains("Archive")) { instance.Archive = false; } // instance.Id = Cnn.AddFormToContent(SiteId, Cnn.GetContentIdByNetName(SiteId, contentName), lowestStatus, ref values, 0, true, 0, instance.Visible, instance.Archive, true, ref created); instance.Created = created; instance.Modified = created; }
private void SyncArticle(IQPArticle article, Dictionary <string, string> fieldValues) { article.Id = int.Parse(fieldValues[SystemColumnNames.Id], CultureInfo.InvariantCulture); article.Modified = DateTime.Parse(fieldValues[SystemColumnNames.Modified], CultureInfo.InvariantCulture); article.Created = DateTime.Parse(fieldValues[SystemColumnNames.Created], CultureInfo.InvariantCulture); }