2017-12-12 3 views
0

"클라이언트"를 입력 한 후 열 ("상태")에 "연락 됨"으로 표시되고 15 일 후에 어떻게 나타나는지 알고 싶습니다. 자동으로 "Uncontacted"로 변경됩니다. 내가 성공하지 않는어떻게 열에 삽입하고 시간이 지나면 자동으로 변경합니까?

은 .. 나는 .. 그것은 나에게 아무것도 표시되지 않습니다 ... 열 "날짜 시간"사이에 '선택'과 '상태 "하지만 함께 노력하고 ..

원래 나는 삽입해야합니다. 15 일 후에 자동으로 변경해야합니다.하지만 성공할 수는 없습니다.

+0

1 단계 - 적절한 쿼리를 작성하고 테스트하십시오. 2 단계 - 매일 실행되도록 예약합니다. –

+0

두 개의 열 (1 - 상태 및 2 - 업데이트 날짜)이 필요하며 데이터베이스에서 매일 실행되도록 작업을 생성하고 업데이트 날짜가 X 일 미만일 때 상태를 업데이트 할 쿼리를 실행합니다 –

답변

0

예약 된 작업을 실행하여 부실 클라이언트를 찾고 상태를 "비공개"로 설정하여 C#으로 구현할 수 있습니다. 예 :

var staleClients = Clients.Where(x=> x.DateCreated.AddDays(15) < DateTime.UtcNow); 
staleClients.Status = "Uncontacted"; 
dbContext.Save(); 

예약 된 작업을 실행하기위한 가능한 옵션은 Hangfire입니다.

그렇지 않으면 데이터베이스의 예약 된 작업이 위와 동일한 기능을 수행 할 수 있습니다. 예 :

update Clients 
set status = 'Uncontacted' 
where DateCreated < dateadd(day, -15, getdate()) and status <> 'Uncontacted'