Ejemplo n.º 1
0
        public void RefreshSource()
        {
            Societe societe = _service.SocieteGetAll().Single(x => x.Id == _service.Societe.Id);

            _service.SetSociete(societe);
        }
        // Event Login (valider)
        private void LoginEvent(object sender, EventArgs e)
        {
            // t5arej beuuuuugue
            if (string.IsNullOrEmpty(cbSociete.Text))
            {
                cbSociete.ErrorText = "Societe est obligatoire";
                return;
            }
            // get societe
            var societe = cbSociete.GetSelectedDataRow() as Societe;

            if (societe == null)
            {
                return;
            }


            try
            {
                //BindingSource();
                _dxErrorProvider.DataSource = _currentView;
                if (_dxErrorProvider.HasErrors)
                {
                    return;
                }

                // verifier le login et le mot de passe
                if (!_service.CanConnect(_currentView.Login, _currentView.Password))
                {
                    _dxErrorProvider.SetError(txtLogin, "Le nom d'utilisateur ou le mot de passe est invalide!");
                    return;
                }

                // get selected societe
                _service.SetSociete(societe);
                _service.SetUser(_currentView.Login);

                var listeUserSociete = _service.UserGetUserBySociete(societe.Id);

                if (Program.GetService().User.IsAdmin)
                {
                    DialogResult = DialogResult.Yes;
                    return;
                }


                foreach (User user in listeUserSociete)
                {
                    if (user.Id == _service.User.Id)
                    {
                        DialogResult = DialogResult.Yes;
                        return;
                    }
                }

                _dxErrorProvider.SetError(txtLogin, "L'utilisateur n'a pas le droit de se connecter à cette société !");
                return;
                //si le login est valide , on enregistre l'utilisateur et societeNO dans le fichier apt
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            Close();
        }