//public WasteStockDto GetExisWasteStockByWerksAndMaterial(string werks, string materialNumber) //{ // var dbdata = _uow.GetGenericRepository<WASTE_STOCK>().Get(p => p.WERKS == werks && p.MATERIAL_NUMBER == materialNumber).FirstOrDefault(); // return Mapper.Map<WasteStockDto>(dbdata); //} public void UpdateWasteStockFromWaste(WasteStockDto input, string userId) { var dbWasteStock = _repository.Get(c => c.WERKS == input.WERKS && c.MATERIAL_NUMBER == input.MATERIAL_NUMBER) .FirstOrDefault(); var origin = Mapper.Map <WasteStockDto>(dbWasteStock); if (dbWasteStock == null) { dbWasteStock = new WASTE_STOCK(); Mapper.Map <WasteStockDto, WASTE_STOCK>(input, dbWasteStock); dbWasteStock.CREATED_BY = input.CREATED_BY; dbWasteStock.CREATED_DATE = DateTime.Now; } else { //update dbWasteStock.STOCK = input.STOCK; dbWasteStock.MODIFIED_BY = input.CREATED_BY; dbWasteStock.MODIFIED_DATE = DateTime.Now; var dbData = _repository.GetByID(dbWasteStock.WASTE_STOCK_ID); var inputNew = Mapper.Map <WasteStockDto>(dbData); if (inputNew.WASTE_STOCK_ID > 0) { SetChangesHistory(origin, inputNew, userId); } } _repository.InsertOrUpdate(dbWasteStock); }
public WasteStockDto SaveWasteStock(WasteStockSaveInput input) { ValidateWasteStock(input); WASTE_STOCK dbData = null; if (input.WasteStockDto.WASTE_STOCK_ID > 0) { //update dbData = _repository.GetByID(input.WasteStockDto.WASTE_STOCK_ID); if (dbData == null) { throw new BLLException(ExceptionCodes.BLLExceptions.DataNotFound); } //set changes history var origin = Mapper.Map <WasteStockDto>(dbData); SetChangesHistory(origin, input.WasteStockDto, input.UserId); Mapper.Map <WasteStockDto, WASTE_STOCK>(input.WasteStockDto, dbData); dbData.MODIFIED_DATE = DateTime.Now; dbData.MODIFIED_BY = input.UserId; } else { input.WasteStockDto.CREATED_DATE = DateTime.Now; input.WasteStockDto.CREATED_BY = input.UserId; dbData = new WASTE_STOCK(); Mapper.Map <WasteStockDto, WASTE_STOCK>(input.WasteStockDto, dbData); _repository.Insert(dbData); } try { _uow.SaveChanges(); } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; } return(Mapper.Map <WasteStockDto>(dbData)); }