public void Update(DhlRateCodePriceDTO rate) { var existEntry = Get(rate.Id); if (existEntry != null) { existEntry.Price = rate.Price; } unitOfWork.Commit(); }
public long Store(DhlRateCodePriceDTO rate) { var entity = new DhlRateCodePrice() { ProductCode = rate.ProductCode, Package = rate.Package, RateCode = rate.RateCode, Weight = rate.Weight, Price = rate.Price, }; Add(entity); unitOfWork.Commit(); return(entity.Id); }
public IList <DhlRateCodePriceDTO> GetRatesFromFile(string filePath) { StreamReader streamReader = new StreamReader(filePath); CsvReader reader = new CsvReader(streamReader, new CsvConfiguration { HasHeaderRecord = true, Delimiter = ",", TrimFields = true, }); //Weight,A,B,C,D,E,F,G,H1,H2,I,L,M,J,K,N,P //Product, Package, Weight, A, B, ... var filename = Path.GetFileName(filePath); var results = new List <DhlRateCodePriceDTO>(); while (reader.Read()) { var productCode = reader.GetField <string>("Product"); if (String.IsNullOrEmpty(productCode)) { continue; } var package = reader.GetField <string>("Package"); var weight = double.Parse(reader.GetField <string>("Weight").Replace("lb", "").Trim()); for (int i = 3; i < reader.CurrentRecord.Length; i++) { var rate = new DhlRateCodePriceDTO(); rate.ProductCode = productCode; rate.Package = package; rate.Price = decimal.Parse(reader.GetField <string>(i).Replace("$", "").Trim()); rate.RateCode = reader.FieldHeaders[i]; rate.Weight = weight; results.Add(rate); } } _log.Info("File was processed, file: " + filename + ", records: " + results.Count); return(results); }