示例#1
0
        private List <SelectListItem> GetBorderWidthListItems(MKit_Kit kit)
        {
            var standardBorderWidths = new List <SelectListItem>();

            {
                standardBorderWidths.Add(new SelectListItem()
                {
                    Text  = "No Border",
                    Value = VALUE_NONE
                });

                foreach (var svcStandardDimension in kit.SpecificationOptions.StandardBorderWidths)
                {
                    standardBorderWidths.Add(new SelectListItem()
                    {
                        Text  = svcStandardDimension.Length,
                        Value = svcStandardDimension.Id
                    });
                }

                standardBorderWidths.Add(new SelectListItem()
                {
                    Text  = "Custom Size",
                    Value = VALUE_CUSTOM
                });
            }

            return(standardBorderWidths);
        }
示例#2
0
        public KitEditModel CreateKitEditModel(MKit_Kit mKit)
        {
            var specification = CreateKitSpecificationEditModel(mKit);

            var detail = new KitEditModel()
            {
                Detail        = KitDetailVcModel.Create(mKit),
                Specification = specification
            };

            return(detail);
        }
示例#3
0
        public async Task <bool> SaveKitAsync(string userId, MKit_Kit kit)
        {
            using var log = BeginFunction(nameof(KitMicroService), nameof(SaveKitAsync), userId, kit);
            try
            {
                await Assert(SecurityPolicy.IsAuthorized, userId).ConfigureAwait(false);

                throw new NotImplementedException();
            }
            catch (Exception ex)
            {
                log.Exception(ex);
                throw;
            }
        }
示例#4
0
            public static KitDetailVcModel CreateKitDetailModel(MKit_Kit kit)
            {
                var parts         = CreateKitDetailPartModels(kit);
                var skuNames      = CreateSkuNames(parts);
                var buildSteps    = CreateKitDetailBuildStepModels(kit, skuNames);
                var specification = CreateKitDetailSpecificationModel(kit, skuNames);

                var result = new KitDetailVcModel()
                {
                    ProjectId     = kit.ProjectId,
                    DesignId      = kit.DesignId,
                    KitName       = kit.ProjectName,
                    KitImage      = kit.Image,
                    Specification = specification,
                    Parts         = parts,
                    BuildSteps    = buildSteps
                };

                return(result);
            }
示例#5
0
        private List <SelectListItem> GetSizeListItems(MKit_Kit kit)
        {
            var standardSizes = new List <SelectListItem>();

            {
                foreach (var svcStandardSize in kit.SpecificationOptions.StandardSizes)
                {
                    standardSizes.Add(new SelectListItem()
                    {
                        Text  = svcStandardSize.Width + " x " + svcStandardSize.Height + " (" + svcStandardSize.Description + ")",
                        Value = svcStandardSize.Id
                    });
                }

                standardSizes.Add(new SelectListItem()
                {
                    Text  = "Custom Size",
                    Value = VALUE_CUSTOM
                });
            }

            return(standardSizes);
        }
示例#6
0
            private static List <KitDetailPartVcModel> CreateKitDetailPartModels(MKit_Kit kit)
            {
                var parts = new List <KitDetailPartVcModel>();

                {
                    foreach (var servicePart in kit.Parts)
                    {
                        var part = new KitDetailPartVcModel()
                        {
                            Id           = servicePart.Id,
                            Sku          = servicePart.Sku,
                            Size         = GetUnitOfMeasureText(servicePart.UnitOfMeasure),
                            Quantity     = servicePart.Quantity,
                            WebColor     = servicePart.WebColor,
                            Description  = servicePart.Description,
                            Manufacturer = servicePart.Manufacturer,
                            Collection   = servicePart.Collection
                        };
                        parts.Add(part);
                    }
                }

                return(parts);
            }
示例#7
0
            private static List <KitDetailBuildStepVcModel> CreateKitDetailBuildStepModels(MKit_Kit kit, Dictionary <string, string> skuNames)
            {
                var buildSteps = new List <KitDetailBuildStepVcModel>();

                {
                    foreach (var serviceBuildStep in kit.BuildSteps)
                    {
                        var consumes = new List <KitDetailBuildItemVcModel>();
                        foreach (var input in serviceBuildStep.Consumes)
                        {
                            string skuName1 = null;
                            if (input.Sku1 != null && skuNames.ContainsKey(input.Sku1))
                            {
                                skuName1 = skuNames[input.Sku1];
                            }

                            string skuName2 = null;
                            if (input.Sku2 != null && skuNames.ContainsKey(input.Sku2))
                            {
                                skuName2 = skuNames[input.Sku2];
                            }

                            consumes.Add(new KitDetailBuildItemVcModel()
                            {
                                Id          = input.Id,
                                Name        = input.Name,
                                Quantity    = input.Quantity,
                                Width       = input.Width,
                                Height      = input.Height,
                                Sku1        = input.Sku1,
                                Sku2        = input.Sku2,
                                SkuName1    = skuName1,
                                SkuName2    = skuName2,
                                WebColor1   = input.WebColor1,
                                WebColor2   = input.WebColor2,
                                PartId      = input.PartId,
                                Image       = input.Image?.Image,
                                ImageWidth  = input.Image?.Width ?? 0,
                                ImageHeight = input.Image?.Height ?? 0
                            });
                        }

                        var produces = new List <KitDetailBuildItemVcModel>();
                        foreach (var output in serviceBuildStep.Produces)
                        {
                            string skuName1 = null;
                            if (output.Sku1 != null && skuNames.ContainsKey(output.Sku1))
                            {
                                skuName1 = skuNames[output.Sku1];
                            }

                            string skuName2 = null;
                            if (output.Sku2 != null && skuNames.ContainsKey(output.Sku2))
                            {
                                skuName2 = skuNames[output.Sku2];
                            }

                            produces.Add(new KitDetailBuildItemVcModel()
                            {
                                Id          = output.Id,
                                Name        = output.Name,
                                Quantity    = output.Quantity,
                                Width       = output.Width,
                                Height      = output.Height,
                                Sku1        = output.Sku1,
                                Sku2        = output.Sku2,
                                SkuName1    = skuName1,
                                SkuName2    = skuName2,
                                WebColor1   = output.WebColor1,
                                WebColor2   = output.WebColor2,
                                Image       = output.Image?.Image,
                                ImageWidth  = output.Image?.Width ?? 0,
                                ImageHeight = output.Image?.Height ?? 0
                            });
                        }

                        var buildStep = new KitDetailBuildStepVcModel()
                        {
                            Description = serviceBuildStep.Description,
                            Consumes    = consumes,
                            Produces    = produces
                        };
                        buildSteps.Add(buildStep);
                    }
                }

                return(buildSteps);
            }
