We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy.
Unfortunately, activation email could not send to your email. Please try again.

Schedule Control Resources and Appointment Management

Thread ID:

Created:

Updated:

Platform:

Replies:

129040 Feb 22,2017 06:26 PM Feb 23,2017 08:49 AM ASP.NET MVC 1
loading
Tags: Schedule
Michael Hehl
Asked On February 22, 2017 06:26 PM

Hello,

I've been working this week on trying to figure out how to use the schedule control. I have some basic functionality down, but I am struggling with a few items. 

I am attempting to model your sample app located at http://mvc.syncfusion.com/demos/web/AppointmentPlanner/Home/Index.

I love the way this looks and feels, but am having a hard time wring everything up correctly. 

I'm trying to load in a list of resources from an employees table containing the following fields:
employeeId
firstname
lastname
Title
phone

I want to be able to create appointments for patients from the patient table:
patientId
FirstName
LastName
ownerId


I'd also like to be able to create a new patient record and add it to the patient table. 

Appointments are currently being created in DefaultSchedule table. 

The appointment should be for the patient and the owner should be the employee resource selected when creating the appointment.  

Here is my controller code:

 List<String> resources = new List<String>();
            resources.Add("Owners");
            ViewBag.Resources = resources;
            return View();

        public ActionResult GetData()
        {
            IEnumerable data = new PPDB2Entities().DefaultSchedules.Take(100); // nw.Appointment.Take(5);
            return Json(data, JsonRequestBehavior.AllowGet);
        }

        public JsonResult GetResources()
        {
            IEnumerable data = new PPDB2Entities().Employees.Take(100);
            return Json(data, JsonRequestBehavior.AllowGet);
        }

My View:

@{
    ViewBag.Title = "Home Page";
}

@(Html.EJ().Schedule("Schedule1")
     .Width("100%")
     .Height("525px")
          .Resources(res => { res.Field("employeeId").Title("Owner").Name("Owners").AllowMultiple(true).ResourceSettings(flds => flds.Datasource(ds => ds.URL("/Home/GetResources")).Text("Text").Id("Id").Color("Color")).Add(); })
            .Group(gr =>
            {
                gr.Resources(ViewBag.Resources);
            })
            .AppointmentSettings(fields => fields.Datasource(ds => ds.URL("/Home/GetData").CrudURL("/Home/Batch").Adaptor("UrlAdaptor"))
     .Id("Id")
     .Subject("Subject")
     .Description("Description")
     .StartTime("StartTime")
     .EndTime("EndTime")
     .AllDay("AllDay")
     .Recurrence("Recurrence")
     .ResourceFields("employeeId")
     .RecurrenceRule("RecurrenceRule"))
)

The schedule control will not load at all with this code. If I populate the resources from a list instead, it does show and I can create appointments, but they do not show on the calendar for the given resource and the ownerId is not saved in the database. 




Karthigeyan Krishnamurthi [Syncfusion]
Replied On February 23, 2017 08:49 AM

Hi Michael, 
 
Thank you for contacting Syncfusion support. 
 
We have prepared the Appointment Planner CRUD sample which can be download from the below location. 
 
In the sample resource and Scheduler data are fetched from data source and appointment added/edited/deleted with in Scheduler will be reflected in database too. Kindly refer the below code example used in the sample. 
 
<Code> 
.Resources(res => 
                    { 
                        res.Field("RoomId").Title("Room").Name("Rooms").AllowMultiple(false) 
                           .ResourceSettings(flds => flds.Datasource(ViewBag.departmentDB).Text("Text").Id("Id").GroupId("GroupId").Color("Color")).Add(); 
                        res.Field("OwnerId").Title("Owner").Name("Owners").AllowMultiple(true) 
                            .ResourceSettings(flds => flds.Datasource(ViewBag.doctorDB).Text("text").Id("Id").GroupId("GroupId").Color("Color")).Add(); 
                    }) 
.AppointmentSettings(fields => fields.Datasource(ds => ds.URL("Home/GetHspt").CrudURL("Home/Batch").Adaptor("UrlAdaptor")) 
</Code> 
 
 
Note: In the sample, CRUD operation will be performed only for Scheduler part and not for Category, Doctors, Waiting list labeled portions. 
 
Regards, 
Karthigeyan 


CONFIRMATION

This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.

;