public void Update(PosOrderMapping instance) { if (instance == null) { throw new ArgumentNullException(); } this._repository.Update(instance); }
/// <summary> /// parse txt format into pos entity /// 1. get pos mapping order number /// 2. start from startLine /// 3. replace "" characters /// 4. by SplitChar /// 5. put error message in parent list /// </summary> /// <param name="_Model"></param> /// <param name="filePath"></param> /// <returns></returns> public override IQueryable <Pos> ParsePos(int _Model, string filePath) { IQueryable <Pos> _PosList; List <Pos> _PosDataList = new List <Pos>(); PosOrderMapping _PosOrderMapping = _posOrderMappingService.GetByID(_Model); int startLine = _PosOrderMapping.Start; int lineCount = File.ReadAllLines(filePath).Skip((startLine)).Count(); var fileLines = File.ReadAllLines(filePath).Skip((startLine)).Take(lineCount).ToList(); foreach (string line in fileLines) { try { startLine++; //replace "" characters string _Line = line.Replace(_PosOrderMapping.SplitChar, "▲"); string[] temp = _Line.Replace((char)34, (char)32).Trim().Split('▲'); if (temp.Count() > 32) { Pos _Pos = new Pos(); _Pos.Address = _PosOrderMapping.Address != null ? temp[Convert.ToInt32(_PosOrderMapping.Address)].Trim() : ""; _Pos.City = _PosOrderMapping.City != null ? temp[Convert.ToInt32(_PosOrderMapping.City)].Trim() : ""; _Pos.State = _PosOrderMapping.State != null ? temp[Convert.ToInt32(_PosOrderMapping.State)].Trim() : ""; _Pos.ZIP = _PosOrderMapping.ZIP != null ? temp[Convert.ToInt32(_PosOrderMapping.ZIP)].Trim() : ""; _Pos.Series = _PosOrderMapping.Series != null ? temp[Convert.ToInt32(_PosOrderMapping.Series)].Trim() : ""; _Pos.PartNo = _PosOrderMapping.PartNo != null ? temp[Convert.ToInt32(_PosOrderMapping.PartNo)].Trim() : ""; if (_PosOrderMapping.Quantity != null) { _Pos.Quantity = temp[Convert.ToInt32(_PosOrderMapping.Quantity)].Trim().ToString() != "" ? Convert.ToInt32(temp[Convert.ToInt32(_PosOrderMapping.Quantity)].Trim()) : 0; } _Pos.InvoiceNo = _PosOrderMapping.InvoiceNo != null ? temp[Convert.ToInt32(_PosOrderMapping.InvoiceNo)].Trim() : ""; _Pos.InvoiceDate = _PosOrderMapping.InvoiceDate != null ? temp[Convert.ToInt32(_PosOrderMapping.InvoiceDate)].Trim() : ""; if (_PosOrderMapping.Cost != null) { _Pos.Cost = temp[Convert.ToInt32(_PosOrderMapping.Cost)].Trim().ToString() != "" ? Convert.ToDecimal(temp[Convert.ToInt32(_PosOrderMapping.Cost)].Trim()) : 0; } if (_PosOrderMapping.Price != null) { _Pos.Price = temp[Convert.ToInt32(_PosOrderMapping.Price)].Trim().ToString() != "" ? Convert.ToDecimal(temp[Convert.ToInt32(_PosOrderMapping.Price)].Trim()) : 0; } if (_PosOrderMapping.ResellingExt != null) { _Pos.ResellingExt = temp[Convert.ToInt32(_PosOrderMapping.ResellingExt)].Trim().ToString() != "" ? Convert.ToDecimal(temp[Convert.ToInt32(_PosOrderMapping.ResellingExt)].Trim()) : 0; } _Pos.ACCT = _PosOrderMapping.ACCT != null ? temp[Convert.ToInt32(_PosOrderMapping.ACCT)].Trim() : ""; _Pos.CustomerName = _PosOrderMapping.CustomerName != null ? temp[Convert.ToInt32(_PosOrderMapping.CustomerName)].Trim() : ""; _Pos.MarketCode = _PosOrderMapping.MarketCode != null ? temp[Convert.ToInt32(_PosOrderMapping.MarketCode)].Trim() : ""; _Pos.Market = _PosOrderMapping.Market != null ? temp[Convert.ToInt32(_PosOrderMapping.Market)].Trim() : ""; _Pos.SubSegmentCode = _PosOrderMapping.SubSegmentCode != null ? temp[Convert.ToInt32(_PosOrderMapping.SubSegmentCode)].Trim() : ""; _Pos.SubSegment = _PosOrderMapping.SubSegment != null ? temp[Convert.ToInt32(_PosOrderMapping.SubSegment)].Trim() : ""; _Pos.Remarks = _PosOrderMapping.Remarks != null ? temp[Convert.ToInt32(_PosOrderMapping.Remarks)].Trim() : ""; _Pos.CustomerPO = _PosOrderMapping.CustomerPO != null ? temp[Convert.ToInt32(_PosOrderMapping.CustomerPO)].Trim() : ""; _Pos.ShipDate = _PosOrderMapping.ShipDate != null ? temp[Convert.ToInt32(_PosOrderMapping.ShipDate)].Trim() : ""; if (_Pos.ShipDate != "") { _Pos.ShipDate2 = _Pos.ShipDate; DateTime _ShipDate2 = DateTime.ParseExact(_Pos.ShipDate, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture); string _Day = Convert.ToDateTime(_ShipDate2).Day.ToString(); _Pos.ShipMonth = Convert.ToDateTime(_ShipDate2).ToString("MMMM", new System.Globalization.CultureInfo("en-us")).Substring(0, 3) + "," + _Day; _Pos.ShipQuarter = this._commonFileService.GetQuarter(Convert.ToDateTime(_ShipDate2).Month); } _Pos.CountryCode = _PosOrderMapping.CountryCode != null ? temp[Convert.ToInt32(_PosOrderMapping.CountryCode)].Trim() : ""; _Pos.Country = this._countryService.GetByCode(_Pos.CountryCode).EnglishName; _Pos.Region = this._countryService.GetByCode(_Pos.CountryCode).Region; _Pos.Status = "T"; _PosDataList.Add(_Pos); } } catch (Exception ex) { this.ListError.Add(" row : " + startLine.ToString() + " ,txt row data has error format:" + ex.Message + "\r\n data:" + line); } } _PosList = _PosDataList.AsQueryable(); return(_PosList); }