예제 #1
0
 /// <summary>
 /// Valida el permiso para mostrar el combobox
 /// </summary>
 /// <param name="cbx">Combobox a validar</param>
 /// <param name="enumPermission">Permiso</param>
 /// <param name="enumPermisionLevel">Nivel de permiso</param>
 /// <returns></returns>
 /// <history>
 /// [michan] 04/06/2016 Created
 /// </history>
 public bool ComboBoxPermision(ComboBox cbx, EnumPermission enumPermission, EnumPermisionLevel enumPermisionLevel)
 {
     //Validamos permisos y restricciones para el combobox
     if (Context.User.HasPermission(enumPermission, enumPermisionLevel))
     {
         cbx.IsEnabled = true;
         if (cbxLeadSource.Items.Count > 0)
         {
             return(true);
         }
         else
         {
             cbx.Text = "No data found - Press Ctrl+F5 to load Data";
             return(false);
         }
     }
     else
     {
         cbx.IsEnabled = false;
         if (cbx.Items.Count > 0)
         {
             return(true);
         }
         else
         {
             cbx.Text = "No data found - Press Ctrl+F5 to load Data";
             return(false);
         }
     }
 }
예제 #2
0
 /// <summary>
 /// Contructor Login
 /// </summary>
 /// <history>
 /// [vipacheco] 2-26-2016 Created
 /// [edgrodriguez] 27/02/2016 Modified
 /// [edgrodriguez] 29/02/2016 Modified
 /// [erosado] 25/04/2016  Modified. Se restructuro y se agregaron parametros _permission, _permissionLevel, _program, _modeSwitchLoginUser
 /// [jorcanche] 16/08/2016 Se agrego el parametro windowStartupLocation sirve para definir en que posicion estara el windowStartupLocation
 /// </history>
 public frmLogin(
     Window splash                               = null,
     EnumLoginType loginType                     = EnumLoginType.Normal,
     EnumProgram program                         = EnumProgram.All,
     bool validatePermission                     = false,
     bool validateRole                           = false,
     bool changePassword                         = false,
     bool autoSign                               = false,
     EnumPermission permission                   = EnumPermission.None,
     EnumPermisionLevel permissionLevel          = EnumPermisionLevel.None,
     EnumRole role                               = EnumRole.None,
     bool switchLoginUserMode                    = false,
     bool invitationMode                         = false,
     string invitationPlaceId                    = "",
     WindowStartupLocation windowStartupLocation = WindowStartupLocation.Manual
     )
 {
     InitializeComponent();
     _splash             = splash;
     _loginType          = loginType;
     _program            = program;
     _validatePermission = validatePermission;
     _validateRole       = validateRole;
     _changePassword     = changePassword;
     _autoSign           = autoSign;
     _permission         = permission;
     _permissionLevel    = permissionLevel;
     _role = role;
     _modeSwitchLoginUser  = switchLoginUserMode;
     _invitationMode       = invitationMode;
     _invitationPlaceId    = invitationPlaceId;
     WindowStartupLocation = windowStartupLocation;
     CloseWindow           = new ExecuteCommandHelper(x => btnCancelar_Click(this, null));
 }
예제 #3
0
        public RequirePermissionAttribute(EnumPermission permission, params EnumPermission[] permissions)
        {
            var arr = new EnumPermission[permissions.Length + 1];

            arr[0] = permission;
            Array.Copy(permissions, 0, arr, 1, permissions.Length);
            Permissions = arr;
        }
예제 #4
0
 private void BarButtonCancel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     if (!BarButtonCancel_Click())
     {
         return;
     }
     StatusUse = EnumPermission.View;
     SetEnableBarButton();
 }
예제 #5
0
 private void DeveloverCatalogForm_Load(object sender, EventArgs e)
 {
     if (!CheckView())
     {
         return;
     }
     LoadPermissionForm();
     StatusUse = EnumPermission.View;
     SetEnableBarButton();
 }
예제 #6
0
        public IResult ValidatePermission(EnumPermission permission)
        {
            var User = CurrentUser;

            if (!_userService.Validate(User, permission))
            {
                return(new Result(EnumResultBL.ERROR_PERMISSION_VALIDATIONS));
            }

            return(Result.Ok);
        }
