public IHttpActionResult Put(string id, [FromBody]AD_CONTROL dataRequest) { try { //validate custom data input string errorMsg = null; if (string.IsNullOrEmpty(dataRequest.ID)) { errorMsg = string.Concat(errorMsg, string.Format(VNPTResources.Instance.Get( VNPTResources.ID.MsgErrorRequire), VNPTResources.Instance.Get(VNPTResources.ID.Control_ID)), ". "); } else { if (!CustomValidation.maxLength(50, dataRequest.ID)) { errorMsg = string.Concat(errorMsg, string.Format(VNPTResources.Instance.Get( VNPTResources.ID.MsgErrorMaximumLength), VNPTResources.Instance.Get(VNPTResources.ID.Control_ID), 50), ". "); } if (CustomValidation.hasSpace(dataRequest.ID)) { errorMsg = string.Concat(errorMsg, string.Format(VNPTResources.Instance.Get( VNPTResources.ID.MsgErrorHasSpace), VNPTResources.Instance.Get(VNPTResources.ID.Control_ID)), ". "); } } if (string.IsNullOrEmpty(dataRequest.Name)) { errorMsg = string.Concat(errorMsg, string.Format(VNPTResources.Instance.Get( VNPTResources.ID.MsgErrorRequire), VNPTResources.Instance.Get(VNPTResources.ID.Control_Name)), ". "); } else { if (!CustomValidation.maxLength(150, dataRequest.Name)) { errorMsg = string.Concat(errorMsg, string.Format(VNPTResources.Instance.Get( VNPTResources.ID.MsgErrorMaximumLength), VNPTResources.Instance.Get(VNPTResources.ID.Control_Name), 150), ". "); } } //validate custom data input if (errorMsg != "" && errorMsg != null) { return Json(new TResult() { Status = (short)EStatus.Fail, Msg = errorMsg }); } if (!ModelState.IsValid) { var model = ModelState; string msg = VNPTResources.Instance.Get(model); return Json(new TResult() { Status = (short)EStatus.Fail, Msg = msg }); } var dataItem = this.Repository.GetQuery<AD_CONTROL>().FirstOrDefault(r => r.ID == id); if (dataItem is null) { return Json(new TResult() { Status = (short)EStatus.Fail, Msg = VNPTResources.Instance.Get(VNPTResources.ID.MsgNotFound) }); } dataItem = dataRequest.Clone(); dataItem.ID = id; this.Repository.Update(dataItem); this.VNPTLogs.Write(this.Repository, EAction.Update, JsonConvert.SerializeObject(dataItem)); this.Repository.UnitOfWork.SaveChanges(); return Json(new TResult() { Status = (short)EStatus.Ok, Msg = string.Format(VNPTResources.Instance.Get(VNPTResources.ID.MsgUpdateDataSuccess), VNPTResources.Instance.Get(VNPTResources.ID.Label_obj_page)), Data = dataItem }); } catch (Exception e) { this.VNPTLogs.Write(this.RepositoryLog, e.Message); return Json(new TResult() { Status = (short)EStatus.Fail, Msg = e.Message }); } }
public IHttpActionResult Saves(IEnumerable<AD_CONTROL> dataRequest) { try { if (!ModelState.IsValid) { var model = ModelState; string msg = VNPTResources.Instance.Get(model); return Json(new TResult() { Status = (short)EStatus.Fail, Msg = msg }); } AD_CONTROL dataItem = null; foreach (var item in dataRequest) { string errorMsg = null; if (string.IsNullOrEmpty(item.ID)) { errorMsg = string.Concat(errorMsg, string.Format(VNPTResources.Instance.Get( VNPTResources.ID.MsgErrorRequire), VNPTResources.Instance.Get(VNPTResources.ID.Control_ID)), ". "); } else { if (!CustomValidation.maxLength(50, item.ID)) { errorMsg = string.Concat(errorMsg, string.Format(VNPTResources.Instance.Get( VNPTResources.ID.MsgErrorMaximumLength), VNPTResources.Instance.Get(VNPTResources.ID.Control_ID), 50), ". "); } if (CustomValidation.hasSpace(item.ID)) { errorMsg = string.Concat(errorMsg, string.Format(VNPTResources.Instance.Get( VNPTResources.ID.MsgErrorHasSpace), VNPTResources.Instance.Get(VNPTResources.ID.Control_ID)), ". "); } } if (string.IsNullOrEmpty(item.Name)) { errorMsg = string.Concat(errorMsg, string.Format(VNPTResources.Instance.Get( VNPTResources.ID.MsgErrorRequire), VNPTResources.Instance.Get(VNPTResources.ID.Control_Name)), ". "); } else { if (!CustomValidation.maxLength(150, item.Name)) { errorMsg = string.Concat(errorMsg, string.Format(VNPTResources.Instance.Get( VNPTResources.ID.MsgErrorMaximumLength), VNPTResources.Instance.Get(VNPTResources.ID.Control_Name), 150), ". "); } } dataItem = this.Repository.GetQuery<AD_CONTROL>().FirstOrDefault(r => r.ID == item.ID); if (dataItem is null) { dataItem = item.Clone(); this.Repository.Add(dataItem); this.VNPTLogs.Write(this.Repository, EAction.Insert, JsonConvert.SerializeObject(dataItem)); } else { return Json(new TResult() { Status = (short)EStatus.Fail, Msg = string.Format(VNPTResources.Instance.Get(VNPTResources.ID.MsgErrorIsExists), item.ID) }); } } this.Repository.UnitOfWork.SaveChanges(); return Json(new TResult() { Status = (short)EStatus.Ok, Msg = string.Format(VNPTResources.Instance.Get(VNPTResources.ID.MsgUpdateDataSuccess), VNPTResources.Instance.Get(VNPTResources.ID.Label_obj_page)), }); } catch (Exception e) { this.VNPTLogs.Write(this.Repository, e.Message); return Json(new TResult() { Status = (short)EStatus.Fail, Msg = e.Message }); } }