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(); }
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); }