예제 #1
0
        public bool InsertPendingAccount(string strEmail, EnumAccountType enUserType, int intIsAdmin)
        {
            using (var context = new CIMOB_IPS_DBContext(new DbContextOptions <CIMOB_IPS_DBContext>()))
            {
                if (context.PendingAccount.Any(p => p.Email == strEmail))
                {
                    return(false);
                }

                Guid guid = Guid.NewGuid();

                PendingAccount pendingAccount = new PendingAccount {
                    Email = strEmail, Guid = guid.ToString(), IsAdmin = Convert.ToBoolean(intIsAdmin)
                };

                context.Add(pendingAccount);
                context.SaveChanges();

                if (enUserType == EnumAccountType.STUDENT)
                {
                    SendEmailToStudent(strEmail, guid.ToString());
                }
                else
                {
                    SendEmailToTec(strEmail, guid.ToString());
                }

                return(true);
            }
        }
예제 #2
0
        public IActionResult RegisterTechnician([FromQuery] string account_id)
        {
            if (User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("Index", "Home"));
            }

            ViewData["register-type"] = "technician";

            using (var context = new CIMOB_IPS_DBContext(new DbContextOptions <CIMOB_IPS_DBContext>()))
            {
                PendingAccount pendingAccount = context.PendingAccount.Where(pa => pa.Guid == account_id).FirstOrDefault();

                if (pendingAccount == null)
                {
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    string strEmail = pendingAccount.Email.ToString();
                    ViewData["technician-email"]   = strEmail;
                    ViewData["technician-isAdmin"] = pendingAccount.IsAdmin;
                }

                return(View("Register", new RegisterViewModel {
                    EmailView = ViewData["technician-email"].ToString(), Technician = new Technician {
                        IsAdmin = (bool)ViewData["technician-isAdmin"]
                    }
                }));
            }
        }
예제 #3
0
        public async void DeletePendingAccount(string strEmail)
        {
            using (var context = new CIMOB_IPS_DBContext(new DbContextOptions <CIMOB_IPS_DBContext>()))
            {
                PendingAccount pendingAccount = await context.PendingAccount.SingleOrDefaultAsync(p => p.Email == strEmail);

                context.PendingAccount.Remove(pendingAccount);
                await context.SaveChangesAsync();
            }
        }