public void UpdateMapping(TemplateMapping cmsMapping) { int mappingId = Convert.ToInt32(cmsMapping.MappingId); var gcProjectTemp = ContextDatabase.Database.First <UmbTemplateMapping>( new Sql().Select("*") .From <UmbTemplateMapping>() .Where <UmbTemplateMapping>(x => x.Id == mappingId)); if (gcProjectTemp != null) { gcProjectTemp.MappingTitle = cmsMapping.MappingTitle; gcProjectTemp.GcTemplateName = cmsMapping.GcTemplate.GcTemplateName; gcProjectTemp.GcTemplateId = Convert.ToInt32(cmsMapping.GcTemplate.GcTemplateId); gcProjectTemp.LastUpdatedDate = cmsMapping.LastUpdatedDate; gcProjectTemp.LastMappedDateTime = DateTime.UtcNow.ToIsoString(); gcProjectTemp.UpdatedDate = DateTime.UtcNow.ToIsoString(); gcProjectTemp.CmsTemplateId = Convert.ToInt32(cmsMapping.CmsTemplate.TemplateId); gcProjectTemp.CmsTemplateName = (cmsMapping.CmsTemplate?.TemplateId != null) ? ContextService.ContentTypeService.GetContentType(Convert.ToInt32(cmsMapping.CmsTemplate.TemplateId)).Name : null; gcProjectTemp.DefaultLocation = cmsMapping.DefaultLocationId; ContextDatabase.Database.Update("gcTemplateMapping", "Id", gcProjectTemp); var project = ContextDatabase.Database.First <UmbProject>( new Sql().Select("*") .From <UmbProject>() .Where <UmbProject>(x => x.Id == gcProjectTemp.ProjectId)); if (project == null) { return; } project.GcProjectId = Convert.ToInt32(cmsMapping.GcProjectId); project.GcProjectName = cmsMapping.GcProjectName; project.UpdatedDate = DateTime.UtcNow.ToIsoString(); ContextDatabase.Database.Update("gcProject", "Id", project); ////////////Deleting old fields DeleteFiledSMappingsByTepmlateId(gcProjectTemp.Id); ///////////Creating new fields 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); } } }
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); } }