public string AddPAKitLoc(IMES.DataModel.PAKitLocDef item) { string id = ""; if(item!=null) { try { FisException ex; IList<PAKitLoc> pakRes=itemRepository.GetPAKitlocByPdLine(item.pdLine); if(pakRes!=null) { foreach(PAKitLoc loc in pakRes) { if(loc.partNo.Trim().ToLower()==item.partNo.Trim().ToLower()) { List<string> param = new List<string>(); ex = new FisException("DMT080", param); throw ex; } } } PAKitLoc addLoc = new PAKitLoc(); addLoc.location = item.location; addLoc.partNo = item.partNo; addLoc.pdLine = item.pdLine; addLoc.station = item.station; addLoc.descr = item.Descr; addLoc.editor = item.editor; addLoc.udt = DateTime.Now; addLoc.cdt = DateTime.Now; IUnitOfWork uo = new UnitOfWork(); itemRepository.AddPAKitLocDefered(uo, addLoc); IList<PAKitLoc> pakLst=itemRepository.GetPAKitlocByStation(item.station); foreach(PAKitLoc loc in pakLst){ if (loc.location != item.location) { loc.location = item.location; itemRepository.UpdatePAKitLocDefered(uo, loc); } } //itemRepository.AddPAKitLoc(addLoc); uo.Commit(); id = addLoc.id.ToString(); } catch(Exception ee) { logger.Error(ee.Message); throw; } } return id; }
public void UpdatePAKitLoc(IMES.DataModel.PAKitLocDef newItem) { try { FisException ex=null; Boolean duplicateFlag = false, notExistFlag = true; IList<PAKitLoc> pakRes = itemRepository.GetPAKitlocByPdLine(newItem.pdLine); if (pakRes != null) { foreach (PAKitLoc loc in pakRes) { if (loc.id == newItem.id) { notExistFlag = false; } if (loc.id!=newItem.id&&loc.partNo.Trim().ToLower() == newItem.partNo.Trim().ToLower()) { duplicateFlag = true; } } if (notExistFlag) { List<string> param = new List<string>(); ex = new FisException("DMT083", param); throw ex; } else if (duplicateFlag) { List<string> param = new List<string>(); ex = new FisException("DMT080", param); throw ex; } } PAKitLoc updateLoc = new PAKitLoc(); updateLoc.udt = DateTime.Now; updateLoc.id = newItem.id; updateLoc.location = newItem.location; updateLoc.partNo = newItem.partNo; updateLoc.pdLine = newItem.pdLine; updateLoc.station = newItem.station; updateLoc.descr = newItem.Descr; updateLoc.editor = newItem.editor; IUnitOfWork uo = new UnitOfWork(); //itemRepository.UpdatePAKitLoc(updateLoc); itemRepository.UpdatePAKitLocDefered(uo, updateLoc); //IList<PAKitLoc> pakLst=itemRepository.GetPAKitlocByStation(newItem.station); IList<PAKitLoc> pakLst = itemRepository.GetPAKitlocByStationAndPdLine(newItem.station, newItem.pdLine); foreach (PAKitLoc loc in pakLst) { if (loc.location != newItem.location) { loc.location = newItem.location; loc.editor = newItem.editor; itemRepository.UpdatePAKitLocDefered(uo, loc); } } uo.Commit(); } catch(Exception ee) { logger.Error(ee.Message); throw; } }