아래에있는 클래스 구조와 같은 관찰 가능한 컬렉션이 있습니다. 목록의 다른 항목과 항목을 비교하십시오.
public class Bids
{
public DateTime StartDateTimeLocal { get; set; }
public DateTime EndDateTimeLocal { get; set; }
public decimal Bid5 { get; set; }
public decimal Price5 { get; set; }
public decimal Bid4 { get; set; }
public decimal Price4 { get; set; }
public decimal Bid3 { get; set; }
public decimal Price3 { get; set; }
public decimal Bid2 { get; set; }
public decimal Price2 { get; set; }
public decimal Bid1 { get; set; }
public decimal Price1 { get; set; }
}
은 내가 관찰 컬렉션의 데이터의 유효성을 검사하는 데 필요한 규칙에 따라 유효 아래와 같이
public ObservableCollection<Bid> Bids {get; set;}
입찰 수집이 보이는 관찰 수집,
StartDateTimeLocal EndDateTimeLocal Bid5 Price5 Bid4 Price4 Bid3 Price3 Bid2 Price2 Bid1 Price1 2014-02-14 23:00 2014-02-14 23:30 0 0 0 0 0 0 50 10 100 100 2014-02-14 23:30 2014-02-15 00:00 0 0 0 0 0 0 10 300 200 10 2014-02-15 00:00 2014-02-15 00:30 0 0 0 0 0 0 100 30 0 10 2014-02-15 03:00 2014-02-15 01:00 0 0 0 0 0 0 30 100 0 0
이 ..
- 입찰가 2는 입찰가 1에 값이 있으면 값입니다. 따라서 입찰가 1이없는 한 입찰가 2의 0이 아닌 값은 유효하지 않습니다. 마찬가지로 bid1, bid2, bid3의 값은 괜찮지 만 bid4에 값이 없으면 bid5의 값이 유효하지 않습니다.
- 입찰가가 올라갈수록 입찰가가 일정하거나 증가해야합니다. 따라서 입찰가 2 가격은 입찰가 1 가격과 동일하거나 더 높아야합니다. 위의 샘플에서
, - Bid1에 값이 없지만 Bid2는 않기 때문에 제 3 & 4 행은 올바르지 않습니다.
- Bid1이 값을 가지고 있으므로 Bid2 값이 괜찮으므로 두 번째 행은 정확합니다. Bid2 가격> Bid1. 입찰 2의 가격은 어떤 일이 유효성 검사를 수행하는 방법을 알려 주시기 바랍니다 수있는 입찰 1
의 < 가격이기 때문에 행 1
잘못된된다.
LINQ는 언어 통합 쿼리를 의미합니다. 귀하를 위해 어떠한 검증도 수행 할 수 없습니다. 좀 더 자세한 내용을 입력하면 사용할 수있는 옵션이 있습니다. 개체를 만들 때 유효성을 검사하려고합니까, UI에서 유효성을 검사하려고합니까, DB 행 등을 삽입 할 때 유효성을 검사하려고합니까? –
개체 입찰은 데이터 격자에 바인딩되어 있으며 버튼 클릭으로 이러한 유효성 검사를 수행하고 있습니다. 개체가 이미 있고 값이 개체에 있습니다. 유효성 검사가 실패하면이 사실을 사용자에게보고하고, 그렇지 않은 경우 데이터베이스에 저장합니다. –
LINQ를 사용하기 전에 비 LINQ 유효성 검사를 시도 했습니까? – MarcinJuraszek