public DataResult GetDefectReason([FromQuery] int qId, int wId, bool menu) { var result = new DataResult(); result.datas.AddRange(menu ? DefectReasonHelper.GetMenu(wId, qId) : DefectReasonHelper.GetDetails(wId, qId)); if (qId != 0 && !result.datas.Any()) { result.errno = Error.DefectReasonNotExist; return(result); } return(result); }
public object PutDefectReason([FromBody] IEnumerable <DefectReason> details) { if (details == null || !details.Any()) { return(Result.GenError <Result>(Error.ParamError)); } if (details.Any(x => x.Id == 0)) { return(Result.GenError <Result>(Error.DefectReasonNotExist)); } var markedDateTime = DateTime.Now; foreach (var detail in details) { detail.MarkedDateTime = markedDateTime; detail.Remark = detail.Remark ?? ""; } if (details.Any(x => x.Reason.IsNullOrEmpty())) { var ids = details.Select(x => x.Id); var cnt = DefectReasonHelper.Instance.GetCountByIds(ids); if (cnt != details.Count()) { return(Result.GenError <Result>(Error.DefectReasonNotExist)); } DefectReasonHelper.Enable(details); } else { if (details.GroupBy(x => x.Reason).Any(y => y.Count() > 1)) { return(Result.GenError <Result>(Error.DefectReasonDuplicate)); } var wId = details.FirstOrDefault()?.WorkshopId ?? 0; var sames = details.Select(x => x.Reason); var ids = details.Select(x => x.Id); if (DefectReasonHelper.GetHaveSame(wId, sames, ids)) { return(Result.GenError <Result>(Error.DefectReasonIsExist)); } var cnt = DefectReasonHelper.Instance.GetCountByIds(ids); if (cnt != details.Count()) { return(Result.GenError <Result>(Error.DefectReasonNotExist)); } DefectReasonHelper.Instance.Update(details); } return(Result.GenError <Result>(Error.Success)); }
public object PostDefectReason([FromBody] IEnumerable <DefectReason> details) { if (details == null || !details.Any()) { return(Result.GenError <Result>(Error.ParamError)); } if (details.Any(x => x.Reason.IsNullOrEmpty())) { return(Result.GenError <Result>(Error.DefectReasonNotEmpty)); } if (details.GroupBy(x => x.Reason).Any(y => y.Count() > 1)) { return(Result.GenError <Result>(Error.DefectReasonDuplicate)); } var wId = details.FirstOrDefault()?.WorkshopId ?? 0; var sames = details.Select(x => x.Reason); if (DefectReasonHelper.GetHaveSame(wId, sames)) { return(Result.GenError <Result>(Error.DefectReasonIsExist)); } if (details.Any(x => x.Reason.IsNullOrEmpty())) { return(Result.GenError <Result>(Error.DefectReasonNotEmpty)); } var userId = Request.GetIdentityInformation(); var markedDateTime = DateTime.Now; foreach (var detail in details) { detail.CreateUserId = userId; detail.MarkedDateTime = markedDateTime; detail.Remark = detail.Remark ?? ""; } DefectReasonHelper.Instance.Add(details); return(Result.GenError <Result>(Error.Success)); }