示例#1
0
        public virtual ActionResult Save(EditMoodPromptModel model)
        {
            if (ModelState.IsValid)
            {
                try {
                    MoodPrompt mp;
                    var        e = GetEvent(model.EventId);

                    if (model.Id == Guid.Empty)
                    {
                        mp = e.AddMoodPrompt(model.Name,
                                             model.Activity.Title,
                                             model.NotificationText,
                                             model.Activity.TimeStamp.FullDate,
                                             model.ActiveFrom.FullDate,
                                             model.ActiveTil.FullDate);
                    }
                    else
                    {
                        mp = e.MoodPrompts.Where(x => x.Id == model.Id).First();

                        mp.Name               = model.Name;
                        mp.Activity.Title     = model.Activity.Title;
                        mp.Activity.TimeStamp = model.Activity.TimeStamp.FullDate;
                        mp.NotificationText   = model.NotificationText;
                        mp.ActiveFrom         = model.ActiveFrom.FullDate;
                        mp.ActiveTil          = model.ActiveTil.FullDate;
                        mp.ConvertAllToUTC();
                    }

                    db.SaveChanges();
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError(string.Empty, ex.Message);
                }
            }

            return(ModelState.IsValid ?
                   Json(new { success = true }) :
                   Json(new { success = false, formWithErrorMessages = this.RenderPartialViewToString(MVC.MoodPrompt.Views.Edit, model) }));
        }