public async Task <IActionResult> Create([Bind("ConditionId,UserId,PieceId,Value")] UserPiece userPiece, int ID) { if (ModelState.IsValid) { var user = await GetCurrentUserAsync(); userPiece.UserId = user.Id; userPiece.PieceId = ID; ModelState.Remove("usePiece.Id"); userPiece.Piece = _context.Piece.Where(p => p.ID == userPiece.PieceId).FirstOrDefault(); userPiece.Condition = _context.Condition.Where(c => c.Id == userPiece.ConditionId).FirstOrDefault(); if (userPiece.Piece.AveragePrice != 0) { userPiece.Value = userPiece.Condition.ValueMeasure * userPiece.Piece.AveragePrice; } else { userPiece.Value = userPiece.Condition.ValueMeasure * userPiece.Piece.RetailPrice; } _context.Add(userPiece); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["ConditionId"] = new SelectList(_context.Condition, "Id", "Name", userPiece.ConditionId); return(View(userPiece)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,ConditionId,UserId,PieceId,Value,Piece,Condition")] UserPiece userPiece) { if (id != userPiece.Id) { return(NotFound()); } if (ModelState.IsValid) { try { userPiece.Piece = _context.Piece.Where(p => p.ID == userPiece.PieceId).FirstOrDefault(); userPiece.Condition = _context.Condition.Where(c => c.Id == userPiece.ConditionId).FirstOrDefault(); if (userPiece.Piece.AveragePrice != 0) { userPiece.Value = userPiece.Condition.ValueMeasure * userPiece.Piece.AveragePrice; } else { userPiece.Value = userPiece.Condition.ValueMeasure * userPiece.Piece.RetailPrice; } _context.Update(userPiece); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!UserPieceExists(userPiece.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(userPiece)); }