Как связать полный календарь v 1.5.3 с MS SQL Server, используя asp.net C # / VB - PullRequest
0 голосов
/ 02 марта 2012

Я успешно соединил FullCalendar v1.4.2 с сервером sql, используя веб-формы asp.net и vb.net.Я хочу обновить до v1.5.3, но оригинальный код интеграции больше не работает, и я не вижу, как это исправить.

Во-вторых, я хотел бы помочь добавить функции перетаскивания, чтобы обновитьбаза данных при перетаскивании с asp.net, но я не уверен, с чего начать.

Код, который у меня работал для v 1.4.2, выглядит следующим образом:

<script type="text/javascript" language="javascript">
        $(document).ready(function () {
            $('#calendar').fullCalendar({
                header: {
                    left: 'prev, next today',
                    center: 'title',
                    right: 'month, basicWeek, basicDay'
                },
                events: "Calendar.asmx/EventList"
            });

        });
</script>
Imports System
Imports System.Data
Imports System.Web.Services
Imports System.Data.SqlClient
Imports System.Web.Services.Protocols
Imports System.ComponentModel
Imports System.Collections.Generic
Imports System.Web.UI.Page


<System.Web.Script.Services.ScriptService()> _
<System.Web.Services.WebService(Namespace:="http://tempuri.org/")> _
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
Public Class Calendar
    Inherits System.Web.Services.WebService

    <WebMethod()> _
    Public Function EventList(ByVal startDate As String, ByVal endDate As String) As String
        ' List to hold events
        Dim events As List(Of CalendarDTO) = New List(Of CalendarDTO)()

        Dim WebConfigConnection As String = ConfigurationManager.ConnectionStrings("FresheyeTimeTrackerConnectionString").ConnectionString
        Dim query As String = "SELECT * FROM CORE_PROJECT"
        Dim conn As New SqlConnection(WebConfigConnection)
        Dim cmd As New SqlCommand(query, conn)
        Dim da As New SqlDataAdapter(cmd)
        Dim ds As New DataSet()
        da.Fill(ds)
        'If startDate > ToUnixTimespan(DateTime.Now) Then
        'GoTo x
        'End If
        Dim starting As DateTime = FromUnixTimespan(startDate)
        ' Loop through events to be added
        For i As Integer = 0 To ds.Tables(0).Rows.Count - 1
            If String.IsNullOrEmpty(ds.Tables(0).Rows(i)("ProjectDeliveryDate").ToString()) Then


            Else

                ' Create a new event and start to populate
                Dim value As CalendarDTO = New CalendarDTO()
                ' Date is required to be in a unix format
                value.StartDate = ToUnixTimespan(DateTime.Parse(ds.Tables(0).Rows(i)("ProjectAddedDate").ToString))
                value.id = ds.Tables(0).Rows(i)("ProjectID").ToString()
                value.title = ds.Tables(0).Rows(i)("ProjectTitle").ToString()
                value.EndDate = ToUnixTimespan(DateTime.Parse(ds.Tables(0).Rows(i)("ProjectDeliveryDate").ToString))
                events.Add(value)

            End If

        Next
        ' Serialize the return value so it can be decoded in java.

x:

        Dim js As New System.Web.Script.Serialization.JavaScriptSerializer
        Return js.Serialize(events)
    End Function

    Private Function ToUnixTimespan(ByVal d As DateTime) As Int64
        Dim time As New TimeSpan()
        time = d.ToUniversalTime().Subtract(New DateTime(1970, 1, 1, 0, 0, 0))

        Return CType(Math.Truncate(time.TotalSeconds), Int64)
    End Function

    Private Function FromUnixTimespan(ByVal s As String) As DateTime
        Dim time As DateTime = New DateTime(1970, 1, 1, 0, 0, 0)
        Return time.AddSeconds(s)
    End Function
End Class

1 Ответ

0 голосов
/ 02 марта 2012

Я тоже с этим борюсь ... Похоже, мы заимствовали код из похожих мест ...

В приведенном выше коде вы, похоже, не конвертируете startDate и endDate обратно в начало и конец. Вы делали это в FullCalendar.js?

По сути, у меня есть то же самое, что и у вас, за исключением того, что перед возвращением событий я делаю замену, чтобы возвращаемая строка содержала начало и конец вместо startDate и EndDate.

Мой код работает нормально в Chrome, но не в IE.

Что касается обновления Db ... Я смотрю пару ответов, размещенных на ....

FullCalendar, как разрешить пользователям редактировать / удалять события и удалять их из базы данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...