Esempio n. 1
0
        public virtual void OnSave(SynkContext context)
        {
            long id;

            long.TryParse(context.request.GetVariable("entity"), out id);

            var entity = context.database.FetchEntityByID(_entityClass, id);

            foreach (var field in entity.fields)
            {
                if (context.request.HasVariable(field.name))
                {
                    var val = context.request.GetVariable(field.name);

                    if (field.formType.Equals("date"))
                    {
                        int year, month, day;
                        var temp = val.Split('-');
                        int.TryParse(temp[0], out year);
                        int.TryParse(temp[1], out month);
                        int.TryParse(temp[2], out day);
                        DateTime date = new DateTime(year, month, day);
                        val = date.ToTimestamp().ToString();
                    }

                    entity.SetFieldValue(field.name, val);
                }
            }

            if (entity.Save(context))
            {
                FetchPage(context);
                GenerateData(context);

                context.PushTemplate("crud/list");
                context.Render();
            }
            else
            {
                if (string.IsNullOrEmpty(context.error) && !context.WaitingForConfirmation())
                {
                    context.error = "Entity saving entity";
                }

                context.die();
            }
        }