Exemplo n.º 1
0
        ///// <summary>
        ///// 用户激活状态,需要参数ConstantType
        ///// </summary>
        ///// <param name="context"></param>
        //public void GetUserStatus(HttpContext context, OleDbConnection conn)
        //{
        //    string strConstantType = context.Request["ConstantType"];
        //    List<Dal.Models.SysConstant> lstuserstatus = BLL.SysConstant.GetConstantList(strConstantType, conn);
        //    context.Response.Write(JsonConvert.SerializeObject(lstuserstatus));
        //}

        /// <summary>
        /// 删除用户,需要参数,UserID
        /// </summary>
        /// <param name="context"></param>
        public void DelUser(HttpContext context, OleDbConnection conn)
        {
            Dal.Models.UserInfo user = (Dal.Models.UserInfo)context.Session["UserInfo"];
            OleDbTransaction    tran = conn.BeginTransaction();

            try
            {
                string id      = context.Request["UserID"];
                int    iUserID = Convert.ToInt32(id);
                if (iUserID == user.UserID.Value)
                {
                    throw new Exception("不能禁用或删除当前操作用户!");
                }
                string strActivityType       = context.Session["ActivityType"].ToString();
                Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn, tran);
                if (activity == null)
                {
                    throw new Exception("没有激活的活动!");
                }
                int count = BLL.Declaration.DeclarationExsitUserCount(activity.ActivityID.Value, id, conn, tran);
                if (count > 0)
                {
                    throw new Exception("当前用户已经申报过项目,所以不能删除!");
                }
                BLL.User.DeleteUser(Convert.ToInt32(id), activity.ActivityID.Value, conn, tran);
                tran.Commit();
                context.Response.Write("删除成功!");
            }
            catch (Exception ex)
            {
                tran.Rollback();
                context.Response.Write(ex.Message);
            }
            conn.Close();
        }
Exemplo n.º 2
0
        public void InitPage()
        {
            Dal.Models.UserInfo userinfo = (Dal.Models.UserInfo)Session["UserInfo"];

            OleDbConnection conn = new OleDbConnection(Dal.OleDbHlper.ConnectionString);

            conn.Open();

            string strActivityType = Session["ActivityType"].ToString();

            Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn);
            Dal.Models.UserInfo user     = (Dal.Models.UserInfo)Session["UserInfo"];
            if (activity == null)
            {
                return;
            }
            else
            {
                //专业列表绑定
                ddlSpecialtyID.DataSource     = BLL.Specialty.GetSpecialtyList(activity.ActivityID.Value, true, conn);
                ddlSpecialtyID.DataValueField = "SpecialtyID";
                ddlSpecialtyID.DataTextField  = "SpecialtyName";
                ddlSpecialtyID.DataBind();

                //奖项类别绑定
                ddlPrize.DataSource     = BLL.SysConstant.GetConstantList("03", conn);
                ddlPrize.DataValueField = "ConstantCode";
                ddlPrize.DataTextField  = "ConstantValue";
                ddlPrize.DataBind();
            }
            conn.Close();

            hfVoteType.Value = Request.QueryString["VoteType"];
        }
Exemplo n.º 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            txtUploadLimitMax.Attributes.Add("onkeyup", "value.replace(/[^\\d]/g, '')");

            Dal.Models.UserInfo user = (Dal.Models.UserInfo)Session["UserInfo"];

            if (user == null)
            {
                Response.Redirect("../Mutual/UserEntry.aspx");
            }

            OleDbConnection conn = new OleDbConnection(Dal.OleDbHlper.ConnectionString);

            conn.Open();

            string strActivityType = Session["ActivityType"].ToString();

            Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn);
            if (activity == null)
            {
                hdMsg.Value = "当前没有已经激活的申报活动,请确认。";
            }
            else
            {
                InitPage(conn);
            }
            conn.Close();
        }
Exemplo n.º 4
0
        public void InitPage()
        {
            OleDbConnection conn = new OleDbConnection(Dal.OleDbHlper.ConnectionString);

            conn.Open();

            //奖项绑值
            Dal.Models.UserInfo userinfo = (Dal.Models.UserInfo)Session["UserInfo"];
            string strActivityType       = Session["ActivityType"].ToString();

            Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn);
            if (activity == null)
            {
                Response.Redirect("../Mutual/HomePage.aspx");
                return;
            }

            ddlPrizeName.DataSource     = BLL.Prize.GetPrizeList(userinfo, strActivityType, "", conn);
            ddlPrizeName.DataValueField = "PrizeID";
            ddlPrizeName.DataTextField  = "PrizeName";
            ddlPrizeName.DataBind();

            //申报状态绑值
            ddlDeclarationStatus.DataSource     = BLL.SysConstant.GetConstantList("18", conn);
            ddlDeclarationStatus.DataValueField = "ConstantCode";
            ddlDeclarationStatus.DataTextField  = "ConstantValue";
            ddlDeclarationStatus.DataBind();

            conn.Close();
        }
Exemplo n.º 5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //if (Request.QueryString["specialtyMSg"] != null && Request.QueryString["specialtyMSg"] != "")
            //{
            //    hdMsg.Value = Request.QueryString["specialtyMSg"];
            //}

            Dal.Models.UserInfo user = (Dal.Models.UserInfo)Session["UserInfo"];

            if (user == null)
            {
                Response.Redirect("../Mutual/UserEntry.aspx");
            }

            OleDbConnection conn = new OleDbConnection(Dal.OleDbHlper.ConnectionString);

            conn.Open();

            string strActivityType = Session["ActivityType"].ToString();

            Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn);
            conn.Close();
            if (activity == null)
            {
                hdMsg.Value = "当前没有已经激活的申报活动,请确认。";
            }
            else
            {
                if (!IsPostBack)
                {
                    InitPage();
                }
            }
        }
Exemplo n.º 6
0
        //protected void gvSpecialty_RowCommand(object sender, GridViewCommandEventArgs e)
        //{
        //    OleDbConnection conn = new OleDbConnection(Dal.OleDbHlper.ConnectionString);
        //    conn.Open();

        //    switch (e.CommandName)
        //    {
        //        case "Delete":
        //            OleDbTransaction tran = conn.BeginTransaction();
        //            try
        //            {
        //                int iSpecialtyID = Convert.ToInt32(e.CommandArgument);
        //                BLL.Specialty.DeleteSpecialty(0,iSpecialtyID, conn, tran);
        //                tran.Commit();
        //                //Response.Write("<script>alert('专业删除成功')</script>");
        //                hdMsg.Value = "专业删除成功!";
        //            }
        //            catch (Exception ex)
        //            {
        //                tran.Rollback();
        //                //Response.Write("<script>alert('" + ex.Message + "')</script>");
        //                hdMsg.Value = ex.Message;
        //            }
        //            InitPage();
        //            break;
        //    }

        //    conn.Close();
        //}

        public void InitPage()
        {
            Dal.Models.UserInfo user = (Dal.Models.UserInfo)Session["UserInfo"];
            OleDbConnection     conn = new OleDbConnection(Dal.OleDbHlper.ConnectionString);

            conn.Open();

            string strActivityType = Session["ActivityType"].ToString();

            Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn);
            if (activity == null)
            {
                hdMsg.Value = "当前没有已经激活的申报活动,请确认。";
            }
            else
            {
                if (user.UserType == "0804")
                {
                    ddlSpecialty.DataSource = BLL.Specialty.GetUserSpecialtyList(activity.ActivityID.Value, user.UserID.Value, true, conn);
                }
                else
                {
                    ddlSpecialty.DataSource = BLL.Specialty.GetSpecialtyList(activity.ActivityID.Value, true, conn);
                }

                ddlSpecialty.DataTextField  = "SpecialtyName";
                ddlSpecialty.DataValueField = "SpecialtyID";
                ddlSpecialty.DataBind();
            }
            conn.Close();
        }
