示例#1
0
        /// <summary>
        /// 删除一条数据
        /// </summary>
        public bool Delete(int UserID, int ID)
        {
            Model.SOURCEVIEW original = GetModel(UserID, ID);

            StringBuilder strSql = new StringBuilder();

            strSql.Append("delete from SOURCEVIEW ");
            strSql.Append(" where ID=@ID");
            SqlParameter[] parameters =
            {
                new SqlParameter("@ID", SqlDbType.Int, 4)
            };
            parameters[0].Value = ID;

            int rows = DbHelperSQL.ExecuteSql(UserID, strSql.ToString(), parameters);

            if (rows > 0)
            {
                Model.AUDITLOG auditobj = original.GetAuditLogObject(null);
                auditobj.UserID      = UserID;
                auditobj.CreateDate  = DateTime.Now;
                auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
                auditobj.ModuleName  = "DAL.SOURCEVIEW.Delete";
                auditobj.Message     = String.Format(AppNum.AuditMessage.SourceViewDeleteSuccess, ID);

                AUDITLOG.Add(auditobj);

                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#2
0
文件: USER.cs 项目: lsfv/queryreport
        /// <summary>
        /// 删除一条数据
        /// </summary>
        public bool Delete(int UserID, int ID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("delete from [USER] ");
            strSql.Append(" where ID=@ID");
            SqlParameter[] parameters =
            {
                new SqlParameter("@ID", SqlDbType.Int, 4)
            };
            parameters[0].Value = ID;

            int rows = DbHelperSQL.ExecuteSql(UserID, strSql.ToString(), parameters);

            if (rows > 0)
            {
                Model.AUDITLOG auditobj = new Model.AUDITLOG();
                auditobj.UserID      = UserID;
                auditobj.CreateDate  = DateTime.Now;
                auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
                auditobj.ModuleName  = "DAL.USER.Delete";
                auditobj.Message     = String.Format(AppNum.AuditMessage.UserDeleteSuccess, ID);

                AUDITLOG.Add(auditobj);

                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#3
0
        /// <summary>
        /// 删除一条数据
        /// </summary>
        public bool Delete(int UserID, int REPORT, string NAME)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("delete from QUERYPARAMS ");
            strSql.Append(" where REPORT=@REPORT and NAME=@NAME ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@REPORT", SqlDbType.Int),
                new SqlParameter("@NAME",   SqlDbType.NVarChar, 50)
            };
            parameters[0].Value = REPORT;
            parameters[1].Value = NAME;

            int rows = DbHelperSQL.ExecuteSql(UserID, strSql.ToString(), parameters);

            if (rows > 0)
            {
                Model.AUDITLOG auditobj = new Model.AUDITLOG();
                auditobj.UserID      = UserID;
                auditobj.CreateDate  = DateTime.Now;
                auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
                auditobj.ModuleName  = "DAL.QUERYPARAMS.Delete";
                auditobj.Message     = String.Format(AppNum.AuditMessage.QueryParamsDeleteSuccess, REPORT, NAME);

                AUDITLOG.Add(auditobj);

                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#4
0
        /// <summary>
        /// Create AUDITLOG object and set MessageDetail according to object difference
        /// </summary>
        /// <param name="newvalue">Model holding new values</param>
        /// <param name="oldvalue">Model holding original values, can be null if it's insert action</param>
        /// <returns></returns>
        internal static Model.AUDITLOG GetAuditLogObject(this Model.SOURCEVIEW newvalue, Model.SOURCEVIEW oldvalue)
        {
            Model.AUDITLOG result = new Model.AUDITLOG();
            PropertyInfo[] pinfo  = typeof(Model.SOURCEVIEW).GetProperties();
            StringBuilder  sb     = new StringBuilder();


            if (oldvalue == null)
            {
                // new record
                foreach (PropertyInfo p in pinfo)
                {
                    switch (p.Name)
                    {
                    case "SOURCETYPE":
                    case "FORMATTYPE":
                    {
                        // skip these properties
                    }
                    break;

                    default:
                    {
                        sb.AppendFormat("{0} = {1}\r\n", p.Name, p.GetValue(newvalue, null));
                    }
                    break;
                    }
                }
            }
            else
            {
                // old record
                foreach (PropertyInfo p in pinfo)
                {
                    switch (p.Name)
                    {
                    case "SOURCETYPE":
                    case "FORMATTYPE":
                    {
                        // skip these properties
                    }
                    break;

                    default:
                    {
                        if (p.GetValue(newvalue, null) != p.GetValue(oldvalue, null))
                        {
                            sb.AppendFormat("{0} = {1} -> {2}\r\n", p.Name, p.GetValue(oldvalue, null), p.GetValue(newvalue, null));
                        }
                    }
                    break;
                    }
                }
            }

            result.MessageDetail = sb.ToString();

            return(result);
        }
示例#5
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(int UserID, CUSTOMRP.Model.SOURCEVIEW model)
        {
            Model.SOURCEVIEW original = GetModel(UserID, model.ID);

            StringBuilder strSql = new StringBuilder();

            strSql.Append("update SOURCEVIEW set ");
            strSql.Append("SOURCEVIEWNAME=@SOURCEVIEWNAME,");
            strSql.Append("DATABASEID=@DATABASEID,");
            strSql.Append("SOURCETYPE=@SOURCETYPE,");
            strSql.Append("TBLVIEWNAME=@TBLVIEWNAME,");
            strSql.Append("AUDODATE=@AUDODATE,");
            strSql.Append("VIEWLEVEL=@VIEWLEVEL,");
            strSql.Append("[DESC]=@DESC,");
            strSql.Append("FORMATTYPE=@FORMATTYPE");
            strSql.Append(" where ID=@ID");
            SqlParameter[] parameters =
            {
                new SqlParameter("@SOURCEVIEWNAME", SqlDbType.NVarChar,   50),
                new SqlParameter("@DATABASEID",     SqlDbType.Int,         4),
                new SqlParameter("@SOURCETYPE",     SqlDbType.Int,         4),
                new SqlParameter("@TBLVIEWNAME",    SqlDbType.NVarChar,  128),
                new SqlParameter("@AUDODATE",       SqlDbType.DateTime),
                new SqlParameter("@VIEWLEVEL",      SqlDbType.Decimal,     9),
                new SqlParameter("@DESC",           SqlDbType.NVarChar,   50),
                new SqlParameter("@FORMATTYPE",     SqlDbType.Int,         4),
                new SqlParameter("@ID",             SqlDbType.Int, 4)
            };
            parameters[0].Value = model.SOURCEVIEWNAME;
            parameters[1].Value = model.DATABASEID;
            parameters[2].Value = model.SOURCETYPE;
            parameters[3].Value = model.TBLVIEWNAME;
            parameters[4].Value = model.AUDODATE;
            parameters[5].Value = model.VIEWLEVEL;
            parameters[6].Value = model.DESC;
            parameters[7].Value = model.FORMATTYPE;
            parameters[8].Value = model.ID;

            int rows = DbHelperSQL.ExecuteSql(UserID, strSql.ToString(), parameters);

            if (rows > 0)
            {
                Model.AUDITLOG auditobj = model.GetAuditLogObject(original);
                auditobj.UserID      = UserID;
                auditobj.CreateDate  = DateTime.Now;
                auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
                auditobj.ModuleName  = "DAL.SOURCEVIEW.Update";
                auditobj.Message     = String.Format(AppNum.AuditMessage.SourceViewUpdateSuccess, model.ID);

                AUDITLOG.Add(auditobj);

                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#6
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(CUSTOMRP.Model.DATABASE model)
        {
            if (String.IsNullOrEmpty(model.HASHKEY))
            {
                model.HASHKEY = "com";
            }

            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into [DATABASE](");
            strSql.Append("APPLICATIONID,NAME,[DESC],STATUS,LASTMODIFYDATE,LASTMODIFYUSER,AUDOTIME,HASHKEY)");
            strSql.Append(" values (");
            strSql.Append("@APPLICATIONID,@NAME,@DESC,@STATUS,@LASTMODIFYDATE,@LASTMODIFYUSER,@AUDOTIME,@HASHKEY)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@APPLICATIONID",  SqlDbType.Int,          4),
                new SqlParameter("@NAME",           SqlDbType.NVarChar,    50),
                new SqlParameter("@DESC",           SqlDbType.NVarChar,  2000),
                new SqlParameter("@STATUS",         SqlDbType.Int,          4),
                new SqlParameter("@LASTMODIFYDATE", SqlDbType.DateTime),
                new SqlParameter("@LASTMODIFYUSER", SqlDbType.Int,          4),
                new SqlParameter("@AUDOTIME",       SqlDbType.DateTime),
                new SqlParameter("@HASHKEY",        SqlDbType.NVarChar, 50)
            };
            parameters[0].Value = model.APPLICATIONID;
            parameters[1].Value = model.NAME;
            parameters[2].Value = model.DESC;
            parameters[3].Value = model.STATUS;
            parameters[4].Value = model.LASTMODIFYDATE;
            parameters[5].Value = model.LASTMODIFYUSER;
            parameters[6].Value = model.AUDOTIME;
            parameters[7].Value = model.HASHKEY;

            object obj = DbHelperSQL.GetSingle(model.LASTMODIFYUSER, strSql.ToString(), parameters);

            if (obj == null)
            {
                return(0);
            }
            else
            {
                model.ID = Convert.ToInt32(obj);

                Model.AUDITLOG auditobj = model.GetAuditLogObject(null);
                auditobj.UserID      = model.LASTMODIFYUSER;
                auditobj.CreateDate  = DateTime.Now;
                auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
                auditobj.ModuleName  = "DAL.DATABASE.Add";
                auditobj.Message     = String.Format(AppNum.AuditMessage.DatabaseInsertSuccess, model.ID);

                AUDITLOG.Add(auditobj);

                return(model.ID);
            }
        }
示例#7
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(CUSTOMRP.Model.APPLICATION model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update APPLICATION set ");
            strSql.Append("NAME=@NAME,");
            strSql.Append("DESC=@DESC,");
            strSql.Append("CONFIG_VIEW1=@CONFIG_VIEW1,");
            strSql.Append("CONFIG_VIEW2=@CONFIG_VIEW2,");
            strSql.Append("CONFIG_VIEW3=@CONFIG_VIEW3,");
            strSql.Append("LASTMODIFYDATE=@LASTMODIFYDATE,");
            strSql.Append("LASTMODIFYUSER=@LASTMODIFYUSER,");
            strSql.Append("AUDODATE=@AUDODATE");
            strSql.Append(" where ID=@ID");
            SqlParameter[] parameters =
            {
                new SqlParameter("@NAME",           SqlDbType.NVarChar,  50),
                new SqlParameter("@DESC",           SqlDbType.NVarChar,  -1),
                new SqlParameter("@CONFIG_VIEW1",   SqlDbType.NVarChar,  -1),
                new SqlParameter("@CONFIG_VIEW2",   SqlDbType.NVarChar,  -1),
                new SqlParameter("@CONFIG_VIEW3",   SqlDbType.NVarChar,  -1),
                new SqlParameter("@LASTMODIFYDATE", SqlDbType.DateTime),
                new SqlParameter("@LASTMODIFYUSER", SqlDbType.Int,        4),
                new SqlParameter("@AUDODATE",       SqlDbType.DateTime),
                new SqlParameter("@ID",             SqlDbType.Int, 4)
            };
            parameters[0].Value = model.NAME;
            parameters[1].Value = model.DESC;
            parameters[2].Value = model.CONFIG_VIEW1;
            parameters[3].Value = model.CONFIG_VIEW2;
            parameters[4].Value = model.CONFIG_VIEW3;
            parameters[5].Value = model.LASTMODIFYDATE;
            parameters[6].Value = model.LASTMODIFYUSER;
            parameters[7].Value = model.AUDODATE;
            parameters[8].Value = model.ID;

            int rows = DbHelperSQL.ExecuteSql(model.LASTMODIFYUSER, strSql.ToString(), parameters);

            if (rows > 0)
            {
                Model.AUDITLOG auditobj = model.GetAuditLogObject(null);
                auditobj.UserID      = model.LASTMODIFYUSER;
                auditobj.CreateDate  = DateTime.Now;
                auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
                auditobj.ModuleName  = "DAL.APPLICATION.Update";
                auditobj.Message     = String.Format(AppNum.AuditMessage.ApplicationUpdateSuccess, model.ID);

                AUDITLOG.Add(auditobj);

                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#8
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(int UserID, CUSTOMRP.Model.SOURCEVIEW model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into SOURCEVIEW(");
            strSql.Append("SOURCEVIEWNAME,DATABASEID,SOURCETYPE,TBLVIEWNAME,AUDODATE,VIEWLEVEL,[DESC],FORMATTYPE)");
            strSql.Append(" values (");
            strSql.Append("@SOURCEVIEWNAME,@DATABASEID,@SOURCETYPE,@TBLVIEWNAME,@AUDODATE,@VIEWLEVEL,@DESC,@FORMATTYPE)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@SOURCEVIEWNAME", SqlDbType.NVarChar,   50),
                new SqlParameter("@DATABASEID",     SqlDbType.Int,         4),
                new SqlParameter("@SOURCETYPE",     SqlDbType.Int,         4),
                new SqlParameter("@TBLVIEWNAME",    SqlDbType.NVarChar,  128),
                new SqlParameter("@AUDODATE",       SqlDbType.DateTime),
                new SqlParameter("@VIEWLEVEL",      SqlDbType.Decimal,     9),
                new SqlParameter("@DESC",           SqlDbType.NVarChar,   50),
                new SqlParameter("@FORMATTYPE",     SqlDbType.Int, 4)
            };
            parameters[0].Value = model.SOURCEVIEWNAME;
            parameters[1].Value = model.DATABASEID;
            parameters[2].Value = model.SOURCETYPE;
            parameters[3].Value = model.TBLVIEWNAME;
            parameters[4].Value = model.AUDODATE;
            parameters[5].Value = model.VIEWLEVEL;
            parameters[6].Value = model.DESC;
            parameters[7].Value = model.FORMATTYPE;

            object obj = DbHelperSQL.GetSingle(UserID, strSql.ToString(), parameters);

            if (obj == null)
            {
                return(0);
            }
            else
            {
                model.ID = Convert.ToInt32(obj);

                Model.AUDITLOG auditobj = model.GetAuditLogObject(null);
                auditobj.UserID      = UserID;
                auditobj.CreateDate  = DateTime.Now;
                auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
                auditobj.ModuleName  = "DAL.SOURCEVIEW.Add";
                auditobj.Message     = String.Format(AppNum.AuditMessage.SourceViewInsertSuccess, model.ID);

                AUDITLOG.Add(auditobj);

                return(model.ID);
            }
        }
示例#9
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(CUSTOMRP.Model.APPLICATION model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into APPLICATION(");
            strSql.Append("NAME,[DESC],CONFIG_VIEW1,CONFIG_VIEW2,CONFIG_VIEW3,LASTMODIFYDATE,LASTMODIFYUSER,AUDODATE)");
            strSql.Append(" values (");
            strSql.Append("@NAME,@DESC,@CONFIG_VIEW1,@CONFIG_VIEW2,@CONFIG_VIEW3,@LASTMODIFYDATE,@LASTMODIFYUSER,@AUDODATE)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@NAME",           SqlDbType.NVarChar,  50),
                new SqlParameter("@DESC",           SqlDbType.NVarChar,  -1),
                new SqlParameter("@CONFIG_VIEW1",   SqlDbType.NVarChar,  -1),
                new SqlParameter("@CONFIG_VIEW2",   SqlDbType.NVarChar,  -1),
                new SqlParameter("@CONFIG_VIEW3",   SqlDbType.NVarChar,  -1),
                new SqlParameter("@LASTMODIFYDATE", SqlDbType.DateTime),
                new SqlParameter("@LASTMODIFYUSER", SqlDbType.Int,        4),
                new SqlParameter("@AUDODATE",       SqlDbType.DateTime)
            };
            parameters[0].Value = model.NAME;
            parameters[1].Value = model.DESC;
            parameters[2].Value = model.CONFIG_VIEW1;
            parameters[3].Value = model.CONFIG_VIEW2;
            parameters[4].Value = model.CONFIG_VIEW3;
            parameters[5].Value = model.LASTMODIFYDATE;
            parameters[6].Value = model.LASTMODIFYUSER;
            parameters[7].Value = model.AUDODATE;

            object obj = DbHelperSQL.GetSingle(model.LASTMODIFYUSER, strSql.ToString(), parameters);

            if (obj == null)
            {
                return(0);
            }
            else
            {
                model.ID = Convert.ToInt32(obj);

                Model.AUDITLOG auditobj = model.GetAuditLogObject(null);
                auditobj.UserID      = model.LASTMODIFYUSER;
                auditobj.CreateDate  = DateTime.Now;
                auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
                auditobj.ModuleName  = "DAL.APPLICATION.Add";
                auditobj.Message     = String.Format(AppNum.AuditMessage.ApplicationInsertSuccess, model.ID);

                AUDITLOG.Add(auditobj);

                return(model.ID);
            }
        }
示例#10
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(int UserID, CUSTOMRP.Model.USERGROUP model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update USERGROUP set ");
            strSql.Append("DATABASEID=@DATABASEID,");
            strSql.Append("NAME=@NAME,");
            strSql.Append("DESCRIPTION=@DESCRIPTION,");
            strSql.Append("AUDODATE=@AUDODATE,");
            strSql.Append("EXTEND=@EXTEND");
            strSql.Append(" where ID=@ID");
            SqlParameter[] parameters =
            {
                new SqlParameter("@DATABASEID",  SqlDbType.Int,        4),
                new SqlParameter("@NAME",        SqlDbType.NVarChar,  50),
                new SqlParameter("@DESCRIPTION", SqlDbType.NVarChar,  -1),
                new SqlParameter("@AUDODATE",    SqlDbType.DateTime),
                new SqlParameter("@EXTEND",      SqlDbType.NVarChar,  -1),
                new SqlParameter("@ID",          SqlDbType.Int, 4)
            };
            parameters[0].Value = model.DATABASEID;
            parameters[1].Value = model.NAME;
            parameters[2].Value = model.DESCRIPTION;
            parameters[3].Value = model.AUDODATE;
            parameters[4].Value = model.EXTEND;
            parameters[5].Value = model.ID;

            int rows = DbHelperSQL.ExecuteSql(UserID, strSql.ToString(), parameters);

            if (rows > 0)
            {
                Model.AUDITLOG auditobj = model.GetAuditLogObject(null);
                auditobj.UserID      = UserID;
                auditobj.CreateDate  = DateTime.Now;
                auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
                auditobj.ModuleName  = "DAL.USERGROUP.Update";
                auditobj.Message     = String.Format(AppNum.AuditMessage.UserGroupUpdateSuccess, model.ID);

                AUDITLOG.Add(auditobj);

                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#11
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(int UserID, CUSTOMRP.Model.SensitivityLevel model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into SensitivityLevel(");
            strSql.Append("DATABASEID,NAME,SLEVEL,DESCRIPTION,AUDOTIME)");
            strSql.Append(" values (");
            strSql.Append("@DATABASEID,@NAME,@SLEVEL,@DESCRIPTION,@AUDOTIME)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@DATABASEID",  SqlDbType.Int,       4),
                new SqlParameter("@NAME",        SqlDbType.NVarChar, 50),
                new SqlParameter("@SLEVEL",      SqlDbType.Decimal,   9),
                new SqlParameter("@DESCRIPTION", SqlDbType.NVarChar, -1),
                new SqlParameter("@AUDOTIME",    SqlDbType.DateTime)
            };
            parameters[0].Value = model.DATABASEID;
            parameters[1].Value = model.NAME;
            parameters[2].Value = model.SLEVEL;
            parameters[3].Value = model.DESCRIPTION;
            parameters[4].Value = model.AUDOTIME;

            object obj = DbHelperSQL.GetSingle(UserID, strSql.ToString(), parameters);

            if (obj == null)
            {
                return(0);
            }
            else
            {
                model.ID = Convert.ToInt32(obj);

                Model.AUDITLOG auditobj = model.GetAuditLogObject(null);
                auditobj.UserID      = UserID;
                auditobj.CreateDate  = DateTime.Now;
                auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
                auditobj.ModuleName  = "DAL.SENSITIVITYLEVEL.Add";
                auditobj.Message     = String.Format(AppNum.AuditMessage.SensitivityLevelInsertSuccess, model.ID);

                AUDITLOG.Add(auditobj);

                return(Convert.ToInt32(obj));
            }
        }
示例#12
0
        /// <summary>
        /// Create AUDITLOG object and set MessageDetail according to object difference.
        /// </summary>
        /// <param name="newvalue">Model holding new values</param>
        /// <param name="oldvalue">Model holding original values, can be null if it's insert action</param>
        /// <returns></returns>
        public static Model.AUDITLOG GetAuditLogObject(this object newvalue, object oldvalue)
        {
            Model.AUDITLOG result = new Model.AUDITLOG();
            PropertyInfo[] pinfo  = newvalue.GetType().GetProperties();
            StringBuilder  sb     = new StringBuilder();


            if (oldvalue == null)
            {
                // new record
                foreach (PropertyInfo p in pinfo)
                {
                    switch (p.Name)
                    {
                    default:
                    {
                        sb.AppendFormat("{0} = {1}\r\n", p.Name, p.GetValue(newvalue, null));
                    }
                    break;
                    }
                }
            }
            else
            {
                // old record
                foreach (PropertyInfo p in pinfo)
                {
                    switch (p.Name)
                    {
                    default:
                    {
                        if (p.GetValue(newvalue, null) != p.GetValue(oldvalue, null))
                        {
                            sb.AppendFormat("{0} = {1} -> {2}\r\n", p.Name, p.GetValue(oldvalue, null), p.GetValue(newvalue, null));
                        }
                    }
                    break;
                    }
                }
            }

            result.MessageDetail = sb.ToString();

            return(result);
        }
示例#13
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(int UserID, CUSTOMRP.Model.USERGROUP model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into USERGROUP(");
            strSql.Append("DATABASEID,NAME,DESCRIPTION,AUDODATE,EXTEND)");
            strSql.Append(" values (");
            strSql.Append("@DATABASEID,@NAME,@DESCRIPTION,@AUDODATE,@EXTEND)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@DATABASEID",  SqlDbType.Int,        4),
                new SqlParameter("@NAME",        SqlDbType.NVarChar,  50),
                new SqlParameter("@DESCRIPTION", SqlDbType.NVarChar,  -1),
                new SqlParameter("@AUDODATE",    SqlDbType.DateTime),
                new SqlParameter("@EXTEND",      SqlDbType.NVarChar, -1)
            };
            parameters[0].Value = model.DATABASEID;
            parameters[1].Value = model.NAME;
            parameters[2].Value = model.DESCRIPTION;
            parameters[3].Value = model.AUDODATE;
            parameters[4].Value = model.EXTEND;

            object obj = DbHelperSQL.GetSingle(UserID, strSql.ToString(), parameters);

            if (obj == null)
            {
                return(0);
            }
            else
            {
                model.ID = Convert.ToInt32(obj);

                Model.AUDITLOG auditobj = model.GetAuditLogObject(null);
                auditobj.UserID      = UserID;
                auditobj.CreateDate  = DateTime.Now;
                auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
                auditobj.ModuleName  = "DAL.USERGROUP.Add";
                auditobj.Message     = String.Format(AppNum.AuditMessage.UserGroupInsertSuccess, model.ID);

                AUDITLOG.Add(auditobj);

                return(model.ID);
            }
        }
示例#14
0
        /// <summary>
        /// 删除一条数据
        /// </summary>
        public bool Delete(int UserID, int ID)
        {
            Model.REPORT original = GetModel(UserID, ID);

            #region Clear columns from ReportColumn table first
            REPORTCOLUMN dalRC = new REPORTCOLUMN();
            List <Model.REPORTCOLUMN> rclist = dalRC.GetModelListForReport(UserID, ID);
            foreach (Model.REPORTCOLUMN rc in rclist)
            {
                dalRC.Delete(UserID, rc.ID);
            }
            #endregion

            StringBuilder strSql = new StringBuilder();
            strSql.Append("delete from REPORT ");
            strSql.Append(" where ID=@ID");
            SqlParameter[] parameters =
            {
                new SqlParameter("@ID", SqlDbType.Int, 4)
            };
            parameters[0].Value = ID;

            int rows = DbHelperSQL.ExecuteSql(UserID, strSql.ToString(), parameters);
            if (rows > 0)
            {
                Model.AUDITLOG auditobj = original.GetAuditLogObject(null);
                auditobj.UserID      = UserID;
                auditobj.CreateDate  = DateTime.Now;
                auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
                auditobj.ModuleName  = "DAL.REPORT.Delete";
                auditobj.Message     = String.Format(AppNum.AuditMessage.ReportDeleteSuccess, ID);

                AUDITLOG.Add(auditobj);

                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#15
0
        public bool DeleteForSourceView(int UserID, int SVID)
        {
            Model.SOURCEVIEWCOLUMN[] original = GetModelsForSourceView(UserID, SVID, true).ToArray();

            int rows = DbHelperSQL.ExecuteSql(UserID, "DELETE FROM SOURCEVIEWCOLUMN WHERE SVID = @SVID",
                                              new SqlParameter("@SVID", SVID)
                                              );

            if (rows > 0)
            {
                Model.AUDITLOG auditobj = original.GetAuditLogObject(null);
                auditobj.UserID      = UserID;
                auditobj.CreateDate  = DateTime.Now;
                auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
                auditobj.ModuleName  = "DAL.SOURCEVIEWCOLUMN.DeleteForSourceView.Delete";
                auditobj.Message     = String.Format(AppNum.AuditMessage.SourceViewColumnDeleteSuccess, SVID);

                AUDITLOG.Add(auditobj);
            }

            return(rows > 0);
        }
示例#16
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(int UserID, CUSTOMRP.Model.QUERYPARAMS model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update QUERYPARAMS set ");
            strSql.Append("REPORT=@REPORT,");
            strSql.Append("NAME=@NAME,");
            strSql.Append("VALUE=@VALUE");
            strSql.Append(" where REPORT=@REPORT and NAME=@NAME");
            SqlParameter[] parameters =
            {
                new SqlParameter("@REPORT", SqlDbType.Int),
                new SqlParameter("@NAME",   SqlDbType.NVarChar,50),
                new SqlParameter("@VALUE",  SqlDbType.NVarChar, 100)
            };
            parameters[0].Value = model.REPORT;
            parameters[1].Value = model.NAME;
            parameters[2].Value = model.VALUE;

            int rows = DbHelperSQL.ExecuteSql(UserID, strSql.ToString(), parameters);

            if (rows > 0)
            {
                Model.AUDITLOG auditobj = model.GetAuditLogObject(null);
                auditobj.UserID      = UserID;
                auditobj.CreateDate  = DateTime.Now;
                auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
                auditobj.ModuleName  = "DAL.QUERYPARAMS.Update";
                auditobj.Message     = String.Format(AppNum.AuditMessage.QueryParamsUpdateSuccess, model.REPORT, model.NAME);

                AUDITLOG.Add(auditobj);

                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#17
0
文件: USER.cs 项目: lsfv/queryreport
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(CUSTOMRP.Model.USER model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into [USER](");
            strSql.Append("UID,GID,DATABASEID,PASSWORD,VIEWLEVEL,REPORTGROUPLIST,USERGROUPLEVEL,SETUPUSER,REPORTRIGHT,AUTODATE,EMAIL,USERGROUP,NAME,SENSITIVITYLEVEL)");
            strSql.Append(" values (");
            strSql.Append("@UID,@GID,@DATABASEID,@PASSWORD,@VIEWLEVEL,@REPORTGROUPLIST,@USERGROUPLEVEL,@SETUPUSER,@REPORTRIGHT,@AUTODATE,@EMAIL,@USERGROUP,@NAME,@SENSITIVITYLEVEL)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@UID",              SqlDbType.NVarChar,   200),
                new SqlParameter("@GID",              SqlDbType.Int,          4),
                new SqlParameter("@DATABASEID",       SqlDbType.Int,          4),
                new SqlParameter("@PASSWORD",         SqlDbType.NVarChar,    50),
                new SqlParameter("@VIEWLEVEL",        SqlDbType.NVarChar,  2000),
                new SqlParameter("@REPORTGROUPLIST",  SqlDbType.NVarChar,  2000),
                new SqlParameter("@USERGROUPLEVEL",   SqlDbType.NVarChar,  2000),
                new SqlParameter("@SETUPUSER",        SqlDbType.Int,          4),
                new SqlParameter("@REPORTRIGHT",      SqlDbType.Int,          4),
                new SqlParameter("@AUTODATE",         SqlDbType.DateTime),
                new SqlParameter("@EMAIL",            SqlDbType.NVarChar,  2000),
                new SqlParameter("@USERGROUP",        SqlDbType.NVarChar,   100),
                new SqlParameter("@NAME",             SqlDbType.NVarChar,    50),
                new SqlParameter("@SENSITIVITYLEVEL", SqlDbType.Decimal, 9)
            };
            parameters[0].Value  = model.UID;
            parameters[1].Value  = model.GID;
            parameters[2].Value  = model.DATABASEID;
            parameters[3].Value  = model.PASSWORD;
            parameters[4].Value  = model.VIEWLEVEL;
            parameters[5].Value  = model.REPORTGROUPLIST;
            parameters[6].Value  = model.USERGROUPLEVEL;
            parameters[7].Value  = model.SETUPUSER;
            parameters[8].Value  = model.REPORTRIGHT;
            parameters[9].Value  = model.AUTODATE;
            parameters[10].Value = model.EMAIL;
            parameters[11].Value = model.USERGROUP;
            parameters[12].Value = model.NAME;
            parameters[13].Value = model.SENSITIVITYLEVEL;

            object obj = DbHelperSQL.GetSingle(model.SETUPUSER, strSql.ToString(), parameters);

            if (obj == null)
            {
                return(0);
            }
            else
            {
                model.ID = Convert.ToInt32(obj);

                Model.AUDITLOG auditobj = model.GetAuditLogObject(null);
                auditobj.UserID      = model.SETUPUSER;
                auditobj.CreateDate  = DateTime.Now;
                auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
                auditobj.ModuleName  = "DAL.USER.Add";
                auditobj.Message     = String.Format(AppNum.AuditMessage.UserInsertSuccess, model.ID);

                AUDITLOG.Add(auditobj);

                return(model.ID);
            }
        }
示例#18
0
文件: USER.cs 项目: lsfv/queryreport
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(CUSTOMRP.Model.USER model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update [USER] set ");
            strSql.Append("DATABASEID=@DATABASEID,");
            strSql.Append("PASSWORD=@PASSWORD,");
            strSql.Append("VIEWLEVEL=@VIEWLEVEL,");
            strSql.Append("REPORTGROUPLIST=@REPORTGROUPLIST,");
            strSql.Append("USERGROUPLEVEL=@USERGROUPLEVEL,");
            strSql.Append("SETUPUSER=@SETUPUSER,");
            strSql.Append("REPORTRIGHT=@REPORTRIGHT,");
            strSql.Append("AUTODATE=@AUTODATE,");
            strSql.Append("EMAIL=@EMAIL,");
            strSql.Append("USERGROUP=@USERGROUP,");
            strSql.Append("NAME=@NAME,");
            strSql.Append("SENSITIVITYLEVEL=@SENSITIVITYLEVEL,");
            strSql.Append("GID=@GID");
            strSql.Append(" where ID=@ID");
            SqlParameter[] parameters =
            {
                new SqlParameter("@DATABASEID",       SqlDbType.Int,          4),
                new SqlParameter("@PASSWORD",         SqlDbType.NVarChar,    50),
                new SqlParameter("@VIEWLEVEL",        SqlDbType.NVarChar,  2000),
                new SqlParameter("@REPORTGROUPLIST",  SqlDbType.NVarChar,  2000),
                new SqlParameter("@USERGROUPLEVEL",   SqlDbType.NVarChar,  2000),
                new SqlParameter("@SETUPUSER",        SqlDbType.Int,          4),
                new SqlParameter("@REPORTRIGHT",      SqlDbType.Int,          4),
                new SqlParameter("@AUTODATE",         SqlDbType.DateTime),
                new SqlParameter("@EMAIL",            SqlDbType.NVarChar,  2000),
                new SqlParameter("@USERGROUP",        SqlDbType.NVarChar,   100),
                new SqlParameter("@NAME",             SqlDbType.NVarChar,    50),
                new SqlParameter("@SENSITIVITYLEVEL", SqlDbType.Decimal,      9),
                new SqlParameter("@ID",               SqlDbType.Int,          4),
                new SqlParameter("@UID",              SqlDbType.NVarChar,   200),
                new SqlParameter("@GID",              SqlDbType.Int, 4)
            };
            parameters[0].Value  = model.DATABASEID;
            parameters[1].Value  = model.PASSWORD;
            parameters[2].Value  = model.VIEWLEVEL;
            parameters[3].Value  = model.REPORTGROUPLIST;
            parameters[4].Value  = model.USERGROUPLEVEL;
            parameters[5].Value  = model.SETUPUSER;
            parameters[6].Value  = model.REPORTRIGHT;
            parameters[7].Value  = model.AUTODATE;
            parameters[8].Value  = model.EMAIL;
            parameters[9].Value  = model.USERGROUP;
            parameters[10].Value = model.NAME;
            parameters[11].Value = model.SENSITIVITYLEVEL;
            parameters[12].Value = model.ID;
            parameters[13].Value = model.UID;
            parameters[14].Value = model.GID;

            int rows = DbHelperSQL.ExecuteSql(model.SETUPUSER, strSql.ToString(), parameters);

            if (rows > 0)
            {
                Model.AUDITLOG auditobj = model.GetAuditLogObject(null);
                auditobj.UserID      = model.SETUPUSER;
                auditobj.CreateDate  = DateTime.Now;
                auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
                auditobj.ModuleName  = "DAL.USER.Update";
                auditobj.Message     = String.Format(AppNum.AuditMessage.UserUpdateSuccess, model.ID);

                AUDITLOG.Add(auditobj);

                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#19
0
        public bool Replace(CUSTOMRP.Model.REPORT model)
        {
            bool result = false;
            bool isNew  = false;

            CUSTOMRP.Model.REPORT original = null;
            if (model.ID == 0)
            {
                model.ID = Add(model);
                result   = model.ID != 0;
                isNew    = true;
            }
            else
            {
                original = GetModel(model.ADDUSER, model.ID);

                result = Update(model);
            }
            if (!result)
            {
                return(false);
            }                               // error occurred

            // prepare AuditLog object
            Model.AUDITLOG auditobj = model.GetAuditLogObject(original);
            auditobj.UserID     = model.ADDUSER;
            auditobj.CreateDate = DateTime.Now;

            #region Report Columns handling

            try
            {
                CUSTOMRP.DAL.REPORTCOLUMN dalRC = new REPORTCOLUMN();

                //v1.0.0 - Cheong - 2015/06/30 - delete removed columns
                if (!isNew)
                {
                    Model.REPORTCOLUMN[] dbRC = (from oldrc in dalRC.GetModelListForReport(model.ADDUSER, model.ID)
                                                 join newrc in model.ReportColumns on new { oldrc.COLUMNNAME, oldrc.COLUMNFUNC, oldrc.COLUMNTYPE } equals new { newrc.COLUMNNAME, newrc.COLUMNFUNC, newrc.COLUMNTYPE } into g
                                                 from gjoin in g.DefaultIfEmpty()
                                                 where gjoin == null
                                                 select oldrc).ToArray();

                    foreach (Model.REPORTCOLUMN rc in dbRC)
                    {
                        dalRC.Delete(model.ADDUSER, rc.ID);
                    }
                }

                //v1.0.0 - Cheong - 2016/03/23 - Preserve order on criteria and group columns
                int contentSEQ  = 1;
                int criteriaSEQ = 1;
                int sortonSEQ   = 1;
                int groupSEQ    = 1;
                foreach (CUSTOMRP.Model.REPORTCOLUMN rc in model.ReportColumns)
                {
                    rc.RPID = model.ID;
                    switch (rc.COLUMNFUNC)
                    {
                    case 1:
                    {
                        rc.SEQ = contentSEQ;
                        contentSEQ++;
                    }
                    break;

                    case 2:
                    {
                        rc.SEQ = criteriaSEQ;
                        criteriaSEQ++;
                    }
                    break;

                    case 3:
                    {
                        rc.SEQ = sortonSEQ;
                        sortonSEQ++;
                    }
                    break;

                    case 6:
                    {
                        rc.SEQ = groupSEQ;
                        groupSEQ++;
                    }
                    break;

                    default:
                    {
                        rc.SEQ = -1;
                    }
                    break;
                    }
                    //if (rc.COLUMNFUNC == 1)
                    //{
                    //    rc.SEQ = contentSEQ;
                    //    contentSEQ++;
                    //}
                    //else if (rc.COLUMNFUNC == 3)
                    //{
                    //    rc.SEQ = sortonSEQ;
                    //    sortonSEQ++;
                    //}
                    //else
                    //{
                    //    rc.SEQ = -1;
                    //}
                    result = dalRC.Replace(model.ADDUSER, rc);
                    if (!result)
                    {
                        return(false);
                    }
                }
            }
            catch
            {
                result = false;
            }

            #endregion Report Columns handling

            #region WordFile handling
            try
            {
                if (model.WordFile != null)
                {
                    DAL.WORDFILE   dalWF = new WORDFILE();
                    Model.WORDFILE wf    = dalWF.GetModelByReportID(model.ADDUSER, model.ID);
                    if (wf == null)
                    {
                        if (model.WordFile.RPID == 0)
                        {
                            model.WordFile.RPID = model.ID;
                        }
                        dalWF.AddFile(model.WordFile);
                    }
                    else
                    {
                        wf.Description  = model.WordFile.Description;
                        wf.WordFileName = model.WordFile.WordFileName;
                        wf.OrigFileName = model.WordFile.OrigFileName;
                        wf.ModifyUser   = model.WordFile.ModifyUser;
                        wf.ModifyDate   = model.WordFile.ModifyDate;
                        dalWF.UpdateFile(wf);
                    }
                }
            }
            catch
            {
                result = false;
            }

            #endregion WordFile handling

            auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
            auditobj.ModuleName  = "DAL.REPORT.REPLACE";
            auditobj.Message     = String.Format(isNew ? AppNum.AuditMessage.ReportInsertSuccess : AppNum.AuditMessage.ReportUpdateSuccess, model.ID);

            AUDITLOG.Add(auditobj);

            return(result);
        }
示例#20
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(CUSTOMRP.Model.DATABASE model)
        {
            if (String.IsNullOrEmpty(model.HASHKEY))
            {
                model.HASHKEY = "com";
            }

            StringBuilder strSql = new StringBuilder();

            strSql.Append("update [DATABASE] set ");
            strSql.Append("APPLICATIONID=@APPLICATIONID,");
            strSql.Append("NAME=@NAME,");
            strSql.Append("[DESC]=@DESC,");
            strSql.Append("STATUS=@STATUS,");
            strSql.Append("LASTMODIFYDATE=@LASTMODIFYDATE,");
            strSql.Append("LASTMODIFYUSER=@LASTMODIFYUSER,");
            strSql.Append("AUDOTIME=@AUDOTIME,");
            strSql.Append("HASHKEY=@HASHKEY");
            strSql.Append(" where ID=@ID");
            SqlParameter[] parameters =
            {
                new SqlParameter("@APPLICATIONID",  SqlDbType.Int,          4),
                new SqlParameter("@NAME",           SqlDbType.NVarChar,    50),
                new SqlParameter("@DESC",           SqlDbType.NVarChar,  2000),
                new SqlParameter("@STATUS",         SqlDbType.Int,          4),
                new SqlParameter("@LASTMODIFYDATE", SqlDbType.DateTime),
                new SqlParameter("@LASTMODIFYUSER", SqlDbType.Int,          4),
                new SqlParameter("@AUDOTIME",       SqlDbType.DateTime),
                new SqlParameter("@HASHKEY",        SqlDbType.NVarChar,    50),
                new SqlParameter("@ID",             SqlDbType.Int, 4)
            };
            parameters[0].Value = model.APPLICATIONID;
            parameters[1].Value = model.NAME;
            parameters[2].Value = model.DESC;
            parameters[3].Value = model.STATUS;
            parameters[4].Value = model.LASTMODIFYDATE;
            parameters[5].Value = model.LASTMODIFYUSER;
            parameters[6].Value = model.AUDOTIME;
            parameters[7].Value = model.HASHKEY;
            parameters[8].Value = model.ID;

            int rows = DbHelperSQL.ExecuteSql(model.LASTMODIFYUSER, strSql.ToString(), parameters);

            if (rows > 0)
            {
                Model.AUDITLOG auditobj = model.GetAuditLogObject(null);
                auditobj.UserID      = model.LASTMODIFYUSER;
                auditobj.CreateDate  = DateTime.Now;
                auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
                auditobj.ModuleName  = "DAL.DATABASE.Update";
                auditobj.Message     = String.Format(AppNum.AuditMessage.DatabaseUpdateSuccess, model.ID);

                AUDITLOG.Add(auditobj);

                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#21
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(int UserID, CUSTOMRP.Model.GROUPRIGHT model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update GROUPRIGHT set ");
            strSql.Append("COMPANY=@COMPANY,");
            strSql.Append("REPORTGROUP=@REPORTGROUP,");
            strSql.Append("CATEGARY=@CATEGARY,");
            strSql.Append("SECURITY=@SECURITY,");
            strSql.Append("QUERY=@QUERY,");
            strSql.Append("USERGROUP=@USERGROUP,");
            strSql.Append("USERGROUPRIGHT=@USERGROUPRIGHT,");
            strSql.Append("USERSETUP=@USERSETUP,");
            strSql.Append("AUDODATE=@AUDODATE,");
            strSql.Append("EXTEND1=@EXTEND1,");
            strSql.Append("EXTEND2=@EXTEND2,");
            strSql.Append("EXTEND3=@EXTEND3");
            strSql.Append(" where ID=@ID");
            SqlParameter[] parameters =
            {
                new SqlParameter("@COMPANY",        SqlDbType.NVarChar,  50),
                new SqlParameter("@REPORTGROUP",    SqlDbType.NVarChar,  50),
                new SqlParameter("@CATEGARY",       SqlDbType.NVarChar,  50),
                new SqlParameter("@SECURITY",       SqlDbType.NVarChar,  50),
                new SqlParameter("@QUERY",          SqlDbType.NVarChar,  50),
                new SqlParameter("@USERGROUP",      SqlDbType.NVarChar,  50),
                new SqlParameter("@USERGROUPRIGHT", SqlDbType.NVarChar,  50),
                new SqlParameter("@USERSETUP",      SqlDbType.NVarChar,  50),
                new SqlParameter("@AUDODATE",       SqlDbType.DateTime),
                new SqlParameter("@EXTEND1",        SqlDbType.NVarChar,  50),
                new SqlParameter("@EXTEND2",        SqlDbType.NVarChar,  50),
                new SqlParameter("@EXTEND3",        SqlDbType.NVarChar,  -1),
                new SqlParameter("@ID",             SqlDbType.Int,        4),
                new SqlParameter("@GID",            SqlDbType.Int, 4)
            };
            parameters[0].Value  = model.COMPANY;
            parameters[1].Value  = model.REPORTGROUP;
            parameters[2].Value  = model.CATEGARY;
            parameters[3].Value  = model.SECURITY;
            parameters[4].Value  = model.QUERY;
            parameters[5].Value  = model.USERGROUP;
            parameters[6].Value  = model.USERGROUPRIGHT;
            parameters[7].Value  = model.USERSETUP;
            parameters[8].Value  = model.AUDODATE;
            parameters[9].Value  = model.EXTEND1;
            parameters[10].Value = model.EXTEND2;
            parameters[11].Value = model.EXTEND3;
            parameters[12].Value = model.ID;
            parameters[13].Value = model.GID;

            int rows = DbHelperSQL.ExecuteSql(UserID, strSql.ToString(), parameters);

            if (rows > 0)
            {
                Model.AUDITLOG auditobj = model.GetAuditLogObject(null);
                auditobj.UserID      = UserID;
                auditobj.CreateDate  = DateTime.Now;
                auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
                auditobj.ModuleName  = "DAL.GROUPRIGHT.Update";
                auditobj.Message     = String.Format(AppNum.AuditMessage.GroupRightUpdateSuccess, model.ID);

                AUDITLOG.Add(auditobj);

                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#22
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(int UserID, CUSTOMRP.Model.GROUPRIGHT model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into GROUPRIGHT(");
            strSql.Append("GID,COMPANY,REPORTGROUP,CATEGARY,SECURITY,QUERY,USERGROUP,USERGROUPRIGHT,USERSETUP,AUDODATE,EXTEND1,EXTEND2,EXTEND3)");
            strSql.Append(" values (");
            strSql.Append("@GID,@COMPANY,@REPORTGROUP,@CATEGARY,@SECURITY,@QUERY,@USERGROUP,@USERGROUPRIGHT,@USERSETUP,@AUDODATE,@EXTEND1,@EXTEND2,@EXTEND3)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@GID",            SqlDbType.Int,        4),
                new SqlParameter("@COMPANY",        SqlDbType.NVarChar,  50),
                new SqlParameter("@REPORTGROUP",    SqlDbType.NVarChar,  50),
                new SqlParameter("@CATEGARY",       SqlDbType.NVarChar,  50),
                new SqlParameter("@SECURITY",       SqlDbType.NVarChar,  50),
                new SqlParameter("@QUERY",          SqlDbType.NVarChar,  50),
                new SqlParameter("@USERGROUP",      SqlDbType.NVarChar,  50),
                new SqlParameter("@USERGROUPRIGHT", SqlDbType.NVarChar,  50),
                new SqlParameter("@USERSETUP",      SqlDbType.NVarChar,  50),
                new SqlParameter("@AUDODATE",       SqlDbType.DateTime),
                new SqlParameter("@EXTEND1",        SqlDbType.NVarChar,  50),
                new SqlParameter("@EXTEND2",        SqlDbType.NVarChar,  50),
                new SqlParameter("@EXTEND3",        SqlDbType.NVarChar, -1)
            };
            parameters[0].Value  = model.GID;
            parameters[1].Value  = model.COMPANY;
            parameters[2].Value  = model.REPORTGROUP;
            parameters[3].Value  = model.CATEGARY;
            parameters[4].Value  = model.SECURITY;
            parameters[5].Value  = model.QUERY;
            parameters[6].Value  = model.USERGROUP;
            parameters[7].Value  = model.USERGROUPRIGHT;
            parameters[8].Value  = model.USERSETUP;
            parameters[9].Value  = model.AUDODATE;
            parameters[10].Value = model.EXTEND1;
            parameters[11].Value = model.EXTEND2;
            parameters[12].Value = model.EXTEND3;

            object obj = DbHelperSQL.GetSingle(UserID, strSql.ToString(), parameters);

            if (obj == null)
            {
                return(0);
            }
            else
            {
                model.ID = Convert.ToInt32(obj);

                Model.AUDITLOG auditobj = model.GetAuditLogObject(null);
                auditobj.UserID      = UserID;
                auditobj.CreateDate  = DateTime.Now;
                auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
                auditobj.ModuleName  = "DAL.GROUPRIGHT.Add";
                auditobj.Message     = String.Format(AppNum.AuditMessage.GroupRightInsertSuccess, model.ID);

                AUDITLOG.Add(auditobj);

                return(Convert.ToInt32(obj));
            }
        }
示例#23
0
        /// <summary>
        /// Create AUDITLOG object and set MessageDetail according to object difference
        /// </summary>
        /// <param name="newvalue">Model holding new values</param>
        /// <param name="oldvalue">Model holding original values, can be null if it's insert action</param>
        /// <returns></returns>
        internal static Model.AUDITLOG GetAuditLogObject(this Model.REPORT newvalue, Model.REPORT oldvalue)
        {
            Model.AUDITLOG result = new Model.AUDITLOG();
            PropertyInfo[] pinfo  = typeof(Model.REPORT).GetProperties();
            StringBuilder  sb     = new StringBuilder();

            if (oldvalue == null)
            {
                // new record
                foreach (PropertyInfo p in pinfo)
                {
                    switch (p.Name)
                    {
                    case "TYPE":
                    case "EXTENDFIELD":
                    case "PRINT_ORIENTATION":
                    case "REPORT_HEADER":
                    {
                        // skip these properties
                    }
                    break;

                    case "ReportColumns":
                    {
                        PropertyInfo[] rcinfo = typeof(Model.REPORTCOLUMN).GetProperties();
                        for (int i = 0; i < newvalue.ReportColumns.Count; i++)
                        {
                            foreach (PropertyInfo rcp in rcinfo)
                            {
                                switch (rcp.Name)
                                {
                                case "COLUMNFUNC":
                                case "COLUMNTYPE":
                                case "SelectStatement":
                                {
                                    // skip these properties
                                }
                                break;

                                default:
                                {
                                    sb.AppendFormat("ReportColumns[{0}].{1} = {2}\r\n", i, rcp.Name, rcp.GetValue(newvalue.ReportColumns[i], null));
                                }
                                break;
                                }
                            }
                        }
                    }
                    break;

                    case "WordFile":
                    {
                        if (newvalue.WordFile != null)
                        {
                            PropertyInfo[] wfinfo = typeof(Model.WORDFILE).GetProperties();
                            foreach (PropertyInfo wfp in wfinfo)
                            {
                                sb.AppendFormat("WordFile.{0} = {1}\r\n", wfp.Name, wfp.GetValue(newvalue.WordFile, null));
                            }
                        }
                        else
                        {
                            sb.Append("WordFile = (null)\r\n");
                        }
                    }
                    break;

                    default:
                    {
                        sb.AppendFormat("{0} = {1}\r\n", p.Name, p.GetValue(newvalue, null));
                    }
                    break;
                    }
                }
            }
            else
            {
                // old record
                foreach (PropertyInfo p in pinfo)
                {
                    switch (p.Name)
                    {
                    case "TYPE":
                    case "EXTENDFIELD":
                    case "PRINT_ORIENTATION":
                    case "REPORT_HEADER":
                    {
                        // skip these properties
                    }
                    break;

                    case "ReportColumns":
                    {
                        PropertyInfo[] rcinfo = typeof(Model.REPORTCOLUMN).GetProperties();
                        #region Check for new and updated columns
                        Model.REPORTCOLUMN oldrc = null;
                        for (int i = 0; i < newvalue.ReportColumns.Count; i++)
                        {
                            oldrc = oldvalue.ReportColumns.Where(x => (x.COLUMNFUNC == newvalue.ReportColumns[i].COLUMNFUNC) &&
                                                                 (x.COLUMNTYPE == newvalue.ReportColumns[i].COLUMNTYPE) &&
                                                                 (x.DisplayName == newvalue.ReportColumns[i].DisplayName)).FirstOrDefault();
                            if (oldrc == null)
                            {
                                // new report column
                                foreach (PropertyInfo rcp in rcinfo)
                                {
                                    switch (rcp.Name)
                                    {
                                    case "COLUMNFUNC":
                                    case "COLUMNTYPE":
                                    case "SelectStatement":
                                    {
                                        // skip these properties
                                    }
                                    break;

                                    default:
                                    {
                                        sb.AppendFormat("ReportColumns[{0}].{1} = {2}\r\n", i, rcp.Name, rcp.GetValue(newvalue.ReportColumns[i], null));
                                    }
                                    break;
                                    }
                                }
                            }
                            else
                            {
                                // modified column
                                foreach (PropertyInfo rcp in rcinfo)
                                {
                                    switch (rcp.Name)
                                    {
                                    case "COLUMNFUNC":
                                    case "COLUMNTYPE":
                                    case "SelectStatement":
                                    {
                                        // skip these properties
                                    }
                                    break;

                                    default:
                                    {
                                        if (Convert.ToString(rcp.GetValue(newvalue.ReportColumns[i], null)) != Convert.ToString(rcp.GetValue(oldrc, null)))
                                        {
                                            sb.AppendFormat("ReportColumns[{0}].{1} = {2} -> {3}\r\n", i, rcp.Name, rcp.GetValue(oldrc, null), rcp.GetValue(newvalue.ReportColumns[i], null));
                                        }
                                    }
                                    break;
                                    }
                                }
                            }
                        }
                        #endregion Check for new and updated columns

                        #region Check for delete columns
                        int deletecounter = 0;
                        foreach (Model.REPORTCOLUMN item in oldvalue.ReportColumns)
                        {
                            if (newvalue.ReportColumns.Where(x => (x.COLUMNFUNC == item.COLUMNFUNC) &&
                                                             (x.COLUMNTYPE == item.COLUMNTYPE) &&
                                                             (x.DisplayName == item.DisplayName)).Count() == 0)
                            {
                                foreach (PropertyInfo rcp in rcinfo)
                                {
                                    switch (rcp.Name)
                                    {
                                    case "COLUMNFUNC":
                                    case "COLUMNTYPE":
                                    case "SelectStatement":
                                    {
                                        // skip these properties
                                    }
                                    break;

                                    default:
                                    {
                                        sb.AppendFormat("ReportColumns[deleted {0}].{1} = {2}\r\n", deletecounter, rcp.Name, rcp.GetValue(item, null));
                                    }
                                    break;
                                    }
                                }
                                deletecounter++;
                            }
                        }
                        #endregion
                    }
                    break;

                    case "WordFile":
                    {
                        if (newvalue.WordFile != null)
                        {
                            if (oldvalue.WordFile != null)
                            {
                                PropertyInfo[] wfinfo = typeof(Model.WORDFILE).GetProperties();
                                foreach (PropertyInfo wfp in wfinfo)
                                {
                                    if (Convert.ToString(wfp.GetValue(newvalue.WordFile, null)) != Convert.ToString(wfp.GetValue(oldvalue.WordFile, null)))
                                    {
                                        sb.AppendFormat("WordFile.{0} = {1} -> {2}\r\n", wfp.Name, wfp.GetValue(oldvalue.WordFile, null), wfp.GetValue(newvalue.WordFile, null));
                                    }
                                }
                            }
                            else
                            {
                                // new Wordfile entry
                                PropertyInfo[] wfinfo = typeof(Model.WORDFILE).GetProperties();
                                foreach (PropertyInfo wfp in wfinfo)
                                {
                                    sb.AppendFormat("WordFile.{0} = {1}\r\n", wfp.Name, wfp.GetValue(newvalue.WordFile, null));
                                }
                            }
                        }
                        else
                        {
                            if (oldvalue.WordFile != null)
                            {
                                sb.Append("WordFile = (removed)\r\n");
                            }
                        }
                    }
                    break;

                    default:
                    {
                        if (Convert.ToString(p.GetValue(newvalue, null)) != Convert.ToString(p.GetValue(oldvalue, null)))
                        {
                            sb.AppendFormat("{0} = {1} -> {2}\r\n", p.Name, p.GetValue(oldvalue, null), p.GetValue(newvalue, null));
                        }
                    }
                    break;
                    }
                }
            }

            result.MessageDetail = sb.ToString();

            return(result);
        }
示例#24
0
        /// <summary>
        /// Create AUDITLOG object and set MessageDetail according to object difference.
        /// </summary>
        /// <param name="newvalue">Model holding new values</param>
        /// <param name="oldvalue">Model holding original values, can be null if it's insert action</param>
        /// <returns></returns>
        /// <remarks>Because this has to be done in BLL, we need to expose this static method.</remarks>
        public static Model.AUDITLOG GetAuditLogObject(this Model.SOURCEVIEWCOLUMN[] newvalue, Model.SOURCEVIEWCOLUMN[] oldvalue)
        {
            Model.AUDITLOG result  = new Model.AUDITLOG();
            PropertyInfo[] svcinfo = typeof(Model.SOURCEVIEWCOLUMN).GetProperties();
            StringBuilder  sb      = new StringBuilder();

            if (oldvalue == null)
            {
                // new record
                for (int i = 0; i < newvalue.Length; i++)
                {
                    foreach (PropertyInfo svcp in svcinfo)
                    {
                        switch (svcp.Name)
                        {
                        case "COLUMNTYPE":
                        case "DisplayName":
                        case "GetText":
                        {
                            // skip these properties
                        }
                        break;

                        default:
                        {
                            sb.AppendFormat("SOURCEVIEWCOLUMN[{0}].{1} = {2}\r\n", i, svcp.Name, svcp.GetValue(newvalue[i], null));
                        }
                        break;
                        }
                    }
                }
            }
            else
            {
                // old record
                #region Check for new and updated columns
                Model.SOURCEVIEWCOLUMN oldsvc = null;
                for (int i = 0; i < newvalue.Length; i++)
                {
                    oldsvc = oldvalue.Where(x => (x.COLUMNTYPE == newvalue[i].COLUMNTYPE) &&
                                            (x.COLUMNNAME == newvalue[i].COLUMNNAME)).FirstOrDefault();
                    if (oldsvc == null)
                    {
                        // new report column
                        foreach (PropertyInfo svcp in svcinfo)
                        {
                            switch (svcp.Name)
                            {
                            case "COLUMNTYPE":
                            case "DisplayName":
                            case "GetText":
                            {
                                // skip these properties
                            }
                            break;

                            default:
                            {
                                sb.AppendFormat("SOURCEVIEWCOLUMN[{0}].{1} = {2}\r\n", i, svcp.Name, svcp.GetValue(newvalue[i], null));
                            }
                            break;
                            }
                        }
                    }
                    else
                    {
                        // modified column
                        foreach (PropertyInfo svcp in svcinfo)
                        {
                            switch (svcp.Name)
                            {
                            case "COLUMNTYPE":
                            case "DisplayName":
                            case "GetText":
                            {
                                // skip these properties
                            }
                            break;

                            default:
                            {
                                if (Convert.ToString(svcp.GetValue(newvalue[i], null)) != Convert.ToString(svcp.GetValue(oldsvc, null)))
                                {
                                    sb.AppendFormat("SOURCEVIEWCOLUMN[{0}].{1} = {2} -> {3}\r\n", i, svcp.Name, svcp.GetValue(oldsvc, null), svcp.GetValue(newvalue[i], null));
                                }
                            }
                            break;
                            }
                        }
                    }
                }
                #endregion Check for new and updated columns

                #region Check for delete columns
                int deletecounter = 0;
                foreach (Model.SOURCEVIEWCOLUMN item in oldvalue)
                {
                    if (newvalue.Where(x => (x.COLUMNTYPE == item.COLUMNTYPE) &&
                                       (x.COLUMNNAME == item.COLUMNNAME)).Count() == 0)
                    {
                        foreach (PropertyInfo svcp in svcinfo)
                        {
                            switch (svcp.Name)
                            {
                            case "COLUMNTYPE":
                            case "DisplayName":
                            case "GetText":
                            {
                                // skip these properties
                            }
                            break;

                            default:
                            {
                                sb.AppendFormat("SOURCEVIEWCOLUMN[deleted {0}].{1} = {2}\r\n", deletecounter, svcp.Name, svcp.GetValue(item, null));
                            }
                            break;
                            }
                        }
                        deletecounter++;
                    }
                }
                #endregion
            }

            result.MessageDetail = sb.ToString();

            return(result);
        }
示例#25
0
        //internal int Add(int UserID, CUSTOMRP.Model.SOURCEVIEWCOLUMN model)
        //{
        //    return dal.Add(UserID, model);
        //}

        //internal int AddColList(int UserID, int SVID, string[] columns)
        //{
        //    return dal.AddColList(UserID, SVID, columns);
        //}

        //internal bool Delete(int UserID, int SVCID)
        //{
        //    return dal.Delete(UserID, SVCID);
        //}

        //public bool DeleteForSourceView(int SVID)
        //{
        //    return dal.DeleteForSourceView(SVID);
        //}

        public void UpdateModelList(int UserID, CUSTOMRP.Model.SOURCEVIEWCOLUMN[] modelList)
        {
            if ((modelList == null) || (modelList.Length == 0))
            {
                return;
            }

            CUSTOMRP.Model.SOURCEVIEWCOLUMN[] currentlist = null;
            CUSTOMRP.Model.SOURCEVIEWCOLUMN   currentitem = null;


            CUSTOMRP.Model.SOURCEVIEWCOLUMN[] original = GetModelsForSourceView(UserID, modelList[0].SVID).ToArray();
            // prepare AuditLog object
            Model.AUDITLOG auditobj = modelList.GetAuditLogObject(original);
            auditobj.UserID     = UserID;
            auditobj.CreateDate = DateTime.Now;

            try
            {
                currentlist = GetModelsForSourceView(UserID, modelList[0].SVID).ToArray();
            }
            catch
            {
                currentlist = new CUSTOMRP.Model.SOURCEVIEWCOLUMN[0];
            }

            #region Delete non-existent columns

            foreach (CUSTOMRP.Model.SOURCEVIEWCOLUMN item in currentlist)
            {
                if (modelList.Where(x => x.COLUMNNAME == item.COLUMNNAME).Count() == 0)
                {
                    dal.Delete(UserID, item.ID);
                }
            }

            foreach (CUSTOMRP.Model.SOURCEVIEWCOLUMN item in modelList)
            {
                currentitem = currentlist.Where(x => x.COLUMNNAME == item.COLUMNNAME).FirstOrDefault();

                if (currentitem == null)
                {
                    dal.Add(UserID, item);
                }
                else
                {
                    currentitem.DISPLAYNAME = item.DISPLAYNAME;
                    currentitem.HIDDEN      = item.HIDDEN;
                    currentitem.DATA_TYPE   = item.DATA_TYPE;

                    dal.Update(UserID, currentitem);
                }
            }

            #endregion

            auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
            auditobj.ModuleName  = "BLL.SOURCEVIEWCOLUMN.UpdateModelList";
            auditobj.Message     = String.Format(original.Length == 0 ? DAL.AppNum.AuditMessage.SourceViewColumnInsertSuccess : DAL.AppNum.AuditMessage.SourceViewColumnUpdateSuccess, modelList[0].SVID);

            DAL.AUDITLOG.Add(auditobj);
        }
示例#26
0
        //v1.7.0 Ben 2017.08.21 - Above will no update Hidden as GetModelsForSourceView will not get hidden
        public void UpdateModelList(int UserID, CUSTOMRP.Model.SOURCEVIEWCOLUMN[] modelList, bool UpdateHidden)
        {
            if ((modelList == null) || (modelList.Length == 0))
            {
                return;
            }

            CUSTOMRP.Model.SOURCEVIEWCOLUMN[] currentlist = null;
            CUSTOMRP.Model.SOURCEVIEWCOLUMN   currentitem = null;


            CUSTOMRP.Model.SOURCEVIEWCOLUMN[] original = GetModelsForSourceView(UserID, modelList[0].SVID, UpdateHidden).ToArray();
            // prepare AuditLog object
            Model.AUDITLOG auditobj = modelList.GetAuditLogObject(original);
            auditobj.UserID     = UserID;
            auditobj.CreateDate = DateTime.Now;
            currentlist         = original;

            #region Delete non-existent columns
            foreach (CUSTOMRP.Model.SOURCEVIEWCOLUMN item in currentlist)
            {
                //if (modelList.Where(x => x.COLUMNNAME == item.COLUMNNAME && x.ID != -1).Count() == 0)
                if (modelList.Where(x => x.COLUMNNAME.ToUpper() == item.COLUMNNAME.ToUpper() && x.ID != -1).Count() == 0)
                {
                    dal.Delete(UserID, item.ID);
                    //v1.8.2 Ben 2018.02.22 - Same as below but even deleted record pass to Below seems not update/insert
                    var models = modelList.Where(x => x.COLUMNNAME.ToUpper() == item.COLUMNNAME.ToUpper() && x.ID != -1);
                    if (models.Any())
                    {
                        models.First().ID = -1;
                    }
                    item.ID = 0;
                }
            }
            #endregion

            #region Delete existing more than one columns
            foreach (CUSTOMRP.Model.SOURCEVIEWCOLUMN item in currentlist)
            {
                //v1.8.2 Ben 2018.02.26 - Prevent duplicate even just difeerent case
                //if (modelList.Where(x => x.COLUMNNAME == item.COLUMNNAME && x.ID != -1).Count() > 1)
                if (modelList.Where(x => x.COLUMNNAME.ToUpper() == item.COLUMNNAME.ToUpper() && x.ID != -1).Count() > 1)
                {
                    dal.Delete(UserID, item.ID);
                    //modelList.Where(x => x.COLUMNNAME == item.COLUMNNAME && x.ID != -1).First().ID = -1;
                    var models = modelList.Where(x => x.COLUMNNAME.ToUpper() == item.COLUMNNAME.ToUpper() && x.ID != -1);
                    if (models.Any())
                    {
                        models.First().ID = -1;
                    }
                    item.ID = 0;
                }
            }
            modelList = modelList.Where(x => x.ID != -1).ToArray();
            #endregion

            foreach (CUSTOMRP.Model.SOURCEVIEWCOLUMN item in modelList)
            {
                //currentitem = currentlist.Where(x => x.COLUMNNAME == item.COLUMNNAME).FirstOrDefault();
                //v1.8.2 Ben 2018.02.26 - Prevent duplicate even just difeerent case
                //currentitem = currentlist.Where(x => x.COLUMNNAME == item.COLUMNNAME).OrderByDescending(x => x.ID).FirstOrDefault();
                currentitem = currentlist.Where(x => x.COLUMNNAME.ToUpper() == item.COLUMNNAME.ToUpper()).OrderByDescending(x => x.ID).FirstOrDefault();

                if (currentitem == null || currentitem.ID == 0)
                {
                    dal.Add(UserID, item);
                }
                else
                {
                    //v1.8.2 Ben 2018.02.26 - Use actual case
                    currentitem.COLUMNNAME = item.COLUMNNAME;

                    currentitem.DISPLAYNAME = item.DISPLAYNAME;
                    currentitem.HIDDEN      = item.HIDDEN;
                    dal.Update(UserID, currentitem);
                }
            }

            auditobj.MessageType = Model.AUDITLOG.Severity.Audit;
            auditobj.ModuleName  = "BLL.SOURCEVIEWCOLUMN.UpdateModelList";
            auditobj.Message     = String.Format(original.Length == 0 ? DAL.AppNum.AuditMessage.SourceViewColumnInsertSuccess : DAL.AppNum.AuditMessage.SourceViewColumnUpdateSuccess, modelList[0].SVID);
            DAL.AUDITLOG.Add(auditobj);
        }