public prj loadPrj(string prjId) { string sql = "select * from prjs where prjId=@prjId"; prj prjObj = con.Query <prj>(sql, new { prjId = prjId }).FirstOrDefault <prj>(); return(prjObj); }
public string updatePrj(prj prjObj, JArray userList) { string r = ""; string sql = ""; if (prjObj.creator != emp.workNo) { return("專案建立人才能修改此專案"); } if (string.IsNullOrEmpty(prjObj.prjId)) { return("專案編號不得空白"); } sql = "select count(prjId) as cnt from prjs where prjId=@prjId and id != @id"; int icnt = (int)con.ExecuteScalar(sql, new { prjId = prjObj.prjId, id = prjObj.id }); if (icnt > 0) { return("專案編號重複"); } sql = "update prjs set prjId=@prjId,nm=@nm,custId=@custId,custNm=@custNm, "; sql += " beginDate=@beginDate,endDate=@endDate,amt=@amt,grossProfit=@grossProfit, "; sql += " sMemo=@sMemo,dtMemo=@dtMemo "; sql += " where id=@id"; List <DynamicParameters> paramList = new List <DynamicParameters>(); DynamicParameters param = new DynamicParameters(); param.Add("@id", prjObj.id); param.Add("@prjId", prjObj.prjId); param.Add("@nm", prjObj.nm); param.Add("@custId", prjObj.custId); param.Add("@custNm", prjObj.custNm); param.Add("@beginDate", prjObj.beginDate); param.Add("@endDate", prjObj.endDate); param.Add("@sMemo", prjObj.sMemo); param.Add("@dtMemo", prjObj.dtMemo); param.Add("@amt", prjObj.amt); param.Add("@grossProfit", prjObj.grossProfit); paramList.Add(param); try { con.Execute(sql, paramList); con.Execute("delete prjUsers where pid=@pid", new { pid = prjObj.id }); sql = "insert into prjUsers (id,pid,seq,title,workNo,perm) values "; sql += "( @id,@pid,@seq,@title,@workNo,@perm)"; int iseq = 1; foreach (JObject user in userList) { if (!user.ContainsKey("workNo")) { continue; } if (iseq > 8 && user["workNo"].ToString().Trim() == "") { continue; } string workNo, perm; workNo = user["workNo"].ToString(); if (workNo.Split('-').Count() > 1) { workNo = workNo.Split('-')[1]; } perm = user["perm"].ToString(); if (perm.Split('.').Count() > 1) { perm = perm.Split('.')[0]; } con.Execute(sql, new[] { new { id = Guid.NewGuid().ToString(), pid = prjObj.id, seq = user["seq"].ToString(), title = user["title"].ToString(), workNo = workNo, perm = numberUtils.getInt(perm) } } ); iseq++; } return(""); } catch (Exception ex) { return(ex.Message); } }