Example #1
0
 public IActionResult AddGrades(Grade grade)
 {
     try
     {
         var account = _context.Account.Find(grade.AccountId);
         var subject = _context.Subject.Find(grade.SubjectId);
         grade.Account = account;
         grade.Subject = subject;
         if (grade.TheoricalGrade < 5)
         {
             grade.TheoricalGradeStatus = GradeStatus.Failed;
         }
         if (grade.AssignmentGrade < 5)
         {
             grade.AssignmentGradeStatus = GradeStatus.Failed;
         }
         if (grade.PraticalGrade < 5)
         {
             grade.PraticalGradeStatus = GradeStatus.Failed;
         }
         _context.Add(grade);
         _context.SaveChanges();
         return(Ok());
     }
     catch (Exception e)
     {
         return(Conflict("Sinh vien da co diem mon hoc nay"));
     }
 }
        public IActionResult Login([FromBody] Account account)
        {
            var existAccount = _context.Account
                               .Where(a => a.Status != AccountStatus.Deactive)
                               .Include(a => a.GeneralInformation)
                               .SingleOrDefault(a => a.RollNumber == account.RollNumber);

            if (existAccount != null)
            {
                var roleAccounts = _context.RoleAccount
                                   .Include(ra => ra.Role)
                                   .Where(ra => ra.AccountId == existAccount.AccountId);
                account.Salt = existAccount.Salt;
                account.EncryptPassword(account.Password);
                var roles = "";
                if (existAccount.Password == account.Password)
                {
                    foreach (var ra in roleAccounts)
                    {
                        roles += ra.Role.Name + "#";
                    }
                    var credential = _context.Credential.SingleOrDefault(cr => cr.OwnerId == existAccount.AccountId);
                    if (credential == null)
                    {
                        credential = new Credential(existAccount.AccountId);
                        _context.Credential.Add(credential);
                        _context.SaveChanges();
                    }
                    Response.StatusCode = 200;
                    var result = new { credential, roles, existAccount.GeneralInformation.Name };
                    return(new JsonResult(result));
                }
                else
                {
                    return(Unauthorized());
                }
            }
            return(NoContent());
        }