Studio for Silverlight

Scheduler and Tasks

  •  gregoryagu3p said 9 months ago:

    I have the C1Calendar working just fine. Now I am trying to incorporate tasks into it.

    A task is simply an appointment that has a date, but not a time. Sort of like an all day appointment. But it would show at the bottom instead of the top like the all day appointment.

    Have you thought of doing something like this?

    My alternate idea is to keep tasks as completely seperate, but in reality they are almost the same thing as an appointment, in that they can be re-occuring, have a start and end date etc.

    What do you think?

    Greg

  •  C1_IrinaP25p said 9 months ago:

    In MS Outlook the task is a bit different from usual appointment. It should have at least different dialog for editing. I’m not sure that we can do that in the nearest time. But it should be quite easy to extend our object model a bit. For example:
    - add something like AppointmentType property to the Appointment class, so that you can distinguish usual appointments from tasks;
    - add one more filter option to AppointmentsCoverPane. In such case you’ll be able to do custom C1Scheduler control template with Tasks area and C1Scheduler will put tasks there.

    If we do so, your responsibility would be:
    - set AppointmentType field when it is necessary;
    - use custom EditAppointmentDialog if you need to;
    - create custom C1Scheduler control templates with additional UI for tasks (it might be exact copy of all-day area with different filter);
    - save any additional information about tasks into Appointment.CustomData text field and handle it at run-time.

    Does it look acceptable for you?

  •  C1_IrinaP25p said 9 months ago:

    and perhaps we’ll have to do something about drag&drop operations. For example, change appointment type accordingly or prohibit dragging tasks to appointments area and vice versa

  •  gregoryagu3p said 9 months ago:

    Hi Irina,

    Yes, this looks great. I am going to work on this as you have suggested.

    I will let you know how it goes!

    Greg

  •  C1_IrinaP25p said 9 months ago:

    you’ll need updated control version. Current version won’t filter appointments from tasks in UI. I’ll try to do changes in the nearest time, but can’t tell you when hotfix will be published. perhaps in the beginning of September.

  •  gregoryagu3p said 9 months ago:

    OK, no problem, just let me know when hotfix is available. Thanks so much.

    Greg

  •  C1_IrinaP25p said 8 months, 1 week ago:

    attached is the sample application with custom taskPane in the DayView (Silverlight 5). It would work with build 271 or later. We will drop build 271 for our QA team next Monday, so if there are no serious issues, it should be available on prerelease site some days later.

    Related changes which I use in this sample (from readme):

    - added new property to the Appointment class:

    public string AppointmentType {get; set; }
    Gets or sets custom text value associated with this object.
    This property is serialized with other appointment properties.
    You can use this property to show customized content or perform different actions depending on the property value.
    This property is serialized into different formats and it is saved into underlying
    data source if mapping for Appointment Properties is set.
    The default value in null.

    – the AppointmentsCoverPane class can be inherited and used in custom control templates for the C1Scheduler control.

    – added new methods to the AppointmentsCoverPane class:

    public virtual bool IsPaneAppointment(C1.C1Schedule.Appointment appointment, AppointmentFilterEnum filter);
    Checks whether the specified appointment should be shown in the current pane.
    The default implementation filters appointments according to the AppointmentsCoverPane.AppointmentFilter property value.
    Override this method in the derived class to filter appointments by additional conditions.

    public virtual void InitializeAppointment(C1.C1Schedule.Appointment appointment)
    Initializes the newly created appointment or edits existing one when it is dropped to the AppointmentsCoverPane by the end-user.
    This method is called by the C1Scheduler control immediately before firing UserAddingAppointment and BeforeAppointmentDrop events.
    Override this method in derived class if you need additional appointment initialization.

    Attachments:
    You must be logged in to view attched files.
    Answer
  •  gregoryagu3p said 8 months, 1 week ago:

    Wow, thanks very much for this. I will try it out and let you know how it goes.

    Greg

Viewing 8 posts - 1 through 8 (of 8 total)

You must be logged in to reply to this topic.