2014-04-07 3 views
0

몇 가지 도움이 필요한 질문이 있습니다. 나는 이벤트를 예약하는 시스템을 가지고 있으며 '이벤트'테이블에 저장된 데이터를 기반으로 '약속'정보를 얻어야합니다. 그래서 여기에 내 질문이있다.데이터베이스의 데이터를 기반으로 시간 간격 생성

'StartDateTime', 'EndDateTime'및 'Duration'(이벤트 당 고정 된 약속 시간 동안)이있는 테이블이 있습니다. '시작'및 '끝'을 기반으로 시간 간격을 자동으로 생성하지 않습니다. Time Interval (시간 간격)의 'Duration (지속 시간)'을 사용하여 그런 다음 시스템이 가능한 모든 시간을 테이블에 반환하여 이미 예약 된 것을 표시하려고합니다.

저는 TimeSpan을 사용하여 TimeInterval에 대해 StartDateTime Variable 및 EndDateTime Variable에 DateTime을 사용하고 있습니다. 이 온라인의 몇 가지 예를 발견했지만 현재 다음 DateTime 형식 (dd/MM/yyyy HH : mm : ss)을 제외한 나머지 항목을 가져올 수 없습니다.

사람이 어떤 질문이 있습니까 (예 : 코드 오늘 나중에 게시 할 예정입니다)?

를 STARTTIME 및 ENDTIME I에 대한 자세한 나는 내 자신의 질문의 두 부분에 대한 해결책을 마련하기 위해 관리 파고와 내 자신의 질문 불구하고 읽는 조금, 내가 울부 짖는 코드의 일부를 게시 한 후

+0

_StartDateTime_, _EndDateTime_ 및 _Duration_ 요소에 대해 C#에서 사용하는 데이터 유형 (또는 C#에서 사용하려는 데이터 유형)은 무엇입니까? 나는 각각'DateTime','DateTime','TimeSpan'을 가정 하겠지만, 여러분의 질문은이 시점에서 _not_ 클리어입니다. –

+0

좀 더 구체적으로 기재 할 수 있습니까? 귀하의 질문은 "나에게 무료 코드"를주는 것처럼 들립니다. 너 뭐 해봤 니? – Vlad

+0

블라드, 나는 당신의 응답 상태가 '내가 할 수있는 일이 무엇인지 이해하고 직접 조작 할 수 있기 때문에 자신의 코드를 작성하는 것을 선호한다'는 '무료 코드'를 원하지 않습니다. DateTime (StartDateTime) DateTime (EndDateTime) 및 TimeSpan (간격) 사용하여 찾고 있습니다. 내가 찾은 예제는 DateTime의 입력을 받아들이지 만 '-'또는 '/'대신에 사용하는 커머를 사용하고 있으며 현재 데이터베이스에서 반환 된 Renault를 사용하여 작동하도록 할 수 없습니다. 내가 집에 갈 때 나는 사용하려고 노력하고있는 코드를 붙여 넣을 것이다. – tparky

답변

1

DateTime 변수 유형을 사용하고 다음이 섹션의 TimeSpan을 사용하는 간격에 대해 HH : mm (16:10) 형식의 문자열로 변환합니다. 나는 함수에 대한 입력으로 3 개의 변수를 가지고 있으며, 그 다음 스크립트 내에서이 변수들을 호출한다. 그리고 나서 예약이 존재하는지 검사하기 위해 외부 함수를 호출한다.

 Table AppointmentTable = new Table(); 
     DateTime time = startTime; 
     while (time <= endTime) 
     { 
      TableRow tblr_row = new TableRow(); 
      TableCell tblc_cell = new TableCell(); 
      TableCell tblc_time = new TableCell(); 
      try 
      { 
       if(Appointments.checkIfBookingExsists(time) == true) 
       { 
        tblc_time.Text = time.ToString("HH:mm"); 
        tblc_cell.Text = "Booked"; 
        tblc_cell.CssClass = "Booked"; 
       } 
       else if(Appointments.checkIfBookingExsists(time) == false) 
       { 
        tblc_time.Text = time.ToString("HH:mm"); 
        tblc_cell.Text = "Book"; 
        tblc_cell.CssClass = "Book"; 
       } 

      } 
      catch (Exception ex) 
      { 
       tblc_time.Text = time.ToString("HH:mm"); 
       tblc_cell.Text = ex.Message; 
      } 
      tblc_time.CssClass = "tableCell"; 
      tblr_row.Controls.Add(tblc_time); 
      tblr_row.Controls.Add(tblc_cell); 
      AppointmentTable.CssClass = "table1"; 
      AppointmentTable.Controls.Add(tblr_row); 
      //Move interval 16:10 > 16:20 interval 10 minutes 
      time = time.Add(interval); 
     } 
     Page.Controls.Add(AppointmentTable); 

난 그냥 '무료 CODE'하지만 응용 프로그램 개발에 관심을 가지고 열심히 네트워크 엔지니어를 찾고 있습니다 사람들 중 하나가 아닙니다. 나는 항상 내 자신의 문제를 해결하려고 노력하지만 때로는 도움을 요청할 것입니다. 나는 그 질문에 대한 설명이 '벌거 벗고 스케치 스럽다'는 것을 이해하지만 결국에는 해결책을 찾았다.

다른 사람이이 코드를 사용할 수 있기를 바랍니다. :)