public ActionResult EditCalendar(int? id, string start,string end, int? isallday) { int p = 60 - DateTime.Now.Minute; if (p >30) p = p-30; DateTime now = DateTime.Now.AddMinutes(p); Calendar calendar; if (id.HasValue && id > 0) { calendar = _service.GetCalendar(id.Value); int clientzone = calendar.MasterId.HasValue ? calendar.MasterId.Value : 8; int serverzone = TimeHelper.GetTimeZone(); var zonediff = clientzone - serverzone; //时区转换 calendar.StartTime = calendar.StartTime.AddHours(zonediff); calendar.EndTime = calendar.EndTime.AddHours(zonediff); } else { calendar = new Calendar(); calendar.StartTime = Convert.ToDateTime(start); calendar.EndTime = Convert.ToDateTime(end); calendar.IsAllDayEvent = isallday.HasValue && isallday.Value == 1; } return View(calendar); }
public JsonResult SaveCalendar(int Id,FormCollection form) { JsonReturnMessages r = new JsonReturnMessages(); try { Calendar data; if (Id > 0) { data = _service.GetCalendar(Id); } else { data = new Calendar(); } data.Subject = form["Subject"]; data.Location = form["Location"]; data.Description = form["Description"]; data.IsAllDayEvent = form["IsAllDayEvent"] !="false"; data.Category = form["colorvalue"]; string sdate = form["stpartdate"]; string edate = form["etpartdate"]; string stime = form["stparttime"]; string etime = form["etparttime"]; int clientzone = Convert.ToInt32(form["timezone"]); int serverzone = TimeHelper.GetTimeZone(); var zonediff = serverzone - clientzone; if (data.IsAllDayEvent) { data.StartTime = Convert.ToDateTime(sdate).AddHours(zonediff); data.EndTime = Convert.ToDateTime(edate).AddHours(23).AddMinutes(59).AddSeconds(59).AddHours(zonediff); } else { data.StartTime = Convert.ToDateTime(sdate + " " + stime).AddHours(zonediff); data.EndTime = Convert.ToDateTime(edate + " " + etime).AddHours(zonediff); } if (data.EndTime <= data.StartTime) { throw new Exception(this.Resource("lang,starttimegreatthanendtime")); } data.CalendarType = 1; data.InstanceType = 0; data.MasterId = clientzone; data.UPAccount = UserId; data.UPName = this.Resource("lang,admin"); data.UPTime = DateTime.Now; if (data.Id > 0) { _service.UpdateCalendar(data); } else { _service.AddCalendar(data); } r.IsSuccess = true; r.Msg = this.Resource("lang,successmsg"); } catch (Exception ex) { r.IsSuccess = false; r.Msg = ex.Message; } return Json(r); }
public int AddCalendar(Calendar data) { _rep.Add(data); return data.Id; }
public JsonResult QuickAddPersonalCal(FormCollection form) { JsonReturnMessages r = new JsonReturnMessages(); string subject = form["CalendarTitle"]; string strStartTime = form["CalendarStartTime"]; string strEndTime = form["CalendarEndTime"]; string isallday = form["IsAllDayEvent"]; int clientzone = Convert.ToInt32(form["timezone"]); int serverzone = TimeHelper.GetTimeZone(); var zonediff = serverzone - clientzone; DateTime st; DateTime et; bool a = DateTime.TryParse(strEndTime, out et); bool b = DateTime.TryParse(strStartTime, out st); if (!b) { r.IsSuccess = false; r.Msg = this.Resource("lang,notvoliddatetimeformat")+":" + strStartTime; return Json(r); } if (!a) { r.IsSuccess = false; r.Msg = this.Resource("lang,notvoliddatetimeformat")+":" + strEndTime; return Json(r); } try { Calendar entity = new Calendar(); entity.CalendarType = 1; entity.InstanceType = 0; entity.Subject = subject; entity.StartTime = st.AddHours(zonediff); entity.EndTime = et.AddHours(zonediff); entity.IsAllDayEvent = isallday == "1"; entity.UPAccount = UserId; entity.UPName = this.Resource("lang,admin"); entity.UPTime = DateTime.Now; entity.MasterId = clientzone; r.Data = _service.AddCalendar(entity); r.IsSuccess = true; r.Msg = this.Resource("lang,successmsg"); } catch (Exception ex) { r.IsSuccess = false; r.Msg = ex.Message; } return Json(r); }
public int UpdateCalendar(Calendar data) { return _rep.Update(data); }