Exemplo n.º 7
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (Session["UserInfo"] == null)
     {
         Response.Redirect("../Mutual/UserEntry.aspx");
     }
     if (!IsPostBack)
     {
         OleDbConnection conn = new OleDbConnection(Dal.OleDbHlper.ConnectionString);
         conn.Open();
         string strActivityType       = Session["ActivityType"].ToString();
         Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn);
         if (activity == null)
         {
             Response.Redirect("../Mutual/HomePage.aspx");
         }
         else
         {
             ddlSpecialty.DataSource     = BLL.Specialty.GetSpecialtyList(activity.ActivityID.Value, false, conn);
             ddlSpecialty.DataTextField  = "SpecialtyName";
             ddlSpecialty.DataValueField = "SpecialtyID";
             ddlSpecialty.DataBind();
         }
     }
 }
Exemplo n.º 8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Dal.Models.UserInfo user = (Dal.Models.UserInfo)Session["UserInfo"];
            if (user == null)
            {
                Response.Redirect("../Mutual/UserEntry.aspx");
            }
            OleDbConnection conn = new OleDbConnection(Dal.OleDbHlper.ConnectionString);

            conn.Open();
            string strActivityType = Session["ActivityType"].ToString();

            Dal.Models.Activity actActivated = BLL.Activity.GetActivity(strActivityType, conn);
            if (actActivated == null)
            {
                Response.Redirect("../Mutual/HomePage.aspx");
                return;
            }
            //if (!IsPostBack)
            //{
            //    ddlSpecialty.DataSource = BLL.Specialty.GetSpecialtyListByUserType(actActivated.ActivityID.Value, user.UserType, user.UserID.Value, true, conn);
            //    ddlSpecialty.DataTextField = "SpecialtyName";
            //    ddlSpecialty.DataValueField = "SpecialtyID";
            //    ddlSpecialty.DataBind();
            //}

            conn.Close();
            conn.Dispose();
        }
Exemplo n.º 9
0
        /// <summary>
        /// 加载公告标题
        /// </summary>
        public void GetNotice()
        {
            OleDbConnection conn = new OleDbConnection(Dal.OleDbHlper.ConnectionString);

            conn.Open();
            string strActivityType = Session["ActivityType"].ToString();

            Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn);
            if (activity != null)
            {
                int activityID = Convert.ToInt32(activity.ActivityID);
                OleDbTransaction         tran   = conn.BeginTransaction();
                List <Dal.Models.Notice> notice = BLL.Notice.GetNoticeList(activityID, conn, tran);

                for (int i = 0; i < notice.Count; i++)
                {
                    HtmlTableRow  tr  = new HtmlTableRow();
                    HtmlTableCell td1 = new HtmlTableCell("td");
                    HtmlTableCell td2 = new HtmlTableCell("td");
                    HtmlTableCell td3 = new HtmlTableCell("td");
                    td1.InnerHtml = "<a href='../../View/ActivityManage/Notice.aspx?nid=" + notice[i].NoticeID + "&statype=3'>" + notice[i].Title + "</a>";
                    td2.InnerHtml = Convert.ToDateTime(notice[i].EffectTime).ToString("yyyy-MM-dd");
                    td3.InnerHtml = notice[i].Clicks.ToString();
                    tr.Cells.Add(td1);
                    tr.Cells.Add(td2);
                    tr.Cells.Add(td3);
                    tbNotice.Rows.Add(tr);
                }
            }
        }
Exemplo n.º 10
0
        //public void GetAllExpertGroupList(HttpContext context, OleDbConnection conn)
        //{
        //    string strActivityType = context.Session["ActivityType"].ToString();
        //    Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn);
        //    if (activity == null)
        //    {
        //        context.Response.Write("当前活动已关闭,请联系活动管理人员!");
        //        return;
        //    }
        //    List<Dal.Models.ExpertGroup> lstExpertGroup = BLL.ExpertGroup.GetGroupList(activity.ActivityID.Value, null, conn);
        //    List<Dal.Models.ExpertGroup> lstParentExpertGroup = new List<Dal.Models.ExpertGroup>();
        //    for (int i = 0; i < lstExpertGroup.Count(); i++)
        //    {
        //        for (int j = 0; j < lstExpertGroup.Count(); j++)
        //        {
        //            if (lstExpertGroup[i].GroupID == lstExpertGroup[j].ParentID)
        //            {
        //                lstParentExpertGroup.Add(lstExpertGroup[i]);
        //            }
        //        }
        //    }
        //    for (int o = 0; o < lstParentExpertGroup.Count(); o++)
        //    {
        //        lstExpertGroup.Remove(lstParentExpertGroup[o]);
        //    }

        //    context.Response.Write(JsonConvert.SerializeObject(lstExpertGroup));
        //}

        public void GetExpertGroupListByPrize(HttpContext context, OleDbConnection conn)
        {
            int    iPrize          = context.Request["PrizeID"] == "" ? 0 : Convert.ToInt32(context.Request["PrizeID"]);
            string strActivityType = context.Session["ActivityType"].ToString();

            Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn);
            if (activity == null)
            {
                context.Response.Write("当前活动已关闭,请联系活动管理人员!");
                return;
            }
            List <Dal.Models.ExpertGroup> lstExpertGroup       = BLL.ExpertGroup.GetExpertGroupByPrizeID(activity.ActivityID.Value, iPrize, conn);
            List <Dal.Models.ExpertGroup> lstParentExpertGroup = new List <Dal.Models.ExpertGroup>();

            for (int i = 0; i < lstExpertGroup.Count(); i++)
            {
                for (int j = 0; j < lstExpertGroup.Count(); j++)
                {
                    if (lstExpertGroup[i].GroupID == lstExpertGroup[j].ParentID)
                    {
                        lstParentExpertGroup.Add(lstExpertGroup[i]);
                    }
                }
            }
            for (int o = 0; o < lstParentExpertGroup.Count(); o++)
            {
                lstExpertGroup.Remove(lstParentExpertGroup[o]);
            }

            context.Response.Write(JsonConvert.SerializeObject(lstExpertGroup));
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            OleDbConnection conn = new OleDbConnection(Dal.OleDbHlper.ConnectionString);

            conn.Open();

            //奖项绑值
            Dal.Models.UserInfo userinfo = (Dal.Models.UserInfo)Session["UserInfo"];
            string strActivityType       = Session["ActivityType"].ToString();

            Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn);
            if (activity == null)
            {
                Response.Redirect("../Mutual/UserEntry.aspx");
                return;
            }

            ddlPrizeName.DataSource     = BLL.Prize.GetPrizeList(userinfo, strActivityType, null, conn);
            ddlPrizeName.DataValueField = "PrizeID";
            ddlPrizeName.DataTextField  = "PrizeName";
            ddlPrizeName.DataBind();

            //申报状态绑值
            ddlDeclarationStatus.DataSource     = BLL.SysConstant.GetConstantList("18", conn).Where(s => "1802,1803".Contains(s.ConstantCode)).ToList();
            ddlDeclarationStatus.DataValueField = "ConstantCode";
            ddlDeclarationStatus.DataTextField  = "ConstantValue";
            ddlDeclarationStatus.DataBind();

            conn.Close();
        }
