Exemple #1
0
        public async Task ChangeAttendance(string attendanceStatus, string studentid, string coursename, string date)
        {
            DateTime Date      = Convert.ToDateTime(date);
            int      StudentId = Int32.Parse(studentid);

            Attendance = await _context.Attendance
                         .Where(a => a.Date == Date).Where(a => a.StudentID == StudentId).Where(a => a.CourseName == coursename).FirstOrDefaultAsync();

            if (attendanceStatus == "Attended")
            {
                Attendance.AttendanceStatusID = 1;
            }
            else if (attendanceStatus == "Late")
            {
                Attendance.AttendanceStatusID = 2;
            }
            if (attendanceStatus == "Absent")
            {
                Attendance.AttendanceStatusID = 3;
            }

            _context.Attach(Attendance).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
            }

            await Clients.Client(Context.ConnectionId).SendAsync("AttendanceChanged", "Success");
        }
        public async Task <IActionResult> OnPostAsync()
        {
            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'."));
            }

            if (!ModelState.IsValid)
            {
                await LoadAsync(user);

                return(Page());
            }

            var id = await _userManager.GetUserIdAsync(user);

            var userUpdate = await _context.Users.FindAsync(id);

            if (userUpdate == null)
            {
                return(NotFound());
            }

            var phoneNumber = await _userManager.GetPhoneNumberAsync(user);

            if (Input.PhoneNumber != phoneNumber)
            {
                var setPhoneResult = await _userManager.SetPhoneNumberAsync(user, Input.PhoneNumber);

                if (!setPhoneResult.Succeeded)
                {
                    var userId = await _userManager.GetUserIdAsync(user);

                    throw new InvalidOperationException($"Unexpected error occurred setting phone number for user with ID '{userId}'.");
                }
            }

            var Userid = _signInManager.Context.User.Claims.FirstOrDefault().Value;

            userUpdate.Id = Userid;

            if (userUpdate.Name != Input.Name)
            {
                userUpdate.Name = Input.Name;
            }
            if (userUpdate.Surname != Input.Surname)
            {
                userUpdate.Surname = Input.Surname;
            }
            if (userUpdate.TC != Input.TC)
            {
                userUpdate.TC = Input.TC;
            }
            if (userUpdate.Birthday != Input.Birthday)
            {
                userUpdate.Birthday = Input.Birthday;
            }
            if (userUpdate.Gender != Input.Gender)
            {
                userUpdate.Gender = Input.Gender;
            }

            var entry = _context.Users.Update(userUpdate);

            entry.CurrentValues.SetValues(userUpdate);
            await _context.SaveChangesAsync();

            await _signInManager.RefreshSignInAsync(user);

            StatusMessage = "Your profile has been updated";
            return(RedirectToPage());
        }
        public async Task <IActionResult> OnPostAsync()
        {
            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'."));
            }

            if (!ModelState.IsValid)
            {
                return(Page());
            }

            var Userid    = _signInManager.Context.User.Claims.FirstOrDefault().Value;
            var emptycard = new CreditCard();

            CreditCardVM.OwnerId = Userid;
            CreditCardVM.Owner   = user;
            DateTime checkdate = DateTime.Now;


            if (Input.CardNumber.ToString().Length != 16)
            {
                ViewData["Err"] = "Card Number is not valid";
            }
            else if (Input.Month == 0 || Input.Month > 12 || Input.Month < 0)
            {
                ViewData["Err"] = "Expiry Month is not valid";
            }
            else if (Input.Year.ToString().Length != 4)
            {
                ViewData["Err"] = "Expiry Year is not valid";
            }
            else if ((Input.Month < checkdate.Month && Input.Year == checkdate.Year) || (Input.Year < checkdate.Year))
            {
                ViewData["Err"] = "Card has expired. Please enter a valid card.";
            }
            else
            {
                string hashCardNumber = Input.CardNumber.ToString();
                CreditCardVM.Month = Input.Month;
                CreditCardVM.Year  = Input.Year;

                using (SHA256 sha256Hash = SHA256.Create())
                {
                    // ComputeHash - returns byte array
                    byte[] hashValue = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(hashCardNumber));

                    StringBuilder result = new StringBuilder();
                    for (int i = 0; i < hashValue.Length; i++)
                    {
                        //result.Append(hashValue[i].ToString());
                        result.Insert(i, hashValue[i].ToString("x2"));
                    }

                    hashedCreditCard = result.ToString();
                }

                //hashedCreditCard += Input.CardNumber.ToString().Substring(12,4);
                CreditCardVM.CardNumber       = Int64.Parse(Input.CardNumber.ToString().Substring(12, 4));
                CreditCardVM.HashedCardNumber = hashedCreditCard;


                var entry = _context.Add(new CreditCard());
                entry.CurrentValues.SetValues(CreditCardVM);
                await _context.SaveChangesAsync();

                return(RedirectToPage("./CreditCardIndex"));
            }

            return(Page());
        }