/// <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); } } }
/// <summary> /// Abre la ventana de busqueda /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 10/06/2016 /// </history> private void btnSearch_Click(object sender, RoutedEventArgs e) { frmSearchPersonnel frmSearchPersonnel = new frmSearchPersonnel(); frmSearchPersonnel.Owner = this; frmSearchPersonnel.leadSource = _leadSource; frmSearchPersonnel.salesRoom = _salesRoom; frmSearchPersonnel.roles = _roles; frmSearchPersonnel.status = _status; frmSearchPersonnel.permission = _permission; frmSearchPersonnel.relationalOperator = _relationalOperator; frmSearchPersonnel.dept = _dept; frmSearchPersonnel.enumPermission = _enumPermission; if (frmSearchPersonnel.ShowDialog() == true) { _leadSource = frmSearchPersonnel.leadSource; _salesRoom = frmSearchPersonnel.salesRoom; _roles = frmSearchPersonnel.roles; _status = frmSearchPersonnel.status; _permission = frmSearchPersonnel.permission; _relationalOperator = frmSearchPersonnel.relationalOperator; _dept = frmSearchPersonnel.dept; _enumPermission = frmSearchPersonnel.enumPermission; LoadPersonnel(); } }
/// <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)); }
/// <summary> /// guarda los filtros /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <history> /// [emoguel] created 13/06/2016 /// </history> private void btnAccept_Click(object sender, RoutedEventArgs e) { dept = cmbDepts.SelectedValue.ToString(); status = Convert.ToInt32(cmbStatus.SelectedValue); roles = cmbRoles.SelectedValue.ToString(); permission = cmbPermission.SelectedValue.ToString(); relationalOperator = cmbOperator.SelectedValue.ToString(); enumPermission = (EnumPermisionLevel)cmbAcces.SelectedValue; leadSource = (dgrLeadSources.SelectedItems.Count > 0) ? string.Join(",", dgrLeadSources.SelectedItems.OfType <LeadSourceByUser>().Select(ls => ls.lsID)) : "ALL"; salesRoom = (dgrSalesRoom.SelectedItems.Count > 0) ? string.Join(",", dgrSalesRoom.SelectedItems.OfType <SalesRoomByUser>().Select(sr => sr.srID)) :"ALL"; DialogResult = true; }
/// <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)); }
/// <summary> /// Obtiene un listado de personal /// </summary> /// <param name="leadSources">Lead Sources</param> /// <param name="salesRooms">Salas de ventas</param> /// <param name="roles">Roles</param> /// <param name="status">Estatus. /// 0 Todos /// 1 Activos /// 2 Inactivos /// </param> /// <param name="permission">Permiso</param> /// <param name="relationalOperator">Operador logico</param> /// <param name="level">Nivel</param> /// <param name="dept">Departamento</param> /// <history> /// [jorcanche] 12/Mar/2016 Created /// [erosado] 19/05/2016 Modified. Se agregó asincronía /// [erosado] 04/08/2016 Modified. Se estandarizó el valor que retorna. /// </history> public async static Task <List <PersonnelShort> > GetPersonnel(string leadSources = "ALL", string salesRooms = "ALL", string roles = "ALL", int status = 1, string permission = "ALL", string relationalOperator = "=", EnumPermisionLevel level = EnumPermisionLevel.None, string dept = "ALL", string idPersonnel = "ALL") { return(await Task.Run(() => { using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString())) { return dbContext.USP_OR_GetPersonnel(leadSources, salesRooms, roles, ((byte)status), permission, relationalOperator, ((int)level), dept, idPersonnel).ToList(); } })); }