Exemplo n.º 12
0
        protected void lkbCreateActivity_Click(object sender, EventArgs e)
        {
            Dal.Models.Activity activity = new Dal.Models.Activity();
            activity.ActivityName     = txtActivityName.Text;
            activity.ActivityTypeCode = Session["ActivityType"].ToString();
            OleDbConnection conn = new OleDbConnection(Dal.OleDbHlper.ConnectionString);

            conn.Open();
            OleDbTransaction trans      = conn.BeginTransaction();
            string           strMessage = "";

            int result = 0;

            try
            {
                result = BLL.Activity.CreateActivity(activity, conn, trans);
                trans.Commit();
                strMessage = "创建成功!";
            }
            catch (Exception ex)
            {
                trans.Rollback();
                strMessage = ex.Message;
            }

            ucSchedule.activityRefresh();
            panelCreateActivity.Visible = false;
            panelActivityInfo.Visible   = true;
            txtCurrentActivity.Text     = activity.ActivityName;
            hdMsg.Value = strMessage;
            conn.Close();
        }
Exemplo n.º 13
0
        protected void lkbFinishActivity_Click(object sender, EventArgs e)
        {
            string          strMessage      = "";
            string          strActivityType = Session["ActivityType"].ToString();
            OleDbConnection conn            = new OleDbConnection(Dal.OleDbHlper.ConnectionString);

            conn.Open();
            OleDbTransaction tran = conn.BeginTransaction();

            try
            {
                Dal.Models.Activity actActivated = BLL.Activity.GetActivity(strActivityType, conn, tran);
                actActivated.ActivityStatus = "1110";
                BLL.Activity.UpdateActivity(actActivated, conn, tran);
                tran.Commit();
                strMessage = "活动结束!";
            }
            catch (Exception ex)
            {
                tran.Rollback();
                strMessage = ex.Message;
            }

            panelActivityInfo.Visible   = false;
            panelCreateActivity.Visible = true;
            gvActivity.DataSource       = BLL.Activity.GetActivityList(strActivityType, conn);
            gvActivity.DataBind();

            hdMsg.Value = strMessage;

            conn.Close();
        }
Exemplo n.º 14
0
        /// <summary>
        /// 创建管理员
        /// </summary>
        /// <param name="context"></param>
        /// <param name="conn"></param>
        public void CreateUserM(HttpContext context, OleDbConnection conn)
        {
            string sType = context.Request["oType"];

            Dal.Models.UserInfo user = new Dal.Models.UserInfo();
            user.UserName          = context.Request["UserName"];
            user.Email             = context.Request["Email"];
            user.IsPasswordChanged = false;
            string SpecialtyIDs = context.Request["SpecialtyIDs"];

            OleDbTransaction tran = conn.BeginTransaction();

            try
            {
                string strActivityType           = context.Session["ActivityType"].ToString();
                int    iUserID                   = 0;
                Dal.Models.Activity actActivated = BLL.Activity.GetActivity(strActivityType, conn, tran);
                if (actActivated == null)
                {
                    throw new ApplicationException("没有激活的活动!");
                }

                if (sType == "update")
                {
                    if (context.Request["UserID"] != null && context.Request["UserID"] != "")
                    {
                        user.UserID = Convert.ToInt32(context.Request["UserID"]);
                    }
                    else
                    {
                        throw new NoNullAllowedException("用户编号不允许为空!");
                    }
                    iUserID = BLL.User.Update(user, conn, tran);
                }
                else
                {
                    user.UserType   = context.Request["UserType"];
                    user.Password   = BLL.SysConstant.GetAppSettings("DefaultPassword", conn, tran);;
                    user.CreateUser = ((Dal.Models.UserInfo)context.Session["UserInfo"]).UserID;
                    user.UserID     = BLL.User.CreateUser(user, conn, tran);
                }

                if (user.UserID != ((Dal.Models.UserInfo)context.Session["UserInfo"]).UserID)
                {
                    BLL.User.SetUserSpecialty(user.UserID.Value, actActivated.ActivityID.Value, SpecialtyIDs, conn, tran);
                }

                tran.Commit();
                context.Response.Write("创建成功!");
            }
            catch (Exception ex)
            {
                tran.Rollback();
                context.Response.Write(ex.Message);
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["UserInfo"] == null)
            {
                Response.Redirect("../Mutual/UserEntry.aspx");
            }

            OleDbConnection conn = new OleDbConnection(Dal.OleDbHlper.ConnectionString);

            conn.Open();
            string strActivityType = Session["ActivityType"].ToString();

            Dal.Models.Activity act = BLL.Activity.GetActivity(strActivityType, conn);
            if (act == null)
            {
                hdMsg.Value = "当前没有已经激活的申报活动。";
            }
            else
            {
                Dal.Models.UserInfo user = (Dal.Models.UserInfo)Session["UserInfo"];
                txtUser.Text = user.UserType;
                try
                {
                    txtLastUpdateTime.Text = BLL.Schedule.GetActivitySchedule(Convert.ToInt32(act.ActivityID), conn).DeclarationEndDate.ToString();
                }
                catch
                {
                    txtLastUpdateTime.Text = DateTime.Now.ToString();
                }
                string id  = Request["DeclarationID"];
                string Img = Request["UploadFileID"];

                if (user.UserType == "0806" || user.UserType == "0807")
                {
                    txtDeclarationUnit.Visible = false;
                    txtUserType.Text           = "会员";
                }

                //奖项绑值
                ddlPrizeName.DataSource     = BLL.Prize.GetPrizeList(user, strActivityType, "", conn);
                ddlPrizeName.DataValueField = "PrizeID";
                ddlPrizeName.DataTextField  = "PrizeName";
                ddlPrizeName.DataBind();

                //申报状态绑值
                ddlDeclarationStatus.DataSource     = BLL.SysConstant.GetConstantList("18", conn);
                ddlDeclarationStatus.DataValueField = "ConstantCode";
                ddlDeclarationStatus.DataTextField  = "ConstantValue";
                ddlDeclarationStatus.DataBind();
                ddlDeclarationStatus.Items.Remove(ddlDeclarationStatus.Items.FindByValue("1805"));
                ddlDeclarationStatus.Items.Remove(ddlDeclarationStatus.Items.FindByValue("1806"));
            }
            conn.Close();
        }
