Ejemplo n.º 1
0
        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);
                }
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }