예제 #1
0
        public ProfDTO GetProf(string email)
        {
            FilterDefinition <BsonDocument> query =
                Builders <BsonDocument> .Filter.Eq("email", email);

            var profs_found = profs.Find(query);

            if (profs_found.CountDocuments() <= 0)
            {
                throw new System.Exception("Could not find prof");
            }
            var     prof = profs_found.First();
            ProfDTO data = new ProfDTO();

            data.name  = prof["name"].ToString();
            data.email = prof["email"].ToString();
            ClassDTO[] classes = new ClassDTO[prof["classes"].AsBsonArray.Count];

            int idx = 0;

            foreach (var i in prof["classes"].AsBsonArray)
            {
                var c = new ClassDTO();
                c.className  = i["name"].ToString();
                classes[idx] = c;
                idx++;
            }
            data.classes = classes;
            return(data);
        }
예제 #2
0
 public ProfVM(ProfDTO row)
 {
     Id       = row.Id;
     Name     = row.Name;
     Email    = row.Email;
     Surname  = row.Surname;
     Password = row.Password;
     Age      = row.Age;
     Gender   = row.Gender;
 }
예제 #3
0
 public ProfVM(ProfDTO row)
 {
     //передача данных
     Id       = row.Id;
     Name     = row.Name;
     Email    = row.Email;
     Surname  = row.Surname;
     Password = row.Password;
     Age      = row.Age;
     // Gender = row.Gender;
 }
예제 #4
0
 public List <ProfDTO> LoginProf(List <ProfDTO> profs)
 {
     for (int i = 0; i < profs.Count; i++)
     {
         bool res = DatabaseConnector.Connector.CheckPassProf(profs[i].email, profs[i].pass);
         if (res)
         {
             ProfDTO prof = DatabaseConnector.Connector.GetProf(profs[i].email);
             profs[i].name    = prof.name;
             profs[i].classes = prof.classes;
             profs[i].email   = prof.email;
         }
         profs[i].response = res;
     }
     return(profs);
 }
예제 #5
0
        public ActionResult Anceta(ProfVM model)
        {
            //if (!ModelState.IsValid)
            // {
            //     return HttpNotFound();
            //}
            using (BlogContext db = new BlogContext())
            {
                string surname;

                ProfDTO dto = new ProfDTO();

                dto.Name = model.Name.ToUpper();

                if (string.IsNullOrWhiteSpace(model.Surname))
                {
                    surname = model.Surname.Replace(" ", "-").ToLower();
                }
                else
                {
                    surname = model.Surname.Replace(" ", "-").ToLower();
                }
                if (db.Profs.Any(x => x.Email == model.Email))
                {
                    ModelState.AddModelError("", "That email already exist.");
                    return(View(model));
                }
                if (dto.Age < 0 || dto.Age > 145)
                {
                    ModelState.AddModelError("", "That age don`t seemed to be real.");
                    return(View(model));
                }

                dto.Surname = surname;

                dto.Password = model.Password;
                dto.Email    = model.Email;
                dto.Age      = model.Age;
                dto.Gender   = model.Gender;

                db.Profs.Add(dto);
                db.SaveChanges();
            }
            return(RedirectToAction("ShowAnceta"));
        }
        public ActionResult Profile(ProfVM model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            using (Db db = new Db())
            {
                ProfDTO dto = new ProfDTO();


                if (string.IsNullOrWhiteSpace(model.Name))
                {
                    dto.Name = model.Name.Replace(" ", "-").ToLower();
                }

                if (string.IsNullOrWhiteSpace(model.Surname))
                {
                    dto.Surname = model.Surname.Replace(" ", "-").ToLower();
                }

                if (db.Profs.Any(x => x.Email == model.Email))
                {
                    ModelState.AddModelError("", "That email already exist.");
                    return(View(model));
                }
                if (dto.Age < 0 || dto.Age > 145)
                {
                    ModelState.AddModelError("", "That age unreal.");
                    return(View(model));
                }
                dto.Name    = model.Name;
                dto.Surname = model.Surname;

                dto.Password = model.Password;
                dto.Email    = model.Email;
                dto.Age      = model.Age;
                //  dto.Gender = model.Gender;

                db.Profs.Add(dto);
                db.SaveChanges();
            }
            return(RedirectToAction("ShowProfile"));
        }
        public ActionResult DeleteUser(int id)
        {
            using (Db db = new Db())
            {
                //Получаем user
                ProfDTO dto = db.Profs.Find(id);

                //Удаляем user
                db.Profs.Remove(dto);

                //Сохраним изменения в базе
                db.SaveChanges();
            }
            //Добавляем сообщение об успешном удалении user
            TempData["SM"] = "You`ve deleted a user";

            //Переадресация пользователя
            return(RedirectToAction("ShowProfile"));
        }
        public ActionResult EditUser(ProfVM model)
        {
            //Проверяем модель на валидность
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            using (Db db = new Db())
            {
                //Получаем id страницы
                int id = model.Id;


                //Получаем страницу по Id
                ProfDTO dto = db.Profs.Find(id);
                //Присваиваем name из полученной модели в DTO
                dto.Name = model.Name;

                //Проверяем email на уникальность
                if (db.Profs.Where(x => x.Id != id).Any(x => x.Email == model.Email))
                {
                    ModelState.AddModelError("", "That email already exist.");
                    return(View(model));
                }


                //Присвоить остальные значения в класс DTO
                dto.Surname = model.Surname;

                dto.Password = model.Password;
                dto.Email    = model.Email;
                dto.Age      = model.Age;

                //Сохраняем изменения в базу
                db.SaveChanges();
            }

            //Установить сообщение в TempData
            TempData["SM"] = "You have edited the user.";

            //Переадресация пользователя
            return(RedirectToAction("ShowProfile"));
        }
        public ActionResult EditUser(int id)
        {
            //Обьявляем модель PageVM
            ProfVM model;

            using (Db db = new Db())
            {
                //Получаем Id пользователя
                ProfDTO dto = db.Profs.Find(id);

                //Проверяем доступен ли он (Валидация)
                if (dto == null)
                {
                    return(Content("The page does not exist."));
                }

                // Инициализируем модель данными DTO через конструктор в классе pкщаVM
                model = new ProfVM(dto);
            }
            //Возвращаем модель в представление
            return(View(model));
        }