Exemplo n.º 16
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="context"></param>
        /// <param name="conn"></param>
        public void GetExpertGroupList(HttpContext context, OleDbConnection conn)
        {
            string strSpecialtyID  = context.Request["Specialtys"];
            string strActivityType = context.Session["ActivityType"].ToString();

            Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn);
            if (activity == null)
            {
                context.Response.Write("当前活动已关闭,请联系活动管理人员!");
                return;
            }

            int iPageSize = 10;

            if (!Int32.TryParse(context.Request["PageSize"] ?? "50", out iPageSize))
            {
                iPageSize = 10;
            }

            int iCuttentPage = 1;

            if (!Int32.TryParse(context.Request["CuttentPage"] ?? "0", out iCuttentPage))
            {
                iCuttentPage = 1;
            }
            Dal.Models.PageInfo <Dal.Models.Declaration> pgif = new Dal.Models.PageInfo <Dal.Models.Declaration>();
            pgif.CuttentPage = iCuttentPage;
            pgif.PerPage     = iPageSize;

            List <Dal.Models.ExpertGroup> lstExpertGroup = BLL.ExpertGroup.GetGroupList(activity.ActivityID.Value, strSpecialtyID, conn);

            if (lstExpertGroup.Count > 0)
            {
                lstExpertGroup = lstExpertGroup.OrderByDescending(r => r.GroupID).ToList();
            }

            int iRecordNumber = lstExpertGroup.Count;
            int iPagesCount   = Convert.ToInt32(Math.Ceiling((float)iRecordNumber / (float)iPageSize));

            lstExpertGroup = lstExpertGroup.Skip(iPageSize * (iCuttentPage - 1)).Take(iPageSize).ToList();

            DataTable dtExpertGroup = Dal.DataTableExtensions.ToDataTable(lstExpertGroup);

            pgif.RecordNumber = iRecordNumber;
            pgif.PagesCount   = iPagesCount;
            pgif.Table        = dtExpertGroup;

            context.Response.Write(JsonConvert.SerializeObject(pgif));
        }
Exemplo n.º 17
0
        private void InitPage(OleDbConnection conn)
        {
            string strActivityType = Session["ActivityType"].ToString();

            // 获取指定活动类型的当前激活活动
            Dal.Models.Activity actActivated = BLL.Activity.GetActivity(strActivityType, conn);
            string strErrorMessage           = "";

            if (!IsPostBack)
            {
                txtActivityType.Text = BLL.SysConstant.GetConstant(strActivityType, conn).ConstantValue;

                if (actActivated == null)
                {
                    panelActivityInfo.Visible   = false;
                    panelCreateActivity.Visible = true;

                    // 评优活动列表数据绑定
                    gvActivity.DataSource = BLL.Activity.GetActivityList(strActivityType, conn);
                    gvActivity.DataBind();
                }
                else
                {
                    panelCreateActivity.Visible = false;
                    panelActivityInfo.Visible   = true;

                    txtCurrentActivity.Text = actActivated.ActivityName;

                    try
                    {
                        ucSchedule.UcSchedule = BLL.Schedule.GetActivitySchedule(actActivated.ActivityID.Value, conn);
                    }
                    catch (Exception ex)
                    {
                        strErrorMessage = ex.Message;
                    }

                    if (ucSchedule.UcSchedule == null)
                    {
                        ucSchedule.UcSchedule = new Dal.Models.Schedule();
                    }
                    ucSchedule.UcSchedule.ActivityID = actActivated.ActivityID;
                }
            }

            ucSchedule.OnSaveSchedule += SaveSchedule;

            hdMsg.Value = strErrorMessage;
        }
Exemplo n.º 18
0
        public void GetParentGroup(HttpContext context, OleDbConnection conn)
        {
            int    specialtyID     = Convert.ToInt32(context.Request["SpecialtyID"]);
            string strActivityType = context.Session["ActivityType"].ToString();

            Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn);
            if (activity == null)
            {
                context.Response.Write("当前活动已关闭,请联系活动管理人员!");
                return;
            }
            List <Dal.Models.ExpertGroup> profession = BLL.ExpertGroup.GetGroupList(activity.ActivityID.Value, specialtyID.ToString(), conn);

            context.Response.Write(JsonConvert.SerializeObject(profession));
        }
Exemplo n.º 19
0
        //获取奖项下专业下的所有组员
        public void GetExpertsByGroupID(HttpContext context, OleDbConnection conn)
        {
            int    iExpertGroupID  = context.Request["ExpertGroupID"] == "" ? 0 : Convert.ToInt32(context.Request["ExpertGroupID"]);
            string strActivityType = context.Session["ActivityType"].ToString();

            Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn);
            if (activity == null)
            {
                context.Response.Write("当前活动已关闭,请联系活动管理人员!");
                return;
            }
            List <Dal.Models.GroupMember> lstExpertGroup       = BLL.GroupMember.GetExpertsByPrizeID(iExpertGroupID, conn);
            List <Dal.Models.GroupMember> lstParentExpertGroup = new List <Dal.Models.GroupMember>();

            context.Response.Write(JsonConvert.SerializeObject(lstExpertGroup));
        }
Exemplo n.º 20
0
        /// <summary>
        /// 加载最新申报信息
        /// </summary>
        public void GetNewDeclaration()
        {
            Dal.Models.UserInfo user = (Dal.Models.UserInfo)Session["UserInfo"];

            OleDbConnection conn = new OleDbConnection(Dal.OleDbHlper.ConnectionString);

            conn.Open();
            string strActivityType = Session["ActivityType"].ToString();

            Dal.Models.Activity actActivated = BLL.Activity.GetActivity(strActivityType, conn);

            List <Dal.Models.Declaration> decl = null;

            if (actActivated != null)
            {
                decl = BLL.Declaration.GetDeclarationList(user, Convert.ToInt32(actActivated.ActivityID), conn);
                if (user.UserType == "0805")
                {
                    decl = decl.Where(d => d.DeclarationStatus == "1803").OrderByDescending(d => d.DeclareDate).Take(4).ToList();
                }
                else
                {
                    decl = decl.Where(d => !(new string[] { "1805", "1806" }.Contains(d.DeclarationStatus))).OrderByDescending(d => d.DeclareDate).Take(4).ToList();
                }

                for (int i = 0; i < decl.Count; i++)
                {
                    HtmlTableRow  tr  = new HtmlTableRow();
                    HtmlTableCell td1 = new HtmlTableCell("td");
                    HtmlTableCell td2 = new HtmlTableCell("td");
                    HtmlTableCell td3 = new HtmlTableCell("td");
                    HtmlTableCell td4 = new HtmlTableCell("td");
                    td1.InnerHtml = decl[i].DeclarationCode.ToString();
                    td2.InnerHtml = "<a href='../Declaration/Declaration.aspx?DeclarationID="
                                    + decl[i].DeclarationID + "&Situation=ExpertReview'>" + decl[i].DeclarationName.ToString() + "</a>";
                    td3.InnerHtml = decl[i].SpecialtyName;
                    td4.InnerHtml = decl[i].PrizeName;
                    tr.Cells.Add(td1);
                    tr.Cells.Add(td2);
                    tr.Cells.Add(td3);
                    tr.Cells.Add(td4);
                    NewDeclaration.Rows.Add(tr);
                }
            }

            conn.Close();
        }
