Example #1
0
        public async Task <ActionResult> Login(LoginViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (JournalContext db = new JournalContext())
                {
                    User user = await db.Users /*.Include(u => u.UserRollId)*/.FirstOrDefaultAsync(u => u.Email == model.Email && u.Password == model.Password);

                    if (user == null)
                    {
                        ModelState.AddModelError("", "Неправильний логін або пароль");
                    }
                    else
                    {
                        ClaimsIdentity claim = new ClaimsIdentity("ApplicationCookie", ClaimsIdentity.DefaultNameClaimType, ClaimsIdentity.DefaultRoleClaimType);
                        claim.AddClaim(new Claim(ClaimTypes.NameIdentifier, user.ID.ToString(), ClaimValueTypes.String));
                        claim.AddClaim(new Claim(ClaimsIdentity.DefaultNameClaimType, user.Email, ClaimValueTypes.String));
                        claim.AddClaim(new Claim("http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider",
                                                 "OWIN Provider", ClaimValueTypes.String));
                        claim.AddClaim(new Claim(ClaimTypes.Role, user.UserRollID.ToString()));
                        //  if (user.UserRollId != null)
                        //  claim.AddClaim(new Claim(ClaimsIdentity.DefaultRoleClaimType, user.UserRollId.Name, ClaimValueTypes.String));

                        AuthenticationManager.SignOut();
                        AuthenticationManager.SignIn(new AuthenticationProperties
                        {
                            IsPersistent = true
                        }, claim);
                        return(RedirectToAction("Index", "Home"));
                    }
                }
            }
            return(View(model));
        }
Example #2
0
        public ActionResult Edit(Guid id)
        {
            using (JournalContext db = new JournalContext())
            {
                var             StudentRole = Guid.Parse(Roles.Pupil);
                ClassViewModels model       = new ClassViewModels();
                Class           newClass    = db.Classes.Find(id);
                model.ID             = newClass.ID;
                model.Name           = newClass.Name;
                model.Year           = newClass.Year;
                model.SchoolID       = newClass.SchoolID;
                model.SelectedSchool = db.Schools.Where(c => c.ID == newClass.SchoolID).Select(x => x.ShortName).FirstOrDefault();
                model.Users          = db.Users.Where(c => c.UserRollID == StudentRole && c.SchoolID == model.SchoolID && c.ClassID == model.ID).Select(x => new SelectListItem()
                {
                    Value = x.ID.ToString(), Text = x.FirstName + " " + x.LastName
                }).ToList();
                model.NewUsersList = db.Users.Where(c => c.UserRollID == StudentRole && c.SchoolID == model.SchoolID && c.ClassID == null).Select(c => new SelectListItem()
                {
                    Value = c.ID.ToString(), Text = c.FirstName + " " + c.LastName
                }).ToList();
                if (model == null)
                {
                    return(HttpNotFound());
                }

                return(View(model));
            }
        }
Example #3
0
        public static void SeedData(this IServiceScopeFactory scopeFactory, ILogger logger)
        {
            _logger = logger;

            using (var serviceScope = scopeFactory.CreateScope())
            {
                var context = serviceScope.ServiceProvider.GetService <JournalContext>();
                _userManager = serviceScope.ServiceProvider.GetService <UserManager <ApplicationUser> >();
                _roleManager = serviceScope.ServiceProvider.GetService <RoleManager <JournalRole> >();

                _logger.LogDebug("Starting database table data seeding.");

                _context = context;

                if (_context == null || _userManager == null)
                {
                    throw new ArgumentNullException("Database or identity objects are not set");
                }

                if (_context.AllMigrationsApplied())
                {
                    InitializeIdentity();
                    ApplyData(false);
                }
                else
                {
                    _logger.LogDebug("Database migrations are not correctly applied.");
                }
            }
        }
