public async Task <ServiceResponse <GetMovementStockDto> > GetMovementStockById(int MovementStockId) { Models.MovementStock stock; try { //FirstOrDefaultAsync(x=> x.Id == productId) >>>> select with condition stock = await _dBContext.MovementStocks.Include(x => x.Product). Include(x => x.MovementType). FirstOrDefaultAsync(x => x.Id == MovementStockId); } catch (System.Exception ex) { //Write log _log.LogError($"Get MovementStockById({MovementStockId}) is error detail: {ex.Message}"); //Return return(ResponseResult.Failure <GetMovementStockDto>($"{MovementStockId} is error to find")); } //Validate if null if (stock != null) { //mapping and return result GetMovementStockDto stockDto = _mapper.Map <GetMovementStockDto>(stock); return(ResponseResult.Success(stockDto)); } else { //return not found result return(ResponseResult.Failure <GetMovementStockDto>($"{MovementStockId} is not found")); } }
public async Task <ServiceResponse <GetMovementStockDto> > EditMovementStock(EditMovementStockDto MovementStock) { //Find product from id var stock = await _dBContext.MovementStocks.FirstOrDefaultAsync(x => x.Id == MovementStock.Id); //return if not found if (stock == null) { return(ResponseResult.Failure <GetMovementStockDto>($"MovementStock Id '{MovementStock.Id}' is not found")); } //Find Product id var product = await _dBContext.Products.FirstOrDefaultAsync(x => x.Id == MovementStock.ProductId); if (product == null) { return(ResponseResult.Failure <GetMovementStockDto>($"Product Id {MovementStock.ProductId} is not found")); } //Find MovementType id var moveType = await _dBContext.MovementTypes.FirstOrDefaultAsync(x => x.Id == MovementStock.MovementTypeId); if (moveType == null) { return(ResponseResult.Failure <GetMovementStockDto>($"MovementType Id {MovementStock.MovementTypeId} is not found")); } //let's update data try { stock.ProductId = MovementStock.ProductId; stock.MovementTypeId = MovementStock.MovementTypeId; stock.Quantity = MovementStock.Quantity; stock.CreateById = Guid.Parse(GetUserId()); stock.CreateDate = Now(); stock.ExpiredDate = Now(); stock.Remark = MovementStock.Remark; //code update data _dBContext.Update(stock); //Save update above await _dBContext.SaveChangesAsync(); //Get productDto to return GetMovementStockDto stockDto = _mapper.Map <GetMovementStockDto>(stock); return(ResponseResult.Success(stockDto)); } catch (System.Exception ex) { //Write log _log.LogError($"Update MovementStock is error detail: {ex.Message}"); //Return return(ResponseResult.Failure <GetMovementStockDto>($"Update MovementStock error detail: {ex.Message}")); } }