コード例 #1
0
ファイル: Owner.cs プロジェクト: rikocheett/Lentern
        public Owner()
        {
            //Перебераем все записи в таблице Acc, если нет ниодной записи с полными правами, то создаем ее
            //С указанными выше логином и паролем
            using (LenternContext db = new LenternContext())
            {
                var selectOwner = from acc in db.Accs
                                  where acc.Owner == true
                                  select acc;

                int i = 0;
                foreach (Acc a in selectOwner)
                {
                    if (a.Owner == true)
                    {
                        i++;
                    }
                }

                if (i == 0)
                {
                    Acc own = new Acc {
                        Login = OwnerLogin, Password = OwnerPassword, Admin = true, Owner = true
                    };
                    db.Accs.Add(own);
                    db.SaveChanges();
                }
            }
        }
コード例 #2
0
ファイル: ReIntern.aspx.cs プロジェクト: rikocheett/Lentern
        //-------------3 часть
        //Обработчик кнопки обновления данных
        protected void ReInt_Click(object sender, EventArgs e)
        {
            //Берем данные, с разметки
            string email          = Email.Text;
            bool   flag           = false;
            string name           = Name.Text;
            string universityName = UniversityName.Text;
            string cours          = Cours.Text;
            string faculty        = Faculty.Text;
            string phone          = Phone.Text;
            string about          = About.Text;
            string day            = Day.Text;
            string month          = Month.Text;
            string year           = Year.Text;
            bool   approve        = Approve.Checked;

            //Проверяем данные на пустоту, и чиловые значения, если что-то не так, выводим сообщение
            if (String.IsNullOrEmpty(name) && String.IsNullOrEmpty(phone) && String.IsNullOrEmpty(email) && String.IsNullOrEmpty(day) &&
                String.IsNullOrEmpty(month) && String.IsNullOrEmpty(year) && Int32.TryParse(cours, out int a) && Int32.TryParse(day, out int u) &&
                Int32.TryParse(month, out int b) && Int32.TryParse(year, out int c))
            {
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Введите все обязательные поля! Либо поля с цифровым значением введены некорректно!')", true);
            }
            //Иначе выполняем обновление данных
            else
            {
                //Для этого необходимо получить дополнительные поля, дата изменения и имя пользователя
                string   editorName = User.Text;
                DateTime time       = DateTime.Now;
                DateTime birthDate  = new DateTime(Int32.Parse(year), Int32.Parse(month), Int32.Parse(day));
                //Изменяем и сохраняем ланные, выводим сообщение об удачном добавлении стажера
                using (LenternContext db = new LenternContext())
                {
                    foreach (var i in db.Interns)
                    {
                        if (i.Email == email)
                        {
                            flag             = true;
                            i.Name           = name;
                            i.BirthDate      = birthDate;
                            i.UniversityName = universityName;
                            i.Course         = Int32.Parse(cours);
                            i.Faculty        = faculty;
                            i.Phone          = phone;
                            i.About          = about;
                            i.EditDate       = time;
                            i.EditName       = editorName;
                            i.Approve        = approve;
                        }
                    }
                    db.SaveChanges();
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Данные изменены!')", true);
                }
                //Если данные не изменены, говорим о том, что такого ользователя нет
                if (!flag)
                {
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Данный пользователь не найден')", true);
                }
            }
        }
コード例 #3
0
ファイル: ReIntern.aspx.cs プロジェクト: rikocheett/Lentern
        //-----------2 часть
        //Обработчик кнопки, после полня с воом Email
        //Берем данные из поля с Email
        //Заполняем разметку соотвтствующими данными
        protected void Show_Click(object sender, EventArgs e)
        {
            string email = Email.Text;
            bool   flag  = false;

            using (LenternContext db = new LenternContext())
            {
                foreach (var i in db.Interns)
                {
                    if (i.Email == email)
                    {
                        flag                = true;
                        Name.Text           = i.Name;
                        UniversityName.Text = i.UniversityName;
                        Cours.Text          = i.Course.ToString();
                        Faculty.Text        = i.Faculty;
                        Phone.Text          = i.Phone;
                        About.Text          = i.About;
                        Day.Text            = i.BirthDate.Day.ToString();
                        Month.Text          = i.BirthDate.Month.ToString();
                        Year.Text           = i.BirthDate.Year.ToString();
                        Approve.Checked     = i.Approve;
                    }
                }
            }
            //Если такого пользователя нет, то сообщаем об этом
            if (!flag)
            {
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Данный пользователь не найден')", true);
            }
        }
コード例 #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //Берем из URL логин, если он есть, то помещаем его на разметки
            //Если его нет, либо url пренадлежит стажеру, то отправляем их на странизу авторизации
            Owner  own     = new Owner();//см класс owner
            string userurl = Request.QueryString["User"];
            bool   admin   = false;

            if (!String.IsNullOrEmpty(userurl))
            {
                Encoding enc  = new Encoding();
                string   user = enc.decode(userurl);
                User.Text = user;
                using (LenternContext db = new LenternContext())
                {
                    foreach (var a in db.Accs)
                    {
                        if (a.Login == user)
                        {
                            admin = true;
                        }
                    }
                }
                if (!admin)
                {
                    Response.Redirect("Default.aspx");
                }
            }
            else
            {
                Response.Redirect("Default.aspx");
            }
        }
