Example #1
0
        /// <summary>
        /// Pobiera z bazy danych informacje o wskazanym pracowniku.
        /// </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_Workers,
        /// null jeżeli nie znaleziono pracownika odpowiadającego podanym warunkom lub podany argument to null.
        /// </returns>
        public A_Worker SelectWorker(System.Linq.Expressions.Expression <Func <A_Worker, bool> > predicate)
        {
            A_Worker entity = null;

            if (predicate != null)
            {
                db     = new MedicalCenterDBContainer();
                entity = db.A_Workers.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 informacje o wybranym pracowniku, zwraca jego nazwisko i imię.
        /// </summary>
        /// <param name="workerId">ID pracownika, którego dane mają zostać pobrane.</param>
        /// <returns>Oddzielone spacją nazwisko i imię wskazanego pracownika lub null, jeśli nie znaleziono pracownika o podanym ID.</returns>
        public string GetWorkerName(int workerId)
        {
            if (workerId > 0)
            {
                A_Worker worker = userService.SelectWorker(x => x.Id == workerId);

                if (worker == null)
                {
                    return(null);
                }
                else
                {
                    return(worker.LastName + " " + worker.FirstName);
                }
            }
            else
            {
                return(null);
            }
        }