Example #4
0
 public ActionResult Index()
 {
     using (JournalContext db = new JournalContext())
     {
         return(View());
     }
 }
        public ActionResult Edit(StudySubjectViewModel model)
        {
            var identity = (ClaimsIdentity)User.Identity;
            var idString = identity.Claims.Where(c => c.Type == ClaimTypes.NameIdentifier)
                           .Select(c => c.Value).SingleOrDefault();
            Guid UserId;

            if (Guid.TryParse(idString, out UserId))
            {
                using (JournalContext db = new JournalContext())
                {
                    User user      = db.Users.Find(UserId);
                    var  pupilRole = Guid.Parse(Roles.Pupil);
                    model.Users = db.Users.Where(c => c.UserRollID == pupilRole && c.SchoolID == user.SchoolID).Select(c => new SelectListItem()
                    {
                        Value = c.ID.ToString(), Text = c.FirstName + " " + c.LastName
                    }).ToList();
                    model.Subjects = db.Subjects.Where(c => c.Teacher.SchoolID == user.SchoolID).Select(c => new SelectListItem()
                    {
                        Value = c.ID.ToString(), Text = c.SubjectType.Name
                    }).ToList();
                    if (ModelState.IsValid)
                    {
                        StudySubject studySubject = db.StudySubject.Find(model.ID);
                        studySubject.UserID    = Guid.Parse(model.SelectedUser);
                        studySubject.SubjectID = Guid.Parse(model.SelectedSubject);
                        db.SaveChanges();
                        return(RedirectToAction("Index"));
                    }
                    return(View(model));
                }
            }
            return(RedirectToAction("Login"));
        }
Example #6
0
        public AzureSQLJournalRepository(string dbConnectionString)
        {
            var optionsBuilder = new DbContextOptionsBuilder <JournalContext>();

            optionsBuilder.UseSqlServer(dbConnectionString);
            _context = new JournalContext(optionsBuilder.Options);
        }
Example #7
0
        public void Configure(IApplicationBuilder app)
        {
            var serviceScopeFactory = app.ApplicationServices.GetRequiredService <IServiceScopeFactory>();
            var loggerFactory       = app.ApplicationServices.GetRequiredService <ILoggerFactory>();

            using (var serviceScope = serviceScopeFactory.CreateScope())
            {
                var dbContext = serviceScope.ServiceProvider.GetService <JournalContext>();

                // All contexts that share the same service provider will share the same InMemory database
                var options = CreateNewContextOptions();

                // Run the test against one instance of the context
                using (var context = new JournalContext(options))
                {
                    context.Database.Migrate();
                    serviceScopeFactory.SeedData(loggerFactory.CreateLogger("Seeding data"));
                }


                dbContext.Database.OpenConnection(); // see Resource #2 link why we do this
                dbContext.Database.EnsureCreated();
                // run Migrations
                dbContext.Database.Migrate();
            }
        }
        public ActionResult Create()
        {
            var identity = (ClaimsIdentity)User.Identity;
            var idString = identity.Claims.Where(c => c.Type == ClaimTypes.NameIdentifier)
                           .Select(c => c.Value).SingleOrDefault();
            Guid id;

            if (Guid.TryParse(idString, out id))
            {
                using (JournalContext db = new JournalContext())
                {
                    User user      = db.Users.Find(id);
                    var  pupilRole = Guid.Parse(Roles.Pupil);
                    StudySubjectViewModel studySubject = new StudySubjectViewModel();
                    studySubject.Users = db.Users.Where(c => c.UserRollID == pupilRole && c.SchoolID == user.SchoolID).Select(c => new SelectListItem()
                    {
                        Value = c.ID.ToString(), Text = c.FirstName + " " + c.LastName
                    }).ToList();
                    studySubject.Subjects = db.Subjects.Where(c => c.Teacher.SchoolID == user.SchoolID).Select(c => new SelectListItem()
                    {
                        Value = c.ID.ToString(), Text = c.SubjectType.Name
                    }).ToList();

                    return(View(studySubject));
                }
            }
            return(RedirectToAction("Login"));
        }
 // GET: Subject
 public ActionResult Index()
 {
     using (JournalContext db = new JournalContext())
     {
         return(View(db.SubjectTypes.ToList()));
     }
 }