コード例 #5
0
        //-----------------3 часть
        //Если на странице находится администратор, то отображаем всех стажеров
        //Если же на странице стажер, то отображаем только его запись
        protected string ShowTable()
        {
            //Получем URL
            Encoding enc     = new Encoding();
            string   userurl = Request.QueryString["User"];
            //Декадируем URL и проверяем является ли пользователь администратором
            bool adminUser = false;

            using (LenternContext db = new LenternContext())
            {
                string user = "";
                if (!String.IsNullOrEmpty(userurl))
                {
                    string decode = enc.decode(userurl);
                    user = decode;
                }
                else
                {
                    Response.Redirect("google.com");
                }
                foreach (var Acc in db.Accs)
                {
                    if (Acc.Login == user)
                    {
                        adminUser = true;
                    }
                }
                StringBuilder html = new StringBuilder();
                //Если пользователь администратор, то записываем в строку, все данные в таблице со стадерами
                if (adminUser)
                {
                    foreach (var I in db.Interns)
                    {
                        html.Append(String.Format("<tr><td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td><td>{4}</td></tr>"
                                                  , I.CreateDate, I.Name, I.BirthDate, I.Email, I.Phone));
                    }
                }
                //Иначе, записываем в строку только запись стажера
                else
                {
                    foreach (var I in db.Interns)
                    {
                        if (I.Email == user)
                        {
                            html.Append(String.Format("<tr><td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td><td>{4}</td></tr>"
                                                      , I.CreateDate, I.Name, I.BirthDate, I.Email, I.Phone));
                        }
                    }
                }
                return(html.ToString());
            }
        }
コード例 #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //-------------- 1 часть
            //Декодируем URL
            Owner    own     = new Owner();//см класс owner
            Encoding enc     = new Encoding();
            string   userurl = Request.QueryString["User"];

            if (!String.IsNullOrEmpty(userurl))
            {
                //Добавляем на страницу информаци о пользователе
                string user = enc.decode(userurl);
                User.Text = user;
            }
            else
            {
                User.Text = "Новый пользователь";
            }
            //Проверяем является ли пользователь администратором
            bool adminUser = false;

            using (LenternContext db = new LenternContext())
            {
                string user = "";
                if (!String.IsNullOrEmpty(userurl))
                {
                    string decode = enc.decode(userurl);
                    user = decode;
                }
                else
                {
                    Response.Redirect("Default.aspx");
                }
                foreach (var Acc in db.Accs)
                {
                    if (Acc.Login == user)
                    {
                        adminUser = true;
                    }
                }
            }
            //Если пользователь не администратор, скрываем кнопки перехода на страницу добавления нового администратора
            //и на страницу добавления нового стажера
            if (!adminUser)
            {
                AddIternPage.Visible = false;
                AddAdmin.Visible     = false;
            }
        }
コード例 #7
0
        //Обработчик кнопки добавления нового администратора
        protected void AddAdm_Click(object sender, EventArgs e)
        {
            //Берем данные из разметки
            String login    = Login.Text;
            String password = Password.Text;
            //Проверяем логин на повторение
            bool repeatlogin = false;

            using (LenternContext db = new LenternContext())
            {
                foreach (var a in db.Accs)
                {
                    if (a.Login == login)
                    {
                        repeatlogin = true;
                    }
                }
            }
            //Если данные не введены, сообщаем об этом
            if (String.IsNullOrEmpty(login) && String.IsNullOrEmpty(password))
            {
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Введите все данные!')", true);
            }
            //Если логин повторился, сообщаем об этом
            else if (repeatlogin)
            {
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Администратор с таким логином уже есть')", true);
            }
            //Иначе, добавляем нового администратора
            else
            {
                Acc a = new Acc
                {
                    Login    = login,
                    Password = password,
                    Owner    = false,
                    Admin    = true
                };
                //Добовляем, созраняем, сообщаем пользователю
                using (LenternContext db = new LenternContext())
                {
                    db.Accs.Add(a);
                    db.SaveChanges();
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Администратор добавлен!')", true);
                }
            }
        }
コード例 #8
0
ファイル: ReIntern.aspx.cs プロジェクト: rikocheett/Lentern
        //---------------1 часть
        protected void Page_Load(object sender, EventArgs e)
        {
            //Берем данные из URL, декодируем и определяем, является ли пользователь администратором
            Owner  own     = new Owner();//см класс ower
            string userurl = Request.QueryString["User"];
            bool   admin   = false;

            if (!String.IsNullOrEmpty(userurl))
            {
                Encoding enc  = new Encoding();
                string   user = enc.decode(userurl);
                User.Text = user;
                using (LenternContext db = new LenternContext())
                {
                    foreach (var a in db.Accs)
                    {
                        if (a.Login == user)
                        {
                            admin = true;
                        }
                    }
                }
            }
            //Если пользователь зашел сюда, без логина в URL, отправляем его на страницу авторизации
            else
            {
                Response.Redirect("Default.aspx");
            }
            //Если пользователь не администратор, то блокируем поле ввода Email для редактирования
            //Устанавливаем туда его Email и запускаем функцию отображения существующих данных
            if (!admin)
            {
                Email.Text      = User.Text;
                Email.Enabled   = false;
                Show.Visible    = false;
                Approve.Enabled = false;
                Show_Click(sender, e);
            }
        }
