ASP.NET MVC -> plan rezerwacji - wygląd

0

Potrzebuje zrobić coś takiego jak tabelke z rezerwacjami. Dany pokój mozna rezerwowac na godziny (raczej nie na dni) i chce miec cos takiego: w kolumnie pierwszej będą pokolei pokoje, a po prawej stronie będzie siatka, cały dzień podzielony co półgodziny i jeśli dany pokój jest zajęty w danym okresie czasowym to żeby kratki były zamalowane na czerwone.
Znacie może jakąś wtyczkę dzięki której można to osiągnąć?
Widziałem "Scheduler" od DayPilot ale to jest jakieś bardzo toporne do podłączenia, manuala do tego praktycznie nie ma. Ewentualnie jeśli nie wtyczkę to jak można by to zakodować?

0

Ja używam tego: http://arshaw.com/fullcalendar/

0

jak mam to podzielić na pokoje?

0

Hmm, czyli Ty w sumie nie chcesz typowego schedulera, lecz coś niespotykanego. To chyba musisz napisać sam.

0

nie przeczytałeś tego co napisałem?

0

http://mvc.daypilot.org/scheduler/ takie coś potrzebuje tyle że z tej strony nie umiem tego podłączyć i przerobić pod swoje że tak powiem.

0

Jest obszerny tutorial wraz z kodem dolaczony przeciez
http://code.daypilot.org/62492/scheduler-for-asp-net-mvc-4-razor

0

widziałem to, ściągnąłem to i przerobić próbowałem ale mi to nie działa po prostu :/

0

Jak mam coś takiego:

  SqlCommand cmd = new SqlCommand("UPDATE [event] SET [name] = @name, [eventstart] = @start, [eventend] = @end, [resource] = @resource WHERE [id] = @id", con);
                cmd.Parameters.AddWithValue("id", id);
                cmd.Parameters.AddWithValue("name", name); 

oraz:

   SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM [event] WHERE NOT (([eventend] <= @start) OR ([eventstart] >= @end))", ConfigurationManager.ConnectionStrings["daypilot"].ConnectionString);
            da.SelectCommand.Parameters.AddWithValue("start", start);

to za co są odpowiedzialne te AddWithValue? co to dokładnie robi? bo to jest właśnie problematyczne miejsce. Zamiast tych zapytań chce mieć repozytorium albo po prostu jakąś listę.

0

Okay mam takie coś:

 


<div id="scheduler"></div>
<script>
    $("#scheduler").kendoScheduler({
        date: new Date("2014/05/29"),
        startTime: new Date("2014/5/29 08:00"), //czas od kiedy kalnearz jest wyswietlany
        endTime: new Date("2014/5/29 18:00"), //czas do kiedy kalendarz jest wyswietlany
        group: {
            resources: ["Room"] //tak ustawiamy co jest grupowaniem
        },
        mobile: false, // czy jest widoczny widget na telefonach
        height: 500,  //wysokosc calego widgeta
        allDayEventTemplate: $("#event-template").html(),
        dataSource: [
          {
              id: 1,
              start: new Date("2014/5/29 08:00 AM"),
              end: new Date("2014/5/29 09:00 AM"),
              isAllDay: false,
              title: "Interview",
              roomId: 1,
              atendees: [1, 2]
          },
           {
               id: 2,
               start: new Date("2014/5/29 11:00 AM"),
               end: new Date("2014/5/29 2:00 PM"),
               isAllDay: false,
               title: "Interview 2",
               roomId: 2,
               atendees: [1, 2]
           }




        ],
        resources: [
          {
              field: "roomId",
              name: "Room",
              dataColorField: "key",
              dataSource: [
               { text: "Room1", value: 1, key: "#aabbcc" },
               { value: 2, text: "Room2", key: "green" },
               { value: 2, text: "Room3", key: "green" },
               { value: 2, text: "Room4", key: "green" },
               { value: 2, text: "Room5", key: "green" },
               { value: 2, text: "Room6", key: "green" },
               { value: 2, text: "Room7", key: "green" },
               { value: 2, text: "Room8", key: "green" }
              ],
              multiple: true
          },
           {
               field: "atendees",
               multiple: true,
               dataSource: [
                 { text: "Alex", value: 1 },
                 { text: "Bob", value: 2 },
                 { text: "Charlie", value: 3 }
               ]
           }
        ]
    });
</script>

teraz dane są na sztywno podpięte, a ja chciałbym je pobierać z kontrolera (docelowo z bazy danych mają być brane).
jakiś pomysł jak mógłbym to zrobić?

0

Zapewne potrzebujesz w kontrolerze metody, która zwraca JsonResult, z danymi zserializowanymi w tym formacie, a po stronie klienckiej taką akcje najprościej wywołasz dzięki jQuery i metodzie $.ajax.

0

Tutaj znalazłem mappingi: http://docs.telerik.com/kendo-ui/getting-started/web/scheduler/overview ale nie wiem jak to połączyć z kontrolerem w którym będę tworzył obiekt do przesłania i zmapowania z polami tego kalendarza.

1 użytkowników online, w tym zalogowanych: 0, gości: 1