Example #10
0
 // GET: Class
 public ActionResult Index()
 {
     using (JournalContext db = new JournalContext())
     {
         var identity = (ClaimsIdentity)User.Identity;
         var idString = identity.Claims.Where(c => c.Type == ClaimTypes.NameIdentifier)
                        .Select(c => c.Value).SingleOrDefault();
         Guid id;
         if (Guid.TryParse(idString, out id))
         {
             User user         = db.Users.Find(id);
             var  newClassList = db.Classes.Where(c => c.SchoolID == user.SchoolID).Include(c => c.Users).Include(s => s.School).Select(s => new ClassViewModels()
             {
                 ID             = s.ID,
                 Name           = s.Name,
                 Year           = s.Year,
                 SelectedSchool = s.School.ShortName,
                 Users          = s.Users.Select(c => new SelectListItem
                 {
                     Value = c.ID.ToString(),
                     Text  = c.FirstName + " " + c.LastName
                 }
                                                 ).ToList()
             }).ToList();
             return(View(newClassList));
         }
         return(RedirectToAction("Login"));
     }
 }
Example #11
0
        public ActionResult AccountInfo()
        {
            var identity = (ClaimsIdentity)User.Identity;
            var idString = identity.Claims.Where(c => c.Type == ClaimTypes.NameIdentifier)
                           .Select(c => c.Value).SingleOrDefault();
            Guid id;

            if (Guid.TryParse(idString, out id))
            {
                using (JournalContext db = new JournalContext())
                {
                    UserViewModels model = new UserViewModels();
                    User           user  = db.Users.Find(id);
                    model.ID               = user.ID;
                    model.FirstName        = user.FirstName;
                    model.LastName         = user.LastName;
                    model.Age              = user.Age;
                    model.UserRollID       = user.UserRollID;
                    model.Email            = user.Email;
                    model.Phone            = user.Phone;
                    model.Password         = user.Password;
                    model.ClassID          = user.ClassID;
                    model.Degree           = user.Degree;
                    model.Info             = user.Info;
                    model.RegisterDate     = user.RegisterDate;
                    model.UserRollSelected = db.UserRoles.Where(c => c.ID == model.UserRollID).Select(x => x.Name).FirstOrDefault();
                    model.ClassSelected    = db.Classes.Where(c => c.ID == model.ClassID).Select(x => x.Name).FirstOrDefault();
                    return(View(model));
                }
            }
            AuthenticationManager.SignOut();
            return(View("LogIn"));
        }
 public void PersistOperation(OperationDTO operationDTO)
 {
     using (JournalContext db = new JournalContext())
     {
         db.OperationDTOes.Add(operationDTO);
         db.SaveChanges();
     }
 }
 public List <OperationDTO> GetOperationsById(string id)
 {
     using (JournalContext db = new JournalContext())
     {
         List <OperationDTO> operations = db.OperationDTOes.Where(obj => obj.Id == id).ToList <OperationDTO>();
         return(operations);
     }
 }
 public async Task <Activity> CreateActivity(Activity activity)
 {
     using (var context = new JournalContext())
     {
         context.Activity.Add(activity);
         return(await context.SaveChangesAsync());
     }
 }
        public Activity GetActivityByID(int activityId)
        {
            Activity activity = new Activity();

            using (var context = new JournalContext())
            {
                activity = context.Activity.Where(a => a.ActivityID == activityId).FirstOrDefault();
            }
            return(activity);
        }
        public List <Activity> GetActivities()
        {
            List <Activity> activities = new List <Activity>();

            using (var context = new JournalContext())
            {
                activities = context.Activity.ToList();
            }
            return(activities);
        }
