public ResultModel DataSourceComplete(UserModel user, DataSource datasource) { ResultModel result = new ResultModel(); try { using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { ResultModel datasourceResult = this.Get(user, datasource.SourceId); datasource = datasourceResult.ReturnValue as DataSource; if (datasource == null) { result.Message = "该数据不存在,不能完成"; return result; } if (datasource.Status != StatusEnum.待审核) { result.Message = "非待审核状态的数据不允许完成"; return result; } result = datasourceDAL.DataSourceComplete(user, datasource); if (result.ResultStatus == 0) scope.Complete(); } } catch (Exception ex) { result.Message = ex.Message; } finally { if (result.ResultStatus != 0) log.ErrorFormat("{0} {1},类型序号:{2}", user.EmpName, result.Message, result.ReturnValue); else if (log.IsInfoEnabled) log.InfoFormat("{0} {1},类型序号:{2}", user.EmpName, result.Message, result.ReturnValue); } return result; }
public override IModel CreateModel(SqlDataReader dr) { DataSource datasource = new DataSource(); int indexSourceId = dr.GetOrdinal("SourceId"); datasource.SourceId = Convert.ToInt32(dr[indexSourceId]); int indexBaseName = dr.GetOrdinal("BaseName"); if (dr["BaseName"] != DBNull.Value) { datasource.BaseName = Convert.ToString(dr[indexBaseName]); } int indexTableCode = dr.GetOrdinal("TableCode"); if (dr["TableCode"] != DBNull.Value) { datasource.TableCode = Convert.ToString(dr[indexTableCode]); } int indexDataStatus = dr.GetOrdinal("DataStatus"); if (dr["DataStatus"] != DBNull.Value) { datasource.DataStatus = (Common.StatusEnum)Convert.ToInt32(dr[indexDataStatus]); } int indexRowId = dr.GetOrdinal("RowId"); if (dr["RowId"] != DBNull.Value) { datasource.RowId = Convert.ToInt32(dr[indexRowId]); } int indexDalName = dr.GetOrdinal("DalName"); if (dr["DalName"] != DBNull.Value) { datasource.DalName = Convert.ToString(dr[indexDalName]); } int indexAssName = dr.GetOrdinal("AssName"); if (dr["AssName"] != DBNull.Value) { datasource.AssName = Convert.ToString(dr[indexAssName]); } int indexViewUrl = dr.GetOrdinal("ViewUrl"); if (dr["ViewUrl"] != DBNull.Value) { datasource.ViewUrl = Convert.ToString(dr[indexViewUrl]); } int indexRefusalUrl = dr.GetOrdinal("RefusalUrl"); if (dr["RefusalUrl"] != DBNull.Value) { datasource.RefusalUrl = Convert.ToString(dr[indexRefusalUrl]); } int indexSuccessUrl = dr.GetOrdinal("SuccessUrl"); if (dr["SuccessUrl"] != DBNull.Value) { datasource.SuccessUrl = Convert.ToString(dr[indexSuccessUrl]); } int indexConditionUrl = dr.GetOrdinal("ConditionUrl"); if (dr["ConditionUrl"] != DBNull.Value) { datasource.ConditionUrl = Convert.ToString(dr[indexConditionUrl]); } int indexEmpId = dr.GetOrdinal("EmpId"); if (dr["EmpId"] != DBNull.Value) { datasource.EmpId = Convert.ToInt32(dr[indexEmpId]); } int indexApplyTime = dr.GetOrdinal("ApplyTime"); if (dr["ApplyTime"] != DBNull.Value) { datasource.ApplyTime = Convert.ToDateTime(dr[indexApplyTime]); } int indexApplyTitle = dr.GetOrdinal("ApplyTitle"); if (dr["ApplyTitle"] != DBNull.Value) { datasource.ApplyTitle = Convert.ToString(dr[indexApplyTitle]); } int indexApplyMemo = dr.GetOrdinal("ApplyMemo"); if (dr["ApplyMemo"] != DBNull.Value) { datasource.ApplyMemo = Convert.ToString(dr[indexApplyMemo]); } int indexApplyInfo = dr.GetOrdinal("ApplyInfo"); if (dr["ApplyInfo"] != DBNull.Value) { datasource.ApplyInfo = Convert.ToString(dr[indexApplyInfo]); } return datasource; }
public ResultModel GetDataSource(UserModel user, IModel model) { ResultModel result = new ResultModel(); List<SqlParameter> paras = new List<SqlParameter>(); SqlParameter para = new SqlParameter("@BaseName", SqlDbType.VarChar); para.Value = model.DataBaseName; paras.Add(para); para = new SqlParameter("@TableCode", SqlDbType.VarChar); para.Value = model.TableName; paras.Add(para); para = new SqlParameter("@RowId", SqlDbType.Int); para.Value = model.Id; paras.Add(para); para = new SqlParameter("@status", SqlDbType.Int); para.Value = StatusEnum.待审核; paras.Add(para); SqlDataReader dr = null; try { string sql = string.Format("select * from NFMT_WorkFlow.dbo.Wf_DataSource where BaseName = @BaseName and TableCode = @TableCode and RowId = @RowId and DataStatus =@status", model.DataBaseName, model.TableName, model.Id); dr = SqlHelper.ExecuteReader(ConnectString, CommandType.Text, sql, paras.ToArray()); DataSource datasource = new DataSource(); if (dr.Read()) { int indexSourceId = dr.GetOrdinal("SourceId"); datasource.SourceId = Convert.ToInt32(dr[indexSourceId]); int indexBaseName = dr.GetOrdinal("BaseName"); if (dr["BaseName"] != DBNull.Value) { datasource.BaseName = Convert.ToString(dr[indexBaseName]); } int indexTableCode = dr.GetOrdinal("TableCode"); if (dr["TableCode"] != DBNull.Value) { datasource.TableCode = Convert.ToString(dr[indexTableCode]); } int indexDataStatus = dr.GetOrdinal("DataStatus"); if (dr["DataStatus"] != DBNull.Value) { datasource.DataStatus = (Common.StatusEnum)Enum.Parse(typeof(Common.StatusEnum), dr[indexDataStatus].ToString()); } int indexRowId = dr.GetOrdinal("RowId"); if (dr["RowId"] != DBNull.Value) { datasource.RowId = Convert.ToInt32(dr[indexRowId]); } int indexDalName = dr.GetOrdinal("DalName"); if (dr["DalName"] != DBNull.Value) { datasource.DalName = Convert.ToString(dr[indexDalName]); } int indexAssName = dr.GetOrdinal("AssName"); if (dr["AssName"] != DBNull.Value) { datasource.AssName = Convert.ToString(dr[indexAssName]); } int indexViewUrl = dr.GetOrdinal("ViewUrl"); if (dr["ViewUrl"] != DBNull.Value) { datasource.ViewUrl = Convert.ToString(dr[indexViewUrl]); } int indexRefusalUrl = dr.GetOrdinal("RefusalUrl"); if (dr["RefusalUrl"] != DBNull.Value) { datasource.RefusalUrl = Convert.ToString(dr[indexRefusalUrl]); } int indexSuccessUrl = dr.GetOrdinal("SuccessUrl"); if (dr["SuccessUrl"] != DBNull.Value) { datasource.SuccessUrl = Convert.ToString(dr[indexSuccessUrl]); } int indexConditionUrl = dr.GetOrdinal("ConditionUrl"); if (dr["ConditionUrl"] != DBNull.Value) { datasource.ConditionUrl = Convert.ToString(dr[indexConditionUrl]); } int indexEmpId = dr.GetOrdinal("EmpId"); if (dr["EmpId"] != DBNull.Value) { datasource.EmpId = Convert.ToInt32(dr[indexEmpId]); } int indexApplyTime = dr.GetOrdinal("ApplyTime"); if (dr["ApplyTime"] != DBNull.Value) { datasource.ApplyTime = Convert.ToDateTime(dr[indexApplyTime]); } int indexApplyTitle = dr.GetOrdinal("ApplyTitle"); if (dr["ApplyTitle"] != DBNull.Value) { datasource.ApplyTitle = Convert.ToString(dr[indexApplyTitle]); } int indexApplyMemo = dr.GetOrdinal("ApplyMemo"); if (dr["ApplyMemo"] != DBNull.Value) { datasource.ApplyMemo = Convert.ToString(dr[indexApplyMemo]); } int indexApplyInfo = dr.GetOrdinal("ApplyInfo"); if (dr["ApplyInfo"] != DBNull.Value) { datasource.ApplyInfo = Convert.ToString(dr[indexApplyInfo]); } result.AffectCount = 1; result.Message = "读取成功"; result.ResultStatus = 0; result.ReturnValue = datasource; } else { result.Message = "读取失败或无数据"; result.AffectCount = 0; } } catch (Exception ex) { result.Message = ex.Message; } finally { if (dr != null) dr.Dispose(); } return result; }
//public override ResultModel Freeze(UserModel user, IModel obj) //{ // ResultModel result = new ResultModel(); // try // { // if (obj == null) // { // result.Message = "冻结对象不能为null"; // return result; // } // List<SqlParameter> paras = new List<SqlParameter>(); // SqlParameter idPara = new SqlParameter("@id", SqlDbType.Int, 4); // idPara.Value = obj.Id; // paras.Add(idPara); // SqlParameter statusPara = new SqlParameter("@status", SqlDbType.Int, 4); // statusPara.Value = (int)StatusEnum.已冻结; // paras.Add(statusPara); // SqlParameter lastModifyIdPara = new SqlParameter("@lastModifyId", SqlDbType.Int, 4); // lastModifyIdPara.Value = user.AccountId; // paras.Add(lastModifyIdPara); // int i = SqlHelper.ExecuteNonQuery(this.ConnectString, CommandType.StoredProcedure, string.Format("{0}UpdateStatus", obj.TableName), paras.ToArray()); // if (i == 1) // { // result.Message = "冻结成功"; // result.ResultStatus = 0; // } // else // result.Message = "冻结失败"; // result.AffectCount = i; // result.ReturnValue = i; // } // catch (Exception ex) // { // result.Message = ex.Message; // } // return result; //} public ResultModel CheckHasSource(DataSource source) { ResultModel result = new ResultModel(); try { List<SqlParameter> paras = new List<SqlParameter>(); SqlParameter para = new SqlParameter("@tableName", source.TableCode); paras.Add(para); para = new SqlParameter("@rowId", source.RowId); paras.Add(para); string cmdText = string.Format("select count(*) from NFMT_WorkFlow.dbo.Wf_DataSource where TableCode=@tableName and RowId=@rowId and DataStatus in ({0},{1})", (int)NFMT.Common.StatusEnum.已完成, (int)NFMT.Common.StatusEnum.待审核); object obj = SqlHelper.ExecuteScalar(ConnectString, CommandType.Text, cmdText, paras.ToArray()); int count; if (obj == null) { result.Message = "查询出错"; return result; } if (int.TryParse(obj.ToString(), out count)) { result.ResultStatus = 0; result.ReturnValue = count; result.Message = "查询成功"; result.AffectCount = count; } else { result.Message = "查询出错"; return result; } } catch (Exception ex) { result.Message = ex.Message; } return result; }