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.

Editing and Saving Data

Thread ID:

Created:

Updated:

Platform:

Replies:

120956 Oct 29,2015 06:32 AM Dec 14,2015 06:49 AM ASP.NET MVC 5
loading
Tags: Gantt
Andrea Perazzolo
Asked On October 29, 2015 06:32 AM

Hi,
following a post on this forum for Saving data edited in the Gantt, I copied and adapted the code, but the JSON Data provided buy the DatePicker in the Edit and Add Forms of the Gantt, the properties are in the forma like this:

Wed Oct 21 2015 00:00:00 GMT+0200 (ora legale Europa occidentale)

The problem is that the MVC Model Binder does not deserialize these dates correctly (the properties are Null because they are DateTime?

Could you provide a working sample to save data please?

Thanks in advance
 
    Andrea Perazzolo




Dinesh Kumar Nagarathinam [Syncfusion]
Replied On October 30, 2015 01:21 PM

Hi Andrea,

In Gantt control the start date and end date will be saved as date objects, and we can convert these date objects into any formats before saving it to the database. Can you please share us more details regarding to which format do you want to convert these date objects. Also can you please share us your sample you are trying to de-serialize the date objects , this will be helpful for us to provide you a better solution.

Please let us know if you need further assistance on this.

Regards,

Dinesh kumar.N


Prasanth
Replied On December 9, 2015 08:34 AM

Hi Dinesh,

I have similar issue.

In  the ViewModel Task object I have the corresponding StartDate property of type Object (If I try to use DateTime type property then mapping doesn't seems to be working i.e Start Date from Gantt is not getting there).

And when I use the property of type object then mapping is working and the object .toString() value is something like

"Thu Dec 10 2015 00:00:00 GMT+1100 (AUS Eastern Daylight Time)"

The object type seems to be string array of length 1 ( System.String[])

Now how do I convert this into DateTime Object or can I just send this value to MS SQL column of type datetime or datetime2

Regards
Prasanth

Dinesh Kumar Nagarathinam [Syncfusion]
Replied On December 10, 2015 08:21 AM

Hi Prasanth,

Instead of converting the Global format of the date time object (ex: Thu Dec 10 2015 00:00:00 GMT+1100 (AUS Eastern Daylight Time)) to particular date time format, we can define “DateFormat” property of Gantt control as “MM/dd/yyyy hh:mm:ss tt”, and this format can be saved directly in the SQL table columns.

We have prepared a sample based on your requirement, find the sample from below location.

Sample: http://www.syncfusion.com/downloads/support/forum/120956/ze/MVCsampleSQL-985382851

Also could you please provide information about, from where you have passed the Global format date time object to data source?, so that we can provide a better solution regarding this query.

Please let us know, if you need further assistance on this.

Regards,

Dinesh kumar.N


Prasanth
Replied On December 13, 2015 12:38 AM

Hi Dinesh,

Thanks for the reply.

I am using Visual Studio 15 community edition, Syncfusion 13.3.0.7 and MVC 5.2.3.  I have tried to change the date format as per your suggestion but I am still getting the same issue and as a workaround I am removing the additional part "GMT+1100 (AUS Eastern Daylight Time)".  Basically the start date is being set from Gantt control's default mapping. 

I have attached the cshtml file along with this reply.  The view model class is copy pasted here.  If the details aren't enough I will package the project with controller, view and model.

public class ProjectTaskViewModel
    {
        public ProjectTaskViewModel()
        {
            Children = new List<ProjectTaskViewModel>();
        }

        public int ID { get; set; }

        [Required]
        [StringLength(50)]
        [Display(Name = "Title")]
        public string TaskName { get; set; }

        public int ProjectID { get; set; }

        public int ParentTaskID { get; set; }

        public IList<ProjectTaskViewModel> Children { get; set; }

        [Display(Name = "Start Date")]
        public Object StartDate { get; set; }

        [Display(Name = "Duration")]
        public int Duration { get; set; }

        public int PercentDone { get; set; }

        public IList<int> Resources { get; set; }

        public int TaskID { get; set; }

        public string Predecessor { get; set; }
    }

Regards
Prasanthan



Attachment: ProjectGantt_dd0dd924.zip

Dinesh Kumar Nagarathinam [Syncfusion]
Replied On December 14, 2015 06:49 AM

Hi Prasanthan,

Thanks for your provided information.

We are passing the value of date column with Globalize date format. If we want to save particular format in SQL table  then we have to convert it  before saving it to the SQL table.

Code Snippet:

[cshtml]


<script type="text/javascript">

function ActionComplete(args) {

            //...

var data = args.data.item;

//data.StartDate is in Globala date format.

data.StartDate = Globalize.format(data.StartDate, "M/d/yyyy hh:mm:ss tt");

           //...     

 }

</script>


We have prepared a sample based on your requirement, find the sample from below location.

Sample: http://www.syncfusion.com/downloads/support/forum/120956/ze/Date_Format-1692846031

Regards,

Dinesh kumar.N


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.

;