コード例 #9
0
        protected void Exit_Click(object sender, EventArgs e)
        {
            //Получаем данный
            string login    = Login.Text;
            string password = Password.Text;
            string pass     = "";
            bool   Pass     = false;
            bool   intern   = false;

            //Проверяем является ли пользователь администратором либо стажером
            //Если пользователь администратор, то запоминаем его пароль
            using (LenternContext db = new LenternContext())
            {
                foreach (var a in db.Accs)
                {
                    if (a.Login == login)
                    {
                        pass = a.Password;
                        Pass = true;
                    }
                }
                foreach (var i in db.Interns)
                {
                    if (i.Email == login)
                    {
                        intern = true;
                    }
                }
            }
            //Если пользователь стажер, перенаправляем его на главную страницу, с нужным URL
            if (!string.IsNullOrEmpty(login) && !Pass && string.IsNullOrEmpty(password) && intern)
            {
                Encoding enc     = new Encoding();
                string   userurl = enc.encode(login);
                Response.Redirect("Main.aspx?User="******"alertMessage", "alert('Введите пароль!')", true);
            }
            //Если пользователь администратор, и пароль уже введен, то сравниваем, правильный ли пароль
            //И перенаправляем его на главную страницу с необходимым URL
            else if (!string.IsNullOrEmpty(login) && Pass && !string.IsNullOrEmpty(password) && !intern && (password == pass))
            {
                Encoding enc     = new Encoding();
                string   userurl = enc.encode(login);
                Response.Redirect("Main.aspx?User="******"alertMessage", "alert('Неверный пароль!')", true);
            }
            //Во всех остальных случаях, что-то пользователь сделал не так
            else
            {
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Неправильно выполненный вход!')", true);
            }
        }
コード例 #10
0
ファイル: AddIntern.aspx.cs プロジェクト: rikocheett/Lentern
        //Обработчик кнопки добавления нового стажера
        protected void AddIntern_Click(object sender, EventArgs e)
        {
            //Берем данные из разметки
            String name           = Name.Text;
            String universityName = UniversityName.Text;
            String cours          = Cours.Text;
            String faculty        = Faculty.Text;
            String phone          = Phone.Text;
            String email          = Email.Text;
            String about          = About.Text;
            String day            = Day.Text;
            String month          = Month.Text;
            String year           = Year.Text;
            //Проверяем Email на повторение
            bool repeatlogin = false;

            using (LenternContext db = new LenternContext())
            {
                foreach (var i in db.Interns)
                {
                    if (i.Email == email)
                    {
                        repeatlogin = true;
                    }
                }
            }
            //Проверяем данные на пустоту, и чиловые значения, если что-то не так, выводим сообщение
            if (String.IsNullOrEmpty(name) && String.IsNullOrEmpty(phone) && String.IsNullOrEmpty(email) && String.IsNullOrEmpty(day) &&
                String.IsNullOrEmpty(month) && String.IsNullOrEmpty(year) && Int32.TryParse(cours, out int a) && Int32.TryParse(day, out int u) &&
                Int32.TryParse(month, out int b) && Int32.TryParse(year, out int c))
            {
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Введите все обязательные поля! Либо поля с цифровым значением введены некорректно!')", true);
            }
            //Если Email повторился, сообщаем об этом
            else if (repeatlogin)
            {
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Пользователь с таким Email уже существует')", true);
            }
            //Иначе добавляем данные в БД
            else
            {
                //Для этого необходимо получить дополнительные поля, дата создания и имя пользователя
                //Если на странице новый пользователь, то, ставим в поле createName Email который был введен
                string userurl = Request.QueryString["User"];
                String createName;
                if (!String.IsNullOrEmpty(userurl))
                {
                    Encoding enc  = new Encoding();
                    string   user = enc.decode(userurl);
                    createName = user;
                }
                else
                {
                    createName = email;
                }
                DateTime time      = DateTime.Now;
                DateTime birthDate = new DateTime(Int32.Parse(year), Int32.Parse(month), Int32.Parse(day));
                //Добавляем и сохраняем ланные, выводим сообщение об удачном добавлении стажера
                using (LenternContext db = new LenternContext())
                {
                    Intern i = new Intern
                    {
                        Name           = name,
                        BirthDate      = birthDate,
                        UniversityName = universityName,
                        Course         = Int32.Parse(cours),
                        Faculty        = faculty,
                        Phone          = phone,
                        Email          = email,
                        About          = about,
                        CreateDate     = time,
                        EditDate       = time,
                        CreateName     = createName,
                        EditName       = createName,
                        Approve        = false
                    };
                    db.Interns.Add(i);
                    db.SaveChanges();
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Запись стажера добавлена!')", true);
                    Response.Redirect("Default.aspx");
                }
            }
        }