Ejemplo n.º 1
0
        public IDiamond Map(ISupplier supplierDiamond)
        {
            var inv = new T();

            supplierDiamond.ExecuteBeforeMapping();

            switch (pricePolicy)
            {
            case PricePolicy.AsIs:
                inv.totalprice = supplierDiamond.Price;
                break;

            case PricePolicy.MultiplyByWeight:
                inv.totalprice = supplierDiamond.Price * supplierDiamond.Weight;
                break;

            case PricePolicy.MultiplyByWeightAndCalibrate:
                inv.totalprice = supplierDiamond.Price * supplierDiamond.Weight * priceCalibration;
                break;

            case PricePolicy.Calibrate:
                inv.totalprice = supplierDiamond.Price * priceCalibration;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }



            inv.inventory_code = supplierDiamond.InventoryCode;
            inv.supplier_code  = supplierDiamond.SupplierCode;
            inv.clarity        = MapOrDefault("clarity", supplierDiamond.Clarity);
            inv.color          = MapOrDefault("color", supplierDiamond.Color);
            inv.depth          = supplierDiamond.DepthPresentage;
            inv.fluorescence   = MapOrDefault("fluorescence", supplierDiamond.Fluorescence);
            inv.length         = supplierDiamond.Length;
            inv.polish         = MapOrDefault("polish", supplierDiamond.Polish);
            inv.report         = MapOrDefault("report", supplierDiamond.Report);
            inv.shape          = MapOrDefault("shape", supplierDiamond.Shape);
            inv.symmetrical    = MapOrDefault("symmetry", supplierDiamond.Symmetry);
            inv.table          = supplierDiamond.Table;
            inv.width          = supplierDiamond.Width;
            inv.weight         = supplierDiamond.Weight;
            inv.height         = supplierDiamond.Height;

            inv.report_number = supplierDiamond.ReportNumber ?? "0";
            inv.crown         = 1;
            inv.culet         = 1;
            inv.grindle       = supplierDiamond.Girdle;
            inv.reportimg     = "";

            inv.diamondid = supplierDiamond.DiamondID;
            inv.cut       = MapOrDefault("cut", supplierDiamond.Cut);

            return(inv);
        }