示例#8
0
            private static KitDetailSpecificationVcModel CreateKitDetailSpecificationModel(MKit_Kit kit, Dictionary <string, string> skuNames)
            {
                string border = kit.Specification.BorderWidth != @"0"""
                    ? skuNames[kit.Specification.BorderFabricStyle.Sku] + " (" + kit.Specification.BorderWidth + ")"
                    : "(None)";

                string binding = kit.Specification.BindingWidth != @"0"""
                    ? skuNames[kit.Specification.BindingFabricStyle.Sku] + " (" + kit.Specification.BindingWidth + ")"
                    : "(None)";

                string backing = kit.Specification.HasBacking
                    ? skuNames[kit.Specification.BackingFabricStyle.Sku]
                    : "(None)";

                var result = new KitDetailSpecificationVcModel()
                {
                    Size          = kit.Specification.TotalWidth + " X " + kit.Specification.TotalHeight,
                    Border        = border,
                    Binding       = binding,
                    Backing       = backing,
                    TrimTriangles = kit.Specification.TrimTriangles
                };

                return(result);
            }
示例#9
0
 public static KitDetailVcModel Create(MKit_Kit kit)
 {
     return(Factory.CreateKitDetailModel(kit));
 }
示例#10
0
        private KitSpecificationEditModel CreateKitSpecificationEditModel(MKit_Kit kit)
        {
            var sizeListItems = GetSizeListItems(kit);

            // Determine selected list item.
            //
            var sizeListItemValue = VALUE_CUSTOM; // Assume custom value.

            foreach (var svcStandardSize in kit.SpecificationOptions.StandardSizes)
            {
                if (svcStandardSize.Width == kit.Specification.Width && svcStandardSize.Height == kit.Specification.Height)
                {
                    sizeListItemValue = svcStandardSize.Id;
                    break;
                }
            }

            var borderWidthListItems = GetBorderWidthListItems(kit);

            // Determine selected list item.
            //
            string borderWidthListItemValue;

            if (kit.Specification.BorderWidth == ZERO_INCHES)
            {
                borderWidthListItemValue = VALUE_NONE;
            }
            else
            {
                borderWidthListItemValue = VALUE_CUSTOM; // Assume custom value.
                foreach (var svcStandardDimension in kit.SpecificationOptions.StandardBorderWidths)
                {
                    if (svcStandardDimension.Length == kit.Specification.BorderWidth)
                    {
                        borderWidthListItemValue = svcStandardDimension.Id;
                        break;
                    }
                }
            }

            var bindingWidthListItems = GetBindingWidthListItems(kit);

            // Determine selected list item.
            //
            string bindingWidthListItemValue;

            if (kit.Specification.BindingWidth == ZERO_INCHES)
            {
                bindingWidthListItemValue = VALUE_NONE;
            }
            else
            {
                bindingWidthListItemValue = VALUE_CUSTOM; // Assume custom value.
                foreach (var svcStandardDimension in kit.SpecificationOptions.StandardBindingWidths)
                {
                    if (svcStandardDimension.Length == kit.Specification.BindingWidth)
                    {
                        bindingWidthListItemValue = svcStandardDimension.Id;
                        break;
                    }
                }
            }

            var specification = new KitSpecificationEditModel()
            {
                Sizes = sizeListItems,
                Size  = sizeListItemValue,
                //UseCustomSize = sizeListItemValue == VALUE_CUSTOM,
                CustomSizeWidth  = kit.Specification.Width,
                CustomSizeHeight = kit.Specification.Height,

                BorderFabricStyle = CreateCommonColorModel(kit.Specification.BorderFabricStyle),
                BorderWidths      = borderWidthListItems,
                BorderWidth       = borderWidthListItemValue,
                //UseCustomBorderWidth = borderWidthListItemValue == VALUE_CUSTOM,
                CustomBorderWidth = kit.Specification.BorderWidth,
                //HasBorder = kit.Specification.BorderWidth != ZERO_INCHES,

                BindingFabricStyle = CreateCommonColorModel(kit.Specification.BindingFabricStyle),
                BindingWidths      = bindingWidthListItems,
                BindingWidth       = bindingWidthListItemValue,
                //UseCustomBindingWidth = bindingWidthListItemValue == VALUE_CUSTOM,
                CustomBindingWidth = kit.Specification.BindingWidth,
                //HasBinding = kit.Specification.BindingWidth != ZERO_INCHES,

                BackingFabricStyle = CreateCommonColorModel(kit.Specification.BackingFabricStyle),
                HasBacking         = kit.Specification.HasBacking,

                TrimTriangles = kit.Specification.TrimTriangles
            };

            return(specification);
        }