예제 #1
0
        public void CreateOrUpdate(ListingFBAEstFeeDTO listing, DateTime?when)
        {
            var dbListing = GetFiltered(l => l.SKU == listing.SKU).FirstOrDefault();

            if (dbListing != null)
            {
                dbListing.ASIN       = listing.ASIN;
                dbListing.YourPrice  = listing.YourPrice;
                dbListing.SalesPrice = listing.SalesPrice;
                dbListing.Currency   = listing.Currency;

                dbListing.EstimatedFee = listing.EstimatedFee;
                dbListing.EstimatedReferralFeePerUnit       = listing.EstimatedReferralFeePerUnit;
                dbListing.EstimatedVariableClosingFee       = listing.EstimatedVariableClosingFee;
                dbListing.EstimatedOrderHandlingFeePerOrder = listing.EstimatedOrderHandlingFeePerOrder;
                dbListing.EstimatedPickPackFeePerUnit       = listing.EstimatedPickPackFeePerUnit;
                dbListing.EstimatedWeightHandlingFeePerUnit = listing.EstimatedWeightHandlingFeePerUnit;

                dbListing.UpdateDate = when;
            }
            else
            {
                dbListing = new ListingFBAEstFee();

                dbListing.SKU        = listing.SKU;
                dbListing.ASIN       = listing.ASIN;
                dbListing.YourPrice  = listing.YourPrice;
                dbListing.SalesPrice = listing.SalesPrice;
                dbListing.Currency   = listing.Currency;

                dbListing.EstimatedFee = listing.EstimatedFee;
                dbListing.EstimatedReferralFeePerUnit       = listing.EstimatedReferralFeePerUnit;
                dbListing.EstimatedVariableClosingFee       = listing.EstimatedVariableClosingFee;
                dbListing.EstimatedOrderHandlingFeePerOrder = listing.EstimatedOrderHandlingFeePerOrder;
                dbListing.EstimatedPickPackFeePerUnit       = listing.EstimatedPickPackFeePerUnit;
                dbListing.EstimatedWeightHandlingFeePerUnit = listing.EstimatedWeightHandlingFeePerUnit;

                dbListing.CreateDate = when;

                unitOfWork.ListingFBAEstFees.Add(dbListing);
            }

            unitOfWork.Commit();
        }
예제 #2
0
        public IReportItemDTO Parse(string[] fields, string[] headers)
        {
            //string[] fields = line.Split('	');
            if (fields.Length < Length)
            {
                return(null);
            }
            var item = new ListingFBAEstFeeDTO();

            for (var i = 0; i < fields.Length; i++)
            {
                try
                {
                    var val = fields[i];
                    switch (i)
                    {
                    case SKU:
                        item.SKU = val;
                        break;

                    case ASIN:
                        item.ASIN = val;
                        break;

                    case YourPrice:
                        item.YourPrice = LineParserHelper.GetPrice(val);
                        break;

                    case SalesPrice:
                        item.SalesPrice = LineParserHelper.GetPrice(val);
                        break;

                    case Currency:
                        item.Currency = val;
                        break;

                    case EstimatedFee:
                        item.EstimatedFee = LineParserHelper.GetPrice(val);
                        break;

                    case EstimatedReferralFeePerUnit:
                        item.EstimatedReferralFeePerUnit = LineParserHelper.GetPrice(val);
                        break;

                    case EstimatedVariableClosingFee:
                        item.EstimatedVariableClosingFee = LineParserHelper.GetPrice(val);
                        break;

                    case EstimatedOrderHandlingFeePerOrder:
                        item.EstimatedOrderHandlingFeePerOrder = LineParserHelper.GetPrice(val);
                        break;

                    case EstimatedPickPackFeePerUnit:
                        item.EstimatedPickPackFeePerUnit = LineParserHelper.GetPrice(val);
                        break;

                    case EstimatedWeightHandlingFeePerUnit:
                        item.EstimatedWeightHandlingFeePerUnit = LineParserHelper.GetPrice(val);
                        break;
                    }
                }
                catch (Exception ex)
                {
                    _log.Error(string.Format("Unable to parse field: {0}", fields[i]), ex);
                }
            }
            return(item);
        }