Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnOK_Click(object sender, EventArgs e)
        {
            //if (this.IsValid)
            if (Check())
            {
                WS.WaterUser.Name   = this.txtWaterUserName.Text;
                WS.WaterUser.Remark = this.txtRemark.Text;

                //WS.WaterUser.WaterUserLevelEnum

                //int typeid = Convert.ToInt32(this.ddlWaterUserType.SelectedValue);
                //WS.WaterUser.WaterUserTypeID = typeid;
                //WS.WaterUser.WaterUserLevel =

                // todo: 2011-04-09
                // no hava parent, ex: guan li ju wateruser
                //
                WaterUserLevel thisLevel = WS.WaterUser.WaterUserLevel;
                if (!thisLevel.IsTopManager())
                {
                    int parentid = Convert.ToInt32(this.ddlParentWaterUser.SelectedValue);
                    //WS.WaterUser.ParentWaterUserID = parentid;
                    WS.WaterUser.ParentWaterUser = WaterUserFactory.CreateWaterUserByID(parentid);

                    // parent water user level ordinal must > this water user level ordinal
                    //
                    WaterUserLevel parentLevel = WS.WaterUser.ParentWaterUser.WaterUserLevel;
                    if (!WaterUserLevel.Greater(parentLevel, thisLevel))
                    {
                        string errmsg = string.Format("level error : {0} < {1}",
                                                      parentLevel.LevelOrdinal, thisLevel.LevelOrdinal
                                                      );
                        //throw new InvalidOperationException(errmsg);
                        this.cvWaterUserLevel.IsValid = false;
                        return;
                    }
                }

                //WS.Save();
                WS.WaterUser.Save();
                Response.Redirect("WaterUserList.aspx");
            }
        }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        private bool Check()
        {
            WaterUserLevel level           = WS.WaterUser.WaterUserLevel;
            WaterUserClass parentWaterUser = WS.WaterUser.ParentWaterUser;

            // 1. 管理局无上级单位, 其他有上级单位
            //
            // 2. 只能有一个顶级单位(管理局)
            //
            if (level.IsTopManager())
            {
                if (WS.WaterUser.IsAdd())
                {
                    if (WaterUserDBI.HasWaterUser(WaterUserLevelEnum.Ju))
                    {
                        cvWaterUserLevel.ErrorMessage = "exist ju water user";
                        cvWaterUserLevel.IsValid      = false;
                        return(false);
                    }
                }

                if (parentWaterUser == null || parentWaterUser.IsNoneWaterUser())
                {
                }
                else
                {
                    this.cvWaterUserLevel.ErrorMessage = "cannot has parent wateruser";
                    this.cvWaterUserLevel.IsValid      = false;
                    return(false);
                }
            }
            else
            {
                if (parentWaterUser == null || parentWaterUser.IsNoneWaterUser())
                {
                    this.cvWaterUserLevel.ErrorMessage = "need parent";
                    this.cvWaterUserLevel.IsValid      = false;
                    return(false);
                }
            }

            return(true);
        }