protected override void Constructing(PurchaseOrder entity)
        {
            base.Constructing(entity);
            int i      = 0;
            var rates  = entity.SizeRatios.OrderBy(r => r.DisplayOrder);
            var sizing = entity.SizingStandard;

            if (sizing != null)
            {
                foreach (var item in sizing.Sizings.OrderBy(s => s.DisplayOrder))
                {
                    var ratio = rates.FirstOrDefault(r => r.Caption.Equals(item.Caption));
                    if (ratio == null)
                    {
                        ratio = new POSizeRatio()
                        {
                            Caption      = item.Caption,
                            DisplayOrder = item.DisplayOrder
                        }
                    }
                    ;
                    i++;
                    PutSizeRate(i, ratio);
                }
            }
            else
            {
                foreach (var ratio in rates)
                {
                    i++;
                    PutSizeRate(i, ratio);
                }
            }
        }
 protected virtual Task SetPOSizeRatioDefaults(POSizeRatio pOSizeRatio)
 {
     return(Task.FromResult(default(object)));
 }
        protected void PutSizeRate(int rateNr, POSizeRatio rate)
        {
            switch (rateNr)
            {
            case 1:
                SizeRate1Id  = rate.Id;
                Size1Rate    = rate.Rate;
                Size1Caption = rate.Caption;
                break;

            case 2:
                SizeRate2Id  = rate.Id;
                Size2Rate    = rate.Rate;
                Size2Caption = rate.Caption;
                break;

            case 3:
                SizeRate3Id  = rate.Id;
                Size3Rate    = rate.Rate;
                Size3Caption = rate.Caption;
                break;

            case 4:
                SizeRate4Id  = rate.Id;
                Size4Rate    = rate.Rate;
                Size4Caption = rate.Caption;
                break;

            case 5:
                SizeRate5Id  = rate.Id;
                Size5Rate    = rate.Rate;
                Size5Caption = rate.Caption;
                break;

            case 6:
                SizeRate6Id  = rate.Id;
                Size6Rate    = rate.Rate;
                Size6Caption = rate.Caption;
                break;

            case 7:
                SizeRate7Id  = rate.Id;
                Size7Rate    = rate.Rate;
                Size7Caption = rate.Caption;
                break;

            case 8:
                SizeRate8Id  = rate.Id;
                Size8Rate    = rate.Rate;
                Size8Caption = rate.Caption;
                break;

            case 9:
                SizeRate9Id  = rate.Id;
                Size9Rate    = rate.Rate;
                Size9Caption = rate.Caption;
                break;

            case 10:
                SizeRate10Id  = rate.Id;
                Size10Rate    = rate.Rate;
                Size10Caption = rate.Caption;
                break;

            case 11:
                SizeRate11Id  = rate.Id;
                Size11Rate    = rate.Rate;
                Size11Caption = rate.Caption;
                break;

            case 12:
                SizeRate12Id  = rate.Id;
                Size12Rate    = rate.Rate;
                Size12Caption = rate.Caption;
                break;

            default:
                break;
            }
        }