Example #1
0
        /// <summary>
        /// Pobiera z bazy danych informacje o wskazanym stanowisku służbowym.
        /// </summary>
        /// <param name="predicate">Funkcja (predykat) sprawdzająca warunek dla każdego elementu. Wartość null powoduje, że ta metoda również zwraca null.</param>
        /// <returns>
        /// Obiekt reprezentujący rekord z tabeli A_DictionaryJobTitles,
        /// null jeżeli nie znaleziono stanowiska odpowiadającego podanym warunkom lub podany argument to null.
        /// </returns>
        public A_DictionaryJobTitle SelectJobTitle(System.Linq.Expressions.Expression <Func <A_DictionaryJobTitle, bool> > predicate)
        {
            A_DictionaryJobTitle entity = null;

            if (predicate != null)
            {
                db     = new MedicalCenterDBContainer();
                entity = db.A_DictionaryJobTitles.FirstOrDefault(predicate);
                db.Dispose();
            }

            return(entity);
        }
Example #2
0
        /// <summary>
        /// Sprawdza w bazie danych podane poświadczenia.
        /// Jeśli znaleziono w bazie odpowiadającego użytkownika, pobierane są również jego imię, nazwisko oraz nazwa i kod stanowiska.
        /// Informacje te zapisywane są w obiekcie wskazywanym przez argument.
        /// </summary>
        /// <param name="user">Obiekt zawierający podany login i hash hasła. Wartość null powoduje, że ta metoda nie wykonuje żadnej akcji.</param>
        public void LogIn(User user)
        {
            if (user != null)
            {
                // sprawdzenie czy w systemie istnieje użytkownik o podanym loginie i hashu hasła
                A_User usr = userService.SelectUser(x => x.Login == user.Login && x.Password == user.Password);

                // jeśli podane poświadczenia są prawidłowe
                if (usr != null && usr.WorkerId > 0)
                {
                    // jeśli konto jest aktywne
                    if (usr.Expires == null || usr.Expires.Value > DateTime.Today)
                    {
                        // pobranie informacji o pracowniku, do którego przypisany jest sprawdzony użytkownik systemu
                        A_Worker wrk = userService.SelectWorker(x => x.Id == usr.WorkerId);

                        // jeśli rekord użytkownika w bazie zawiera prawidłowe ID pracownika
                        if (wrk.Id > 0)
                        {
                            // zapisanie ID pracownika
                            user.Id = usr.WorkerId;

                            // pobranie informacji o stanowisku służbowym pracownika
                            A_DictionaryJobTitle job = userService.SelectJobTitle(x => x.Id == wrk.JobTitle);

                            // jeśli rekord pracownika w bazie zawiera prawidłowe ID stanowiska
                            if (job.Id > 0)
                            {
                                // zapisanie imienia, nazwiska i nazwy stanowiska
                                user.Title = job.JobTitle + " - " + wrk.LastName + " " + wrk.FirstName;

                                // zapisanie kodu stanowiska
                                user.JobTitleCode = job.Code;
                            }
                        }
                    }
                    // jeśli konto zostało dezaktywowane, ID pracownika zostaje przypisana wartość -1, co jest rozpoznawane w prezenterze formularza logowania
                    else
                    {
                        user.Id = -1;
                    }
                }
            }
        }
Example #3
0
        /// <summary>
        /// Pobiera z bazy danych ID stanowiska określonego podanym kodem.
        /// </summary>
        /// <param name="code">Kod stanowiska, którego klucz ma zostać pobrany. Wartość null powoduje, że ta metoda zwraca wartość -1.</param>
        /// <returns>
        /// ID stanowiska większe od 0,
        /// 0 jeśli nie znaleziono stanowiska o podanym kodzie,
        /// -1 jeśli drugi argument to null.
        /// </returns>
        public int GetJobTitleId(string code)
        {
            int jobTitleId = 0;

            if (code != null)
            {
                A_DictionaryJobTitle job = userService.SelectJobTitle(x => x.Code.StartsWith(code));

                if (job != null)
                {
                    jobTitleId = job.Id;
                }
            }
            else
            {
                jobTitleId = -1;
            }

            return(jobTitleId);
        }