public void Act_Add([FromBody] CheckInAct act) { if (act == null) { this.Fail("查無資料,請再確認"); return; } //檢驗參數,有問題會錯誤 act = Validact(act); if (act == null) { return; } //確認活動是否重複 if (ActDAO.getInstance().getAct(act.actId) != null) { Fail($"活動id:{act.actId}已經設定"); return; } act.created_at = DateTime.Now; ActDAO.getInstance().createAct(act); this.Ok("建立活動成功", act); }
/// <summary> /// 更新活動資料 /// </summary> /// <param name="new_act">活動</param> /// <param name="actId">活動id</param> /// <returns></returns> public bool updateAct(String actId, CheckInAct new_act) { var updList = new List <UpdateDefinition <CheckInAct> >(); if (actId != new_act.actId) { var upd = Builders <CheckInAct> .Update.Set(act => act.actId, new_act.actId); updList.Add(upd); } if (!String.IsNullOrEmpty(new_act.name)) { var upd = Builders <CheckInAct> .Update.Set(n => n.name, new_act.name); updList.Add(upd); } if (!String.IsNullOrEmpty(new_act.description)) { var upd = Builders <CheckInAct> .Update.Set(n => n.description, new_act.description); updList.Add(upd); } if (!String.IsNullOrEmpty(new_act.site)) { var upd = Builders <CheckInAct> .Update.Set(n => n.site, new_act.site); updList.Add(upd); } if (new_act.startTime != null) { var upd = Builders <CheckInAct> .Update.Set(n => n.startTime, new_act.startTime); updList.Add(upd); } if (new_act.endTime != null) { var upd = Builders <CheckInAct> .Update.Set(n => n.endTime, new_act.endTime); updList.Add(upd); } var finalUpd = Builders <CheckInAct> .Update.Combine(updList); var res = Builders <CheckInAct> .Filter.Eq(act => act.actId, actId); var result = _db.GetCollection <CheckInAct>("CheckInAct").UpdateOne(res, finalUpd); return(result.ModifiedCount != 0); }
public void Act_Remote([FromHeader] String actId, [FromBody] CheckInAct act) { bool isOK = ActDAO.getInstance().updateAct(actId, act); if (isOK) { this.Ok("更新活動成功"); } else { this.Fail("更新活動失敗"); } }
/// <summary> /// 檢查act正確性 /// </summary> /// <returns></returns> private CheckInAct Validact(CheckInAct act) { if (string.IsNullOrWhiteSpace(act.actId)) { act.actId = Guid.NewGuid().ToString(); } if (act.startTime == null) { Fail("startTime時間沒有設定"); return(null); } if (act.endTime == null) { Fail("endTime時間沒有設定"); return(null); } if (act.startTime > act.endTime) { Fail("startTime時間大於endTime"); return(null); } if (act.endTime < DateTime.Now) { Fail("現在時間大於endTime"); return(null); } if (act.site.IndexOf("http://") != 0 && act.site.IndexOf("https://") != 0) { Fail("site 值需要http://開頭"); return(null); } return(act); }
/// <summary> /// 建立活動資料 /// </summary> /// <param name="act">活動</param> /// <returns></returns> public void createAct(CheckInAct act) { _db.GetCollection <CheckInAct>($"CheckInAct").InsertOne(act); }