예제 #7
0
        public static DialogResult DelMessageBoxPermission(EnumPermission enumPermission)
        {
            string text = StringMessage.Unknown;

            switch (enumPermission)
            {
            case EnumPermission.View:
            {
                text = StringMessage.PermissionDenialView;
            }
            break;

            case EnumPermission.New:
            {
                text = StringMessage.PermissionDenialNew;
            }
            break;

            case EnumPermission.Edit:
            {
                text = StringMessage.PermissionDenialEdit;
            }
            break;

            case EnumPermission.Delete:
            {
                text = StringMessage.PermissionDenialDelete;
            }
            break;

            case EnumPermission.Print:
            {
                text = StringMessage.PermissionDenialPrint;
            }
            break;

            case EnumPermission.Denial:
            {
                text = StringMessage.PermissionDenial;
            }
            break;
            }
            return(XtraMessageBox.Show(text, StringMessage.MessageSystem, MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1));
        }
예제 #8
0
 private void BarButtonEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     if (!CheckEdit())
     {
         return;
     }
     if (string.IsNullOrEmpty(VoucherID))
     {
         return;
     }
     ClearDataBindingsControl(groHeader);
     ((Control)DeveloverControlsFocus).Focus();
     if (!BarButtonEdit_Click())
     {
         return;
     }
     StatusUse      = EnumPermission.Edit;
     WhenCloseForm_ = false;
     SetEnableBarButton();
 }
예제 #9
0
 private void barButtonPrint_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     if (!CheckPrint())
     {
         return;
     }
     if (string.IsNullOrEmpty(VoucherID))
     {
         return;
     }
     if (StatusUse == EnumPermission.New || StatusUse == EnumPermission.Edit)
     {
         return;
     }
     if (!BarButtonPrint_Click())
     {
         return;
     }
     StatusUse = EnumPermission.Print;
     SetEnableBarButton();
 }
예제 #10
0
 private void BarButtonDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     if (!CheckDelete())
     {
         return;
     }
     if (string.IsNullOrEmpty(CodePrimary))
     {
         return;
     }
     if (StatusUse == EnumPermission.New || StatusUse == EnumPermission.Edit)
     {
         return;
     }
     if (!BarButtonDelete_Click())
     {
         return;
     }
     StatusUse = EnumPermission.Delete;
     SetEnableBarButton();
 }
예제 #11
0
 private void BarButtonNew_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     if (!CheckNew())
     {
         return;
     }
     ClearDataBindingsControl(groHeader);
     ((Control)DeveloverControlsFocus).Focus();
     if (!BarButtonNew_Click())
     {
         return;
     }
     if (StatusUse == EnumPermission.New || StatusUse == EnumPermission.Edit)
     {
         StatusUse      = EnumPermission.View;
         WhenCloseForm_ = true;
     }
     else
     {
         StatusUse      = EnumPermission.New;
         WhenCloseForm_ = false;
     }
     SetEnableBarButton();
 }
예제 #12
0
        /// <summary>
        /// Valida los permisos
        /// </summary>
        /// <param name="enumPermission"></param>
        /// <param name="GuestID"></param>
        /// <returns></returns>
        /// <history>
        /// [vipacheco] 06/Junio/2016 Created
        /// </history>
        private bool ValidatePermissions(EnumPermission enumPermission, ref int GuestID)
        {
            // validamos que haya seleccionado al menos una invitacion
            Guest selected = grdGuest.SelectedItem as Guest;

            if (selected == null)
            {
                UIHelper.ShowMessage("Select at least one Guest.", MessageBoxImage.Information, "Search General");
                return(false);
            }

            // Validamos el permisos del usuario
            else if (!Context.User.HasPermission(enumPermission, EnumPermisionLevel.Standard))
            {
                UIHelper.ShowMessage("You have read access.", MessageBoxImage.Information, "Search General");
                return(false);
            }
            else
            {
                GuestID = selected.guID;
            }

            return(true);
        }
예제 #13
0
파일: userData.cs 프로젝트: jackjet870/IM-2
 /// <summary>
 /// Determina si el usuario tiene cierto nivel de un permiso
 /// </summary>
 /// <param name="permission">Permiso</param>
 /// <param name="level">Nivel</param>
 /// <history>
 /// [jorcanche]  08/Mar/2016 Created
 /// </history>
 public bool HasPermission(EnumPermission permission, EnumPermisionLevel level)
 {
     return(this.Permissions.Exists(p => p.pppm == EnumToListHelper.GetEnumDescription(permission) && p.pppl >= (int)level));
 }
예제 #14
0
 public bool Validate(string user, EnumPermission permission)
 {
     return(true);
 }
예제 #15
0
 public PermisionValidate(EnumOperation operation, EnumPermission permission)
 {
     Operation  = operation;
     Permission = permission;
 }
예제 #16
0
 /// <summary>
 /// 获取当前用户是否具有某个权限
 /// </summary>
 /// <param name="p"></param>
 /// <returns></returns>
 public static bool GetCurrentUserHasPermission(EnumPermission p)
 {
     return GetCurrentUserHasPermission(p.ToString());
 }