Exemplo n.º 21
0
        /// <summary>
        /// 删除多选用户列表Gqx
        /// </summary>
        /// <param name="context"></param>
        public void MultiselectDelUserList(HttpContext context, OleDbConnection conn)
        {
            string strActivityType = context.Session["ActivityType"].ToString();

            Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn);
            if (activity == null)
            {
                context.Response.Write("没有激活的活动!");
                return;
            }

            string strUserID = context.Request["UserID"];
            int    count     = BLL.Declaration.DeclarationExsitUserCount(activity.ActivityID.Value, strUserID, conn);

            if (count > 0)
            {
                context.Response.Write("当前选中项中存在已经申报过项目的用户,所以不能删除!");
            }
            else
            {
                string[]   arrayUserID = strUserID.Split(',');
                List <int> listUserID  = new List <int>();
                foreach (var item in arrayUserID)
                {
                    listUserID.Add(Convert.ToInt32(item));
                }
                OleDbTransaction trans = conn.BeginTransaction();
                try
                {
                    for (int i = 0; i < listUserID.Count(); i++)
                    {
                        int iUserID = Convert.ToInt32(listUserID[i]);
                        BLL.User.DeleteUser(iUserID, Convert.ToInt32(activity.ActivityID), conn, trans);
                    }
                    trans.Commit();
                    context.Response.Write("删除成功!");
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    context.Response.Write(ex.Message);
                }
            }
            conn.Close();
        }
Exemplo n.º 22
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Dal.Models.UserInfo user = (Dal.Models.UserInfo)Session["UserInfo"];
            OleDbConnection     conn = new OleDbConnection(Dal.OleDbHlper.ConnectionString);

            conn.Open();

            string strActivityType = Session["ActivityType"].ToString();

            Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn);
            if (activity == null)
            {
                //这里要提示错误
                return;
            }

            List <Dal.Models.Specialty> lstSpecialty = BLL.Specialty.GetSpecialtyList(activity.ActivityID.Value, false, conn);

            int iPerPage = 10;

            if (!Int32.TryParse(Request["PerPage"] ?? "10", out iPerPage))
            {
                iPerPage = 10;
            }

            int iCuttentPage = 1;

            if (!Int32.TryParse(Request["CuttentPage"] ?? "1", out iCuttentPage))
            {
                iCuttentPage = 1;
            }

            int iRecordNumber = lstSpecialty.Count();
            int iPagesCount   = Convert.ToInt32(Math.Ceiling((float)iRecordNumber / (float)iPerPage));


            ViewState["PerPage"]      = iPerPage;
            ViewState["CuttentPage"]  = iCuttentPage;
            ViewState["RecordNumber"] = iRecordNumber;
            ViewState["PagesCount"]   = iPagesCount;

            lstSpecialty = lstSpecialty.Skip(iPerPage * (iCuttentPage - 1)).Take(iPerPage).ToList();

            conn.Close();
        }
Exemplo n.º 23
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (Session["UserInfo"] == null)
     {
         Response.Redirect("../Mutual/UserEntry.aspx");
         return;
     }
     if (!IsPostBack)
     {
         OleDbConnection conn = new OleDbConnection(Dal.OleDbHlper.ConnectionString);
         conn.Open();
         string strActivityType       = Session["ActivityType"].ToString();
         Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn);
         if (activity == null)
         {
             Response.Redirect("../Mutual/HomePage.aspx");
             return;
         }
     }
     InitPage();
 }
Exemplo n.º 24
0
        public void MultiselectDelExpertList(HttpContext context, OleDbConnection conn)
        {
            string strActivityType = context.Session["ActivityType"].ToString();

            Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn);
            if (activity == null)
            {
                context.Response.Write("当前活动已关闭,请联系活动管理人员!");
                return;
            }
            OleDbTransaction trans = conn.BeginTransaction();

            string strExpertID = context.Request["ExpertID"];

            string[] arrayExpertID = strExpertID.Split(',');

            List <int> listExpertID = new List <int>();

            foreach (var item in arrayExpertID)
            {
                listExpertID.Add(Convert.ToInt32(item));
            }
            try
            {
                for (int i = 0; i < listExpertID.Count(); i++)
                {
                    int iExpertID = Convert.ToInt32(listExpertID[i]);
                    BLL.Expert.DeleteExpert(iExpertID, activity.ActivityID.Value, conn, trans);
                }
                trans.Commit();
                context.Response.Write("删除成功!");
            }
            catch (Exception ex)
            {
                trans.Rollback();
                context.Response.Write(ex.Message);
            }
        }
Exemplo n.º 25
0
        /// <summary>
        /// 删除专家,需要参数,ExpertID
        /// </summary>
        /// <param name="context"></param>
        public void DelExpert(HttpContext context, OleDbConnection conn)
        {
            OleDbTransaction tran = conn.BeginTransaction();

            try
            {
                string id = context.Request["ExpertID"];
                string strActivityType       = context.Session["ActivityType"].ToString();
                Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn, tran);
                if (activity == null)
                {
                    throw new Exception("当前活动已关闭,请联系活动管理人员!");
                }
                BLL.Expert.DeleteExpert(Convert.ToInt32(id), activity.ActivityID.Value, conn, tran);
                tran.Commit();
                context.Response.Write("success");
            }
            catch (Exception ex)
            {
                tran.Rollback();
                context.Response.Write(ex.Message);
            }
        }
Exemplo n.º 26
0
        public void InitPage()
        {
            Dal.Models.UserInfo userinfo = (Dal.Models.UserInfo)Session["UserInfo"];

            OleDbConnection conn = new OleDbConnection(Dal.OleDbHlper.ConnectionString);

            conn.Open();

            string strActivityType = Session["ActivityType"].ToString();

            Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn);
            if (activity == null)
            {
                Response.Redirect("../Mutual/HomePage.aspx");
                return;
            }
            else
            {
                ddlSpecialty.DataSource     = BLL.Specialty.GetSpecialtyListByUserType(activity.ActivityID.Value, userinfo.UserType, userinfo.UserID.Value, false, conn);
                ddlSpecialty.DataValueField = "SpecialtyID";
                ddlSpecialty.DataTextField  = "SpecialtyName";
                ddlSpecialty.DataBind();
            }
        }