Example #17
0
 public ActionResult DeleteConfirm(SubjectViewModels model)
 {
     using (JournalContext db = new JournalContext())
     {
         Subject subject = db.Subjects.Find(model.ID);
         db.Subjects.Remove(subject);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
 }
 public ActionResult Delete(StudySubjectViewModel model)
 {
     using (JournalContext db = new JournalContext())
     {
         StudySubject studySubject = db.StudySubject.Find(model.ID);
         db.StudySubject.Remove(studySubject);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
 }
 public ActionResult DeleteConfirm(Guid id)
 {
     using (JournalContext db = new JournalContext())
     {
         SubjectType subjectType = db.SubjectTypes.Find(id);
         db.SubjectTypes.Remove(subjectType);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
 }
Example #20
0
 public ActionResult UserRole(UserRole userRole)
 {
     using (JournalContext db = new JournalContext())
     {
         userRole.ID = Guid.NewGuid();
         db.UserRoles.Add(userRole);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
 }
Example #21
0
        public static void SeedData(JournalContext context, ILogger logger)
        {
            if (_context == null)
            {
                throw new ArgumentNullException("Database context is not set");
            }

            _logger  = logger;
            _context = context;
            ApplyData(true);
        }
 public ActionResult Details(Guid id)
 {
     using (JournalContext db = new JournalContext()) {
         SubjectType subjectType = db.SubjectTypes.Find(id);
         if (subjectType == null)
         {
             return(HttpNotFound());
         }
         return(View(subjectType));
     }
 }
Example #23
0
 static void Main(string[] args)
 {
     using (var context = new JournalContext())
     {
         var users = context.Users.ToList();
         foreach (var user in users)
         {
             Console.WriteLine(user.FirstName + " " + user.LastName);
         }
     }
     Console.ReadKey();
 }
Example #24
0
 public ActionResult Edit(Guid id)
 {
     using (JournalContext db = new JournalContext())
     {
         School school = db.Schools.Find(id);
         if (school == null)
         {
             return(HttpNotFound());
         }
         return(View(school));
     }
 }
Example #25
0
 public ActionResult Create()
 {
     using (JournalContext db = new JournalContext())
     {
         ClassViewModels model = new ClassViewModels();
         model.Schools = db.Schools.Select(school => new SelectListItem()
         {
             Value = school.ID.ToString(), Text = school.ShortName
         }).ToList();
         return(View(model));
     }
 }
 // GET: StudySubject/Details/5
 public ActionResult Details(Guid id)
 {
     using (JournalContext db = new JournalContext())
     {
         StudySubject          studySubject = db.StudySubject.Find(id);
         StudySubjectViewModel model        = new StudySubjectViewModel();
         model.UserID          = studySubject.UserID;
         model.SelectedUser    = db.Users.Where(c => c.ID == model.UserID).Select(c => c.FirstName + " " + c.LastName).FirstOrDefault();
         model.SubjectID       = studySubject.SubjectID;
         model.SelectedSubject = db.Subjects.Where(c => c.ID == model.SubjectID).Include(c => c.SubjectType).Select(c => c.SubjectType.Name).FirstOrDefault();
         return(View(model));
     }
 }
Example #27
0
 // GET: TeacherSubject/Details/5
 public ActionResult Details(Guid id)
 {
     using (JournalContext db = new JournalContext())
     {
         Subject           teacherSubject = db.Subjects.Find(id);
         SubjectViewModels model          = new SubjectViewModels();
         model.TeacherID           = teacherSubject.TeacherID;
         model.SubjectTypeID       = teacherSubject.SubjectTypeID;
         model.SelectedTeacher     = db.Users.Where(c => c.ID == model.TeacherID).Select(c => c.FirstName + " " + c.LastName).FirstOrDefault();
         model.SelectedSubjectType = db.SubjectTypes.Where(c => c.ID == model.SubjectTypeID).Select(c => c.Name).FirstOrDefault();
         return(View(model));
     }
 }
Example #28
0
 public ActionResult DeleteConfirmed(Guid id)
 {
     using (JournalContext db = new JournalContext())
     {
         Class newClass          = db.Classes.Find(id);
         var   userToUpdateClass = db.Users.Where(c => c.ClassID == newClass.ID);
         foreach (User user in userToUpdateClass)
         {
             user.ClassID = null;
         }
         db.Classes.Remove(newClass);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
 }
Example #29
0
 public ActionResult Edit(ClassViewModels model)
 {
     using (JournalContext db = new JournalContext())
     {
         if (ModelState.IsValid)
         {
             Class newmodel = db.Classes.Find(model.ID);
             newmodel.Name = model.Name;
             newmodel.Year = model.Year;
             db.SaveChanges();
             return(RedirectToAction("Index"));
         }
         return(View(model));
     }
 }
 public ActionResult Create(StudySubjectViewModel model)
 {
     using (JournalContext db = new JournalContext())
     {
         if (ModelState.IsValid)
         {
             StudySubject studySubject = (StudySubject)model;
             studySubject.ID = Guid.NewGuid();
             db.StudySubject.Add(studySubject);
             db.SaveChanges();
             return(RedirectToAction("Index"));
         }
     }
     return(View(model));
 }