private TemplateMapping CreateTemplateMappingObject(UmbProject mapping, UmbTemplateMapping template) { var fieldMappings = ContextDatabase.Database.Fetch <UmbFieldMapping>( new Sql().Select("*") .From <UmbFieldMapping>() .Where <UmbFieldMapping>(x => x.TemplateMappingId == template.Id)); return(new TemplateMapping() { MappingId = template.Id.ToString(), //MappingId == umbraco's templateId GcProjectId = mapping.GcProjectId.ToString(), GcProjectName = mapping.GcProjectName, LastUpdatedDate = template.LastUpdatedDate, DefaultLocationId = template.DefaultLocation, DefaultLocationTitle = !string.IsNullOrWhiteSpace(template.DefaultLocation) ? ContextService.ContentService.GetById(Convert.ToInt32(template.DefaultLocation))?.Name : string.Empty, CmsTemplate = new CmsTemplate() { TemplateId = template.CmsTemplateId.ToString(), TemplateName = template.CmsTemplateName }, GcTemplate = new GcTemplate() { GcTemplateId = template.GcTemplateId.ToString(), GcTemplateName = template.GcTemplateName }, LastMappedDateTime = template.LastMappedDateTime, MappingTitle = template.MappingTitle, FieldMappings = fieldMappings.Count > 0 ? new List <FieldMapping>(fieldMappings.Select(x => new FieldMapping() { GcField = new GcField() { Id = x.GcFieldId, Name = x.GcFieldName, Type = x.GcFieldType }, CmsField = new CmsField() { TemplateField = new CmsTemplateField() { FieldName = x.CmsTemplateFieldName, FieldId = x.CmsTemplateFieldId, FieldType = x.CmsTemplateFieldType } } })) : new List <FieldMapping>() }); }
public void CreateMapping(TemplateMapping cmsMapping) { var mapping = new UmbProject() { GcProjectId = Convert.ToInt32(cmsMapping.GcProjectId), GcProjectName = cmsMapping.GcProjectName, CreatedDate = DateTime.UtcNow.ToIsoString() }; if (cmsMapping.MappingId != null) { mapping = ContextDatabase.Database.Fetch <UmbProject>( new Sql().Select("*") .From <UmbProject>() .Where <UmbProject>(x => x.Id.ToString() == cmsMapping.MappingId)).FirstOrDefault() ?? mapping; } mapping.Id = Convert.ToInt32(ContextDatabase.Database.Insert("gcProject", "Id", mapping)); var gcProjectTemp = new UmbTemplateMapping() { GcTemplateName = cmsMapping.GcTemplate.GcTemplateName, GcTemplateId = Convert.ToInt32(cmsMapping.GcTemplate.GcTemplateId), LastUpdatedDate = cmsMapping.LastUpdatedDate, LastMappedDateTime = DateTime.UtcNow.ToIsoString(), CreatedDate = DateTime.UtcNow.ToIsoString(), ProjectId = mapping.Id, CmsTemplateId = cmsMapping.CmsTemplate != null?Convert.ToInt32(cmsMapping.CmsTemplate.TemplateId) : 0, CmsTemplateName = (cmsMapping.CmsTemplate?.TemplateId != null) ? ContextService.ContentTypeService.GetContentType(Convert.ToInt32(cmsMapping.CmsTemplate.TemplateId)).Name : null, MappingTitle = cmsMapping.MappingTitle, DefaultLocation = cmsMapping.DefaultLocationId }; gcProjectTemp.Id = Convert.ToInt32(ContextDatabase.Database.Insert("gcTemplateMapping", "Id", gcProjectTemp)); foreach (var fieldMapping in cmsMapping.FieldMappings) { var umbFieldMapping = new UmbFieldMapping() { CmsTemplateFieldId = fieldMapping.CmsField.TemplateField.FieldId, CmsTemplateFieldName = fieldMapping.CmsField.TemplateField.FieldName, CmsTemplateFieldType = fieldMapping.CmsField.TemplateField.FieldType, GcFieldId = fieldMapping.GcField.Id, GcFieldName = fieldMapping.GcField.Name, GcFieldType = fieldMapping.GcField.Type, TemplateMappingId = gcProjectTemp.Id }; ContextDatabase.Database.Insert("gcFieldMapping", "Id", umbFieldMapping); } }