Exemplo n.º 27
0
        /// <summary>
        /// 修改活动信息
        /// </summary>
        /// <param name="activity"></param>
        /// <param name="trans"></param>
        /// <returns></returns>
        public static int UpdateActivity(Dal.Models.Activity activity, OleDbConnection conn, OleDbTransaction trans)
        {
            if (activity.ActivityID == null || string.IsNullOrEmpty(activity.ActivityName) || string.IsNullOrEmpty(activity.ActivityStatus))
            {
                return -1;
            }

            if (activity.LastUpdateTime == null)
            {
                activity.LastUpdateTime = DateTime.Now;
            }

            StringBuilder sbSql = new StringBuilder();
            sbSql.Append(" UPDATE Activity SET");
            sbSql.Append("        ActivityName = ? ");
            sbSql.Append("       ,ActivityStatus = ? ");
            sbSql.Append("       ,LastUpdateTime = GETDATE() ");
            sbSql.Append(" WHERE ActivityID = ? ");

            return Dal.OleDbHlper.ExecuteNonQuery(sbSql.ToString(), conn, CommandType.Text, trans
                , new OleDbParameter("@ActivityName", OleDbType.VarWChar) { Value = activity.ActivityName }
                , new OleDbParameter("@ActivityStatus", OleDbType.VarWChar) { Value = activity.ActivityStatus }
                , new OleDbParameter("@ActivityID", OleDbType.Integer) { Value = activity.ActivityID });
        }
Exemplo n.º 28
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["ActivityType"] == null || Session["UserInfo"] == null)
            {
                Response.Redirect("../Mutual/UserEntry.aspx");
                return;
            }
            if (!IsPostBack)
            {
                //根据当前模板状态显示部件
                //Dal.Models.TemplateInfo tempInfo = (Dal.Models.TemplateInfo)Session["TemplateInfo"];
                Dal.Models.TemplateInfo tempInfo = null;
                try
                {
                    tempInfo = ((Declaration)Context.Handler).TempInfo;
                }
                catch
                {
                    Response.Redirect("../Mutual/UserEntry.aspx");
                }
                if (tempInfo == null)
                {
                    Response.Redirect("../Mutual/UserEntry.aspx");
                }

                OleDbConnection conn = new OleDbConnection(Dal.OleDbHlper.ConnectionString);

                conn.Open();

                //显示模板的当前编辑部分
                //divfather.FindControl(tempInfo.Anchor).Visible = true;
                Dal.Models.Template_10_CivilAirDefence tempCivilAirDefence =
                    BLL.Declaration.GetDeclarationData <Dal.Models.Template_10_CivilAirDefence>(tempInfo.DeclarationID.Value, conn);
                Dal.Models.Declaration decl = BLL.Declaration.GetDeclaration(tempInfo.DeclarationID.Value, conn);

                SetDropDownList(DesignCategory, BLL.SysConstant.GetConstantList("14", conn));
                SetDropDownList(InvestSource, BLL.SysConstant.GetConstantList("15", conn));
                SetDropDownList(ProfessionalCategories, BLL.SysConstant.GetConstantList("28", conn));
                //SetDropDownList(DeclarationLevel, BLL.SysConstant.GetConstantList("04", conn));

                List <Dal.Models.SysConstant> lstDomesticOrAbord = BLL.SysConstant.GetConstantList("19", conn);
                SetDropDownList(DomesticOrAbord1, lstDomesticOrAbord);
                SetDropDownList(DomesticOrAbord2, lstDomesticOrAbord);
                SetDropDownList(DomesticOrAbord3, lstDomesticOrAbord);
                SetDropDownList(DomesticOrAbord4, lstDomesticOrAbord);

                List <Dal.Models.SysConstant> lstCollaborativePhase = BLL.SysConstant.GetConstantList("20", conn);
                SetDropDownList(CollaborativePhase01, lstCollaborativePhase);
                CollaborativePhase01.Items.Insert(0, new ListItem(""));
                SetDropDownList(CollaborativePhase02, lstCollaborativePhase);
                CollaborativePhase02.Items.Insert(0, new ListItem(""));
                SetDropDownList(CollaborativePhase03, lstCollaborativePhase);
                CollaborativePhase03.Items.Insert(0, new ListItem(""));
                SetDropDownList(CollaborativePhase04, lstCollaborativePhase);
                CollaborativePhase04.Items.Insert(0, new ListItem(""));

                //为控件赋值
                BLL.Common.SetData <Dal.Models.Template_10_CivilAirDefence>(tempCivilAirDefence, divfather);

                // 设置参与人员
                ucParticipant.ParticipantList = BLL.Declaration.GetParticipant(tempInfo.DeclarationID.Value, conn);

                Dal.Models.Organization org = BLL.Organization.GetOrganization(decl.OrganizationID.Value, conn);

                DeclarationName.Text  = decl.DeclarationName;
                DeclarationUnit.Text  = org.OrganizationName;
                PostalAddress.Text    = org.OrganizationAddress;
                Linkman.Text          = org.Linkman;
                TelephoneNumber.Text  = org.TelephoneNumber;
                FaxNumber.Text        = org.FaxNumber;
                MobileNumber.Text     = org.MobileNumber;
                Postcode.Text         = org.Postcode;
                EmailAddress.Text     = org.EmailAddress;;//org.EmailAddress
                txtDeclarationID.Text = decl.DeclarationID.ToString();
                txtTemplate.Text      = tempInfo.TemplateCode;

                ucLegalStates.Org  = org;
                ucLegalStates.Decl = decl;
                ucCertificate.Org  = org;
                ucCertificate.Decl = decl;
                ucParticipant.Org  = org;
                ucParticipant.Decl = decl;
                ucComments.Org     = org;
                ucComments.Decl    = decl;
                //接受登录人员
                Dal.Models.UserInfo userInfo = (Dal.Models.UserInfo)Session["UserInfo"];
                txtUser.Text = userInfo.UserType;

                //接受场景
                if (!string.IsNullOrEmpty(tempInfo.Situation.ToString()))
                {
                    txtSituation.Text = tempInfo.Situation.ToString();
                }

                if (tempInfo.Situation.ToString() == "Declara")
                {
                    string strActivityType = Session["ActivityType"].ToString();

                    // 获取指定活动类型的当前激活活动
                    Dal.Models.Activity actActivated = BLL.Activity.GetActivity(strActivityType, conn);
                    if (actActivated == null)
                    {
                        conn.Close();
                        Response.Redirect("../Mutual/UserEntry.aspx");
                        return;
                    }

                    int    iActivity                = actActivated.ActivityID.Value;
                    string strSpecialty             = decl.DeclarationCode.Substring(4, 6);
                    Dal.Models.Specialty dSpecialty = BLL.Specialty.GetSpecialtyByCode(strSpecialty, iActivity, conn);
                    conn.Close();
                    nav02.InnerText = dSpecialty.SpecialtyName;
                }
            }
        }
