示例#1
0
        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);
        }
示例#2
0
        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);
            }
        }