Exemplo n.º 1
0
 public Measurement(Entry start, Entry end, Color color, MeasurementLocation location, double rate, string unit)
     : base(start, end, color, MeasurementWidth)
 {
     this.ConversionRate = rate;
     this.Unit           = unit;
     this.Location       = location;
 }
        // GET api/PatternDetails
        public PatternDetailModel Get(string number)
        {
            PatternDetailModel objModel = new PatternDetailModel();

            try
            {
                PatternBO objPattern = new PatternBO();
                objPattern.IsActiveWS = true;
                objPattern.IsActive   = true;
                objPattern.Number     = number;
                objPattern            = objPattern.SearchObjects().SingleOrDefault();

                if (objPattern != null && objPattern.Creator > 0)
                {
                    objModel.Pattern     = objPattern.ID;
                    objModel.Number      = objPattern.Number;
                    objModel.Remarks     = objPattern.Remarks;
                    objModel.Gender      = objPattern.objGender.Name;
                    objModel.Description = objPattern.Description;

                    if ((objPattern.PatternCompressionImage ?? 0) > 0)
                    {
                        objModel.GarmentSpecChartImagePath = PopulatePatternCompressionImage(objPattern);
                    }
                    else
                    {
                        List <MeasurementLocation> lstMLocations = new List <MeasurementLocation>();

                        SizeChartBO objSChart = new SizeChartBO();
                        objSChart.Pattern = objPattern.ID;
                        List <SizeChartBO> lstSizeCharts = objSChart.SearchObjects().Where(o => o.objMeasurementLocation.IsSend == true && o.Val > 0).ToList();

                        List <MeasurementLocationBO> lstLocations = lstSizeCharts.Select(m => m.objMeasurementLocation).Distinct().ToList();

                        IEnumerable <IGrouping <string, MeasurementLocationBO> > lst = lstLocations.GroupBy(m => m.Name);

                        foreach (IGrouping <string, MeasurementLocationBO> objML in lst)
                        {
                            MeasurementLocation location = new MeasurementLocation();
                            location.Name = objML.Key;

                            List <SizeChartBO> lstMSizes = lstSizeCharts.Where(m => m.MeasurementLocation == objML.ElementAtOrDefault(0).ID).ToList();

                            foreach (SizeChartBO objSize in lstMSizes)
                            {
                                location.ListSizes.Add(new Size {
                                    name = objSize.objSize.SizeName, Value = objSize.Val.ToString()
                                });
                            }

                            lstMLocations.Add(location);
                        }

                        objModel.ListMeasurementLocations = lstMLocations;
                    }

                    //Populate Images
                    PatternTemplateImageBO objOtherImage = new PatternTemplateImageBO();
                    objOtherImage.Pattern = objPattern.ID;
                    List <PatternTemplateImageBO> lstOtherImages = objOtherImage.SearchObjects();

                    List <PatternTemplateImageBO> lstOtherImages1 = lstOtherImages.Where(o => o.ImageOrder == 1).ToList();
                    List <PatternTemplateImageBO> lstOtherImages2 = lstOtherImages.Where(o => o.ImageOrder == 2).ToList();
                    List <PatternTemplateImageBO> lstOtherImages3 = lstOtherImages.Where(o => o.ImageOrder == 3).ToList();

                    objModel.GarmentImagePath1    = TemplateImagePath(lstOtherImages1);
                    objModel.GarmentImagePath2    = TemplateImagePath(lstOtherImages2);
                    objModel.GarmentImagePath3    = TemplateImagePath(lstOtherImages3);
                    objModel.GarmentSpecImagePath = TemplateImagePath(lstOtherImages.Where(o => o.IsHero).ToList(), true);
                }
            }
            catch (Exception ex)
            {
                objModel.Ex = ex;
            }

            return(objModel);
        }