示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="items"></param>
        /// <param name="templates"></param>
        /// <returns></returns>
        private List <ImportListItem> MapItems(List <GCItem> items, List <GCTemplate> templates)
        {
            var mappedItems = items.Where(i => i.TemplateId != null).ToList();
            var dateFormat  = GcAccountSettings.DateFormat;

            if (string.IsNullOrEmpty(dateFormat))
            {
                dateFormat = Constants.DateFormat;
            }

            var result = new List <ImportListItem>();

            foreach (var mappedItem in mappedItems)
            {
                var mappings          = MappingRepository.GetMappingsByGcTemplateId(mappedItem.TemplateId.ToString());
                var availableMappings = mappings.Select(availableMappingModel => new AvailableMapping
                {
                    Id    = availableMappingModel.MappingId,
                    Title = availableMappingModel.MappingTitle,
                }).ToList();

                result.Add(new ImportListItem(mappedItem, templates.FirstOrDefault(templ => templ.Id == mappedItem.TemplateId), items, dateFormat, availableMappings));
            }

            return(result.ToList());
        }
        private List <ItemModel> MapImportItems(List <GCItem> items, List <GCTemplate> templates)
        {
            var model       = new List <ItemModel>();
            var mappedItems = items.Where(i => i.TemplateId != null).ToList();
            var dateFormat  = GcAccountSettings.DateFormat;

            if (string.IsNullOrEmpty(dateFormat))
            {
                dateFormat = Constants.DateFormat;
            }

            foreach (var mappedItem in mappedItems)
            {
                var template          = templates.FirstOrDefault(templ => templ.Id == mappedItem.TemplateId);
                var mappings          = MappingRepository.GetMappingsByGcTemplateId(mappedItem.TemplateId.ToString());
                var availableMappings = mappings.Select(availableMappingModel => new AvailableMapping
                {
                    Id                   = availableMappingModel.MappingId,
                    Title                = availableMappingModel.MappingTitle,
                    DefaultLocationId    = availableMappingModel.DefaultLocationId,
                    DefaultLocationTitle = availableMappingModel.DefaultLocationTitle,
                    CmsTemplateName      = availableMappingModel.CmsTemplate.TemplateName
                }).ToList();

                model.Add(new ItemModel
                {
                    GcItem = new GcItemModel
                    {
                        Id              = mappedItem.Id.ToString(),
                        Title           = mappedItem.Name,
                        LastUpdatedInGc = TimeZoneInfo.ConvertTime(mappedItem.Updated.Date, TimeZoneInfo.Utc, TimeZoneInfo.Local).ToString(dateFormat)
                    },
                    GcTemplate = new GcTemplateModel
                    {
                        Name = template != null ? template.Name : "",
                        Id   = template != null ? template.Id.ToString() : ""
                    },
                    Status = new GcStatusModel
                    {
                        Id    = mappedItem.Status.Data.Id,
                        Name  = mappedItem.Status.Data.Name,
                        Color = mappedItem.Status.Data.Color
                    },
                    AvailableMappings = new AvailableMappings
                    {
                        Mappings = availableMappings
                    },
                    Breadcrumb = GetBreadcrumb(mappedItem, items),
                });
            }
            return(model);
        }