Exemplo n.º 29
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["ActivityType"] == null || Session["UserInfo"] == null)
            {
                Response.Redirect("../Mutual/UserEntry.aspx");
                return;
            }
            if (!IsPostBack)
            {
                //根据当前模板状态显示部件
                // Dal.Models.TemplateInfo tempInfo = (Dal.Models.TemplateInfo)Session["TemplateInfo"];
                Dal.Models.TemplateInfo tempInfo = null;
                try
                {
                    tempInfo = ((Declaration)Context.Handler).TempInfo;
                }
                catch
                {
                    Response.Redirect("../Mutual/UserEntry.aspx");
                }
                if (tempInfo == null)
                {
                    Response.Redirect("../Mutual/UserEntry.aspx");
                }

                OleDbConnection conn = new OleDbConnection(Dal.OleDbHlper.ConnectionString);
                conn.Open();

                //显示模板的当前编辑部分
                //divfather.FindControl(tempInfo.Anchor).Visible = true;
                Dal.Models.Template_17_Standard tempStandard =
                    BLL.Declaration.GetDeclarationData <Dal.Models.Template_17_Standard>(tempInfo.DeclarationID.Value, conn);
                Dal.Models.Declaration decl = BLL.Declaration.GetDeclaration(tempInfo.DeclarationID.Value, conn);


                ListItem item = new ListItem();
                item.Text  = "行业";
                item.Value = "2401";
                ListItem item2 = new ListItem();
                item2.Text  = "地方";
                item2.Value = "2402";
                ListItem item3 = new ListItem();
                item3.Text  = "国家";
                item3.Value = "2403";
                ListItem item4 = new ListItem();
                item4.Text  = "其他";
                item4.Value = "2404";
                ProjectSource.Items.Add(item);
                ProjectSource.Items.Add(item2);
                ProjectSource.Items.Add(item3);
                ProjectSource.Items.Add(item4);
                //为控件赋值
                BLL.Common.SetData <Dal.Models.Template_17_Standard>(tempStandard, divfather);
                if (FileCatalog.Text == "")
                {
                    FileCatalog.Text = BLL.SysConstant.GetTemplateConstant(tempInfo.TemplateCode, "FileCatalogDefaultText", conn);
                }
                // 设置参与人员
                ucParticipant.ParticipantList = BLL.Declaration.GetParticipant(tempInfo.DeclarationID.Value, conn);

                Dal.Models.Organization org = BLL.Organization.GetOrganization(decl.OrganizationID.Value, conn);

                StandardName.Text     = decl.DeclarationName;
                ChiefEditorUnit.Text  = org.OrganizationName;
                PostalAddress.Text    = org.OrganizationAddress;
                Linkman.Text          = org.Linkman;
                TelephoneNumber.Text  = org.TelephoneNumber;
                FaxNumber.Text        = org.FaxNumber;
                MobileNumber.Text     = org.MobileNumber;
                Postcode.Text         = org.Postcode;
                EmailAddress.Text     = org.EmailAddress;;//org.EmailAddress
                txtDeclarationID.Text = decl.DeclarationID.ToString();
                txtTemplate.Text      = tempInfo.TemplateCode;

                ucLegalStates.Org  = org;
                ucLegalStates.Decl = decl;
                ucCertificate.Org  = org;
                ucCertificate.Decl = decl;
                ucParticipant.Org  = org;
                ucParticipant.Decl = decl;
                ucComments.Org     = org;
                ucComments.Decl    = decl;
                //接受登录人员
                Dal.Models.UserInfo userInfo = (Dal.Models.UserInfo)Session["UserInfo"];
                txtUser.Text = userInfo.UserType;

                //接受场景
                if (!string.IsNullOrEmpty(tempInfo.Situation.ToString()))
                {
                    txtSituation.Text = tempInfo.Situation.ToString();
                }

                if (tempInfo.Situation.ToString() == "Declara")
                {
                    string strActivityType = Session["ActivityType"].ToString();

                    // 获取指定活动类型的当前激活活动
                    Dal.Models.Activity actActivated = BLL.Activity.GetActivity(strActivityType, conn);
                    if (actActivated == null)
                    {
                        conn.Close();
                        Response.Redirect("../Mutual/UserEntry.aspx");
                        return;
                    }

                    int    iActivity                = actActivated.ActivityID.Value;
                    string strSpecialty             = decl.DeclarationCode.Substring(4, 6);
                    Dal.Models.Specialty dSpecialty = BLL.Specialty.GetSpecialtyByCode(strSpecialty, iActivity, conn);
                    conn.Close();
                    nav02.InnerText = dSpecialty.SpecialtyName;
                }

                //string sourceText = ProjectSource.SelectedItem.Text;
                //ProjectSource.Text = sourceText;
            }
        }
Exemplo n.º 30
0
        /// <summary>
        /// 导入专家
        /// </summary>
        /// <param name="context"></param>
        /// <param name="conn"></param>
        /// <remarks>第一个对象标识:0 没有文件 1 有文件 第二个对象:成功列表  第三个对象:失败列表及失败原因</remarks>
        public void ImportExpert(HttpContext context, OleDbConnection conn)
        {
            List <object> lstResult = new List <object>();

            if (context.Session["ActivityType"] == null)
            {
                lstResult.Add("-1");
                lstResult.Add("当前会话已结束,请重新登录!");
                context.Response.Write(JsonConvert.SerializeObject(lstResult));
                return;
            }

            string strActivityType = context.Session["ActivityType"].ToString();

            Dal.Models.Activity activity = BLL.Activity.GetActivity(strActivityType, conn);
            if (activity == null)
            {
                lstResult.Add("-1");
                lstResult.Add("当前活动已关闭,请联系活动管理人员!");
                context.Response.Write(JsonConvert.SerializeObject(lstResult));
                return;
            }

            //int specialtyID = Convert.ToInt32(context.Request["SpecialtyID"]);

            if (context.Request.Files.Count <= 0)
            {
                lstResult.Add("-1");
                lstResult.Add("请选择文件!");
                context.Response.Write(JsonConvert.SerializeObject(lstResult));
                return;
            }

            // 接收上传文件
            string excelFile = UploadFile(context);

            // 读取文件中的数据
            DataTable dtExpert = BLL.Common.ReadExcelByNPOI(excelFile, true, 0);

            if (dtExpert == null)
            {
                lstResult.Add("-1");
                lstResult.Add("读取文件中的数据失败!");
                context.Response.Write(JsonConvert.SerializeObject(lstResult));
                return;
            }

            List <DataRow> removelist = new List <DataRow>();

            for (int i = 0; i < dtExpert.Rows.Count; i++)
            {
                bool IsNull = true;
                for (int j = 0; j < dtExpert.Columns.Count; j++)
                {
                    if (!string.IsNullOrEmpty(dtExpert.Rows[i][j].ToString().Trim()))
                    {
                        IsNull = false;
                        break;
                    }
                }
                if (IsNull)
                {
                    removelist.Add(dtExpert.Rows[i]);
                }
            }
            for (int i = 0; i < removelist.Count; i++)
            {
                dtExpert.Rows.Remove(removelist[i]);
            }

            Dal.Models.UserInfo      user           = (Dal.Models.UserInfo)context.Session["UserInfo"];
            Dal.Models.Expert        expert         = null;
            Dal.Models.Expert        expertOriginal = null;
            Dal.Models.UserInfo      userOriginal   = null;
            List <Dal.Models.Expert> lstExpert      = new List <Dal.Models.Expert>();

            //创建专家,如果专家创建失败,加入到这里
            List <KeyValuePair <string, Dal.Models.Expert> > lstError = new List <KeyValuePair <string, Dal.Models.Expert> >();
            List <Dal.Models.SysConstant> lstConstant = BLL.SysConstant.GetConstantList("09", conn);

            string strDefaultPassword = BLL.SysConstant.GetAppSettings("DefaultPassword", conn);

            Dal.Models.SysConstant cnstIDType = null;
            foreach (DataRow row in dtExpert.Rows)
            {
                if (string.IsNullOrEmpty(row["姓名"].ToString().Trim()))
                {
                    continue;
                }

                expert                = new Dal.Models.Expert();
                expert.ExpertName     = row["姓名"].ToString().Trim();
                expert.Gender         = row["性别"].ToString().Trim();
                expert.IDTypeText     = row["证件类别"].ToString().Trim();
                expert.IDNumber       = row["证件号码"].ToString().Trim();
                expert.Email          = row["电子邮箱"].ToString().Trim();
                expert.AcademicTitle  = row["职称"].ToString().Trim();
                expert.Profession     = row["研究方向"].ToString().Trim();
                expert.Workplace      = row["工作单位"].ToString().Trim();
                expert.SpecialtyNames = row["评优专业"].ToString().Trim();

                OleDbTransaction tran = conn.BeginTransaction();

                try
                {
                    if (string.IsNullOrEmpty(expert.IDTypeText) ||
                        string.IsNullOrEmpty(expert.IDNumber) ||
                        string.IsNullOrEmpty(expert.Email) ||
                        string.IsNullOrEmpty(expert.SpecialtyNames))
                    {
                        throw new Exception("专家信息不完整!");
                    }

                    // 判断证件类别
                    cnstIDType = lstConstant.Find(delegate(Dal.Models.SysConstant item) { return(item.ConstantValue == expert.IDTypeText); });
                    if (cnstIDType == null)
                    {
                        throw new Exception("证件类别输入错误!");
                    }
                    else
                    {
                        expert.IDType = cnstIDType.ConstantCode;
                        if (expert.IDType == "0901" && !BLL.IDOperation.CheckIDCard18(expert.IDNumber))
                        {
                            throw new Exception("所输入的身份证号码不是有效身份证号码!");
                        }
                    }

                    // 判断证件号
                    expertOriginal = BLL.Expert.GetExpert(expert.ExpertName, conn, tran);
                    if (expertOriginal != null)
                    {
                        if (expertOriginal.ExpertName != expert.ExpertName && expertOriginal.IDType == expert.IDType && expertOriginal.IDNumber == expert.IDNumber)
                        {
                            throw new Exception("专家库中存在证件类别和证件号相同,但是不同名的专家!");
                        }
                    }

                    // 判断邮箱地址
                    if (!BLL.Common.IsValidEmail(expert.Email))
                    {
                        throw new Exception("电子邮件地址格式错误!");
                    }
                    else
                    {
                        userOriginal = BLL.User.GetUserByMail(expert.Email, conn, tran);
                        if (userOriginal != null && (expertOriginal == null || userOriginal.UserID != expertOriginal.UserID))
                        {
                            throw new Exception("电子邮件地址已被占用,请更换电子邮件地址!");
                        }
                    }

                    // 判断专业
                    List <Dal.Models.Specialty> lstSpecialty = BLL.Specialty.GetSpecialtyList(activity.ActivityID.Value, true, conn, tran);
                    string[] specialtyNames = expert.SpecialtyNames.Replace(",", ",").Split(',');
                    expert.SpecialtyNames = "";
                    List <Dal.Models.Specialty> lstInputSpecialty = null;
                    for (int i = 0; i < specialtyNames.Count(); i++)
                    {
                        lstInputSpecialty = lstSpecialty.Where(s => s.SpecialtyName == specialtyNames[i]).ToList();
                        if (lstInputSpecialty.Count > 0)
                        {
                            if (user.UserType != "0804" || user.SpecialtyNames.Split().Contains(lstInputSpecialty[i].SpecialtyName))
                            {
                                expert.SpecialtyIDs   += lstInputSpecialty[0].SpecialtyID + ",";
                                expert.SpecialtyNames += lstInputSpecialty[0].SpecialtyName + ",";
                            }
                        }
                    }
                    if (!string.IsNullOrEmpty(expert.SpecialtyIDs))
                    {
                        expert.SpecialtyIDs   = expert.SpecialtyIDs.TrimEnd(',');
                        expert.SpecialtyNames = expert.SpecialtyNames.TrimEnd(',');
                    }
                    else
                    {
                        throw new Exception("评优专业不匹配!");
                    }

                    // 专家数据入库
                    if (expertOriginal != null)
                    {
                        expert.ExpertID = expertOriginal.ExpertID;
                        expert.UserID   = expertOriginal.UserID;
                        BLL.Expert.UpdateExpert(expert, conn, tran);
                    }
                    else
                    {
                        expert.ExpertID = BLL.Expert.CreateExpert(expert, strDefaultPassword, user.UserID.Value, conn, tran);
                    }

                    if (expert.SpecialtyIDs.Length > 0)
                    {
                        string[] specialtyIDs = expert.SpecialtyIDs.Split(',');
                        for (int i = 0; i < specialtyIDs.Count(); i++)
                        {
                            BLL.User.AddUserSpecialty(expert.UserID.Value, Convert.ToInt32(specialtyIDs[i]), conn, tran);
                        }
                    }
                    //BLL.User.SetUserSpecialty(expert.UserID.Value, activity.ActivityID.Value, expert.SpecialtyIDs, conn, tran);

                    // 添加到成功数据中
                    lstExpert.Add(expert);
                    tran.Commit();
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    // 添加失败数据及失败原因
                    lstError.Add(new KeyValuePair <string, Dal.Models.Expert>(ex.Message, expert));
                }
            }

            lstResult.Add(dtExpert.Rows.Count);
            lstResult.Add(lstExpert.Count);
            lstResult.Add(lstExpert);
            lstResult.Add(lstError);

            context.Response.Write(JsonConvert.SerializeObject(lstResult));
        }