public void PushChangesetResetCurrentChangeset() { var cm = new ChangesetManager <TestChangeset>(); cm.CurrentChangeset.Sentinel = TestChangeset.defaultSentinelValue + 100; cm.PushChangeset(22); Assert.AreEqual(TestChangeset.defaultSentinelValue, cm.CurrentChangeset.Sentinel); }
public HttpResponseMessage Post(InstancearchiveWrap instancearchiveWrap) { string errMsg = ""; string errMsgForChangeset = ""; bool isChangesetError = false; Instancearchive model = instancearchiveWrap.Instancearchive; Model.Changeset changeset = new Model.Changeset(); try { string token = this.ControllerContext.Request.Headers.GetValues("Token").First(); auth = TokenManage.GetAuthorizer(token, out errMsg); //bool isChecked = TokenManage.CheckAuthorizer(token, PowerStatusCode.Manager, out auth, out errMsg); //车辆审核人及车辆管理员都可以归档车辆申请单 if (auth.IsChecker || auth.IsManager) { if (tryValidate(model, out errMsg)) { if (this.tryPost(ref model, out errMsg)) { if (!ChangesetManager.tryFetch(auth.Sync, ref changeset, out errMsgForChangeset)) { isChangesetError = true; } } } } } catch (Exception ex) { errMsg = ex.Message; } var status = HttpStatusCode.OK; string json = ""; if (errMsg.Length > 0) { status = (HttpStatusCode)422; var msg = new { errors = new { ServerSideError = errMsg } }; json = JsonConvert.SerializeObject(msg); } else { model.Id = 1; status = HttpStatusCode.OK; var msg = new { Instancearchive = model, Changeset = changeset, IsChangesetError = isChangesetError, ErrMsgForChangeset = errMsgForChangeset }; json = JsonConvert.SerializeObject(msg); } return(new HttpResponseMessage(status) { Content = new StringContent(json, System.Text.Encoding.GetEncoding("UTF-8"), "application/json") }); }
public HttpResponseMessage Post(OptimizerWrap optimizerWrap) { string errMsg = ""; string errMsgForChangeset = ""; bool isChangesetError = false; Optimizer model = optimizerWrap.Optimizer; Model.Changeset changeset = new Model.Changeset(); try { string token = this.ControllerContext.Request.Headers.GetValues("Token").First(); auth = TokenManage.GetAuthorizer(token, out errMsg); //非扫码权限拥有者才可执行该功能 bool isChecked = auth.IsAuthorized && !auth.IsScanner; if (isChecked) { if (tryValidate(model, out errMsg)) { if (this.tryPost(ref model, out errMsg)) { if (!ChangesetManager.tryFetch(auth.Sync, ref changeset, out errMsgForChangeset)) { isChangesetError = true; } } } } } catch (Exception ex) { errMsg = ex.Message; } var status = HttpStatusCode.OK; string json = ""; if (errMsg.Length > 0) { status = (HttpStatusCode)422; var msg = new { errors = new { ServerSideError = errMsg } }; json = JsonConvert.SerializeObject(msg); } else { model.Id = 1; status = HttpStatusCode.OK; var msg = new { Optimizer = model, Changeset = changeset, IsChangesetError = isChangesetError, ErrMsgForChangeset = errMsgForChangeset }; json = JsonConvert.SerializeObject(msg); } return(new HttpResponseMessage(status) { Content = new StringContent(json, System.Text.Encoding.GetEncoding("UTF-8"), "application/json") }); }
public HttpResponseMessage Put(int id, PreferenceWrap preferenceWrap) { string errMsg = ""; string errMsgForChangeset = ""; bool isChangesetError = false; Preference model = preferenceWrap.Preference; model.Id = id; Model.Changeset changeset = new Model.Changeset(); try { string token = this.ControllerContext.Request.Headers.GetValues("Token").First(); bool isChecked = TokenManage.CheckAuthorizer(token, PowerStatusCode.Systemer, out auth, out errMsg); if (isChecked) { if (tryValidate(model, out errMsg)) { if (this.tryPut(ref model, out errMsg)) { if (!ChangesetManager.tryFetch(auth.Sync, ref changeset, out errMsgForChangeset)) { isChangesetError = true; } } } } } catch (Exception ex) { errMsg = ex.Message; } var status = HttpStatusCode.OK; string json = ""; //errMsg = "网络。。。 "; if (errMsg.Length > 0) { status = (HttpStatusCode)422; var msg = new { errors = new { ServerSideError = errMsg } }; json = JsonConvert.SerializeObject(msg); } else { status = HttpStatusCode.OK; var msg = new { Preference = model, Changeset = changeset, IsChangesetError = isChangesetError, ErrMsgForChangeset = errMsgForChangeset }; json = JsonConvert.SerializeObject(msg); } return(new HttpResponseMessage(status) { Content = new StringContent(json, System.Text.Encoding.GetEncoding("UTF-8"), "application/json") }); }
ChangesetManager <TestChangeset> SetupChangesets() { var cm = new ChangesetManager <TestChangeset>(); for (uint i = firstVersion; i < currentVersion; i++) { cm.CurrentChangeset.Sentinel = (int)i; cm.PushChangeset(i); } cm.CurrentChangeset.Sentinel = currentVersion; return(cm); }
public HttpResponseMessage Get() { string errMsg = ""; Model.Changeset changeset = new Model.Changeset(); try { string token = this.ControllerContext.Request.Headers.GetValues("Token").First(); if (TokenManage.CheckAuthorizer(token, PowerStatusCode.None, out auth, out errMsg)) { ChangesetManager.tryFetch(auth.Sync, ref changeset, out errMsg); } } catch (Exception ex) { errMsg = ex.Message; } var status = HttpStatusCode.OK; string json = ""; if (errMsg.Length > 0) { status = (HttpStatusCode)422; var msg = new { errors = new { ServerSideError = errMsg } }; json = JsonConvert.SerializeObject(msg); } else { status = HttpStatusCode.OK; var msg = new { Changeset = changeset }; json = JsonConvert.SerializeObject(msg); } return(new HttpResponseMessage(status) { Content = new StringContent(json, System.Text.Encoding.GetEncoding("UTF-8"), "application/json") }); }
public HttpResponseMessage Post(SignatureWrap signatureWrap) { string errMsg = ""; string errMsgForChangeset = ""; bool isChangesetError = false; Signature model = signatureWrap.Signature; Changeset changeset = new Changeset(); try { string token = base.ControllerContext.Request.Headers.GetValues("Token").First <string>(); bool isChecked = TokenManage.CheckAuthorizer(token, PowerStatusCode.Scanner, out this.auth, out errMsg); if (isChecked) { if (this.tryValidate(model, out errMsg)) { if (this.tryPost(ref model, out errMsg)) { if (!ChangesetManager.tryFetch(this.auth.Sync, ref changeset, out errMsgForChangeset)) { isChangesetError = true; } } } } } catch (System.Exception ex) { errMsg = ex.Message; } HttpStatusCode status; string json; if (errMsg.Length > 0) { status = (HttpStatusCode)422; var msg = new { errors = new { ServerSideError = errMsg } }; json = JsonConvert.SerializeObject(msg); } else { status = HttpStatusCode.OK; var msg2 = new { Signature = model, Changeset = changeset, IsChangesetError = isChangesetError, ErrMsgForChangeset = errMsgForChangeset }; json = JsonConvert.SerializeObject(msg2); } return(new HttpResponseMessage(status) { Content = new StringContent(json, System.Text.Encoding.GetEncoding("UTF-8"), "application/json") }); }
public HttpResponseMessage Post(AccountpwdWrap accountpwdWrap) { string errMsg = ""; string errMsgForChangeset = ""; bool isChangesetError = false; Accountpwd accountpwd = accountpwdWrap.Accountpwd; Model.Changeset changeset = new Model.Changeset(); try { string token = this.ControllerContext.Request.Headers.GetValues("Token").First(); bool isChecked = false; if (TokenManage.CheckAuthorizer(token, PowerStatusCode.None, out auth, out errMsg)) { if (auth.UserId == accountpwd.User) { isChecked = true; } else { errMsg = "密码不能被本人以外其他用户修改"; } } if (isChecked) { if (tryValidate(accountpwd, out errMsg)) { if (this.tryPost(ref accountpwd, out errMsg)) { if (!ChangesetManager.tryFetch(auth.Sync, ref changeset, out errMsgForChangeset)) { isChangesetError = true; } } } } } catch (Exception ex) { errMsg = ex.Message; } var status = HttpStatusCode.OK; string json = ""; if (errMsg.Length > 0) { status = (HttpStatusCode)422; var msg = new { errors = new { ServerSideError = errMsg } }; json = JsonConvert.SerializeObject(msg); } else { status = HttpStatusCode.OK; var msg = new { Accountpwd = accountpwd, Changeset = changeset, IsChangesetError = isChangesetError, ErrMsgForChangeset = errMsgForChangeset }; json = JsonConvert.SerializeObject(msg); } return(new HttpResponseMessage(status) { Content = new StringContent(json, System.Text.Encoding.GetEncoding("UTF-8"), "application/json") }); }