Пример #1
0
        public ActionResult Login(RegistrationStaffVM objc)
        {
            var EmailExist = _auc.Registrations.ToList().Any(u => u.Email == objc.Email);

            if (EmailExist)
            {
                var Data = _auc.Registrations.Where(f => f.Email == objc.Email).Select(s => new { s.Password, s.Id }).ToList();
                if (BCrypt.Net.BCrypt.Verify(objc.Password, Data[0].Password))
                {
                    Registration R       = new Registration();
                    var          SID     = _auc.Staff.Where(F => F.Registration_Id == Data[0].Id).Select(S => S.Specialization_Id).SingleOrDefault();
                    var          PID     = _auc.Registrations.Where(F => F.Email == R.Email).Select(S => S.Id).SingleOrDefault();
                    var          Patient = _auc.Patients.ToList().Any(u => u.Registration_Id == PID);
                    var          code    = _auc.Specializations
                                           .Where(s => s.Id == SID)
                                           .Select(s => s.Code)
                                           .SingleOrDefault();
                    if (code == null)
                    {
                        HttpContext.Session.SetInt32("User_Reg_Id", Data[0].Id);
                        return(Redirect("/Patient/Home"));
                    }
                    int _Index = (int)code[0] - 48;

                    //TempData["User_Reg_Id"] = Data[0].Id;
                    HttpContext.Session.SetInt32("User_Reg_Id", Data[0].Id);

                    switch (_Index)
                    {
                    case 1:
                        return(Redirect("/Doctor/Main"));

                    case 2:
                        return(Redirect("/Manager/Home"));

                    case 3:
                        //go to lap
                        HttpContext.Session.SetInt32("SpecifyLab", (int)code[1] - 48);
                        return(Redirect("/Lab/Index"));

                    case 4:
                        return(Redirect("/finance/homepage"));

                    case 5:
                        return(Redirect("/Front_desk/Homepage"));

                    default:
                        return(Redirect("/Registration/Staff"));
                    }
                }
            }
            return(Redirect("/Registration/NotLog"));
        }
Пример #2
0
        public ActionResult RegistrationStaff(RegistrationStaffVM objc)
        {
            Registration R = new Registration
            {
                Email    = objc.Email,
                Password = BCrypt.Net.BCrypt.HashPassword(objc.Password)
            };
            var EmailExist = _auc.Registrations.ToList().Any(u => u.Email == R.Email);

            if (EmailExist)
            {
                //throw error
                ViewBag.EmailExistError = "You have already signed up";
                //go to error page
                return(Redirect("/Registration/About"));
            }

            else
            {
                _auc.Add(R);
                _auc.SaveChanges();
                Staff S = new Staff
                {
                    Name              = objc.Name,
                    Phone             = objc.Phone,
                    Starting_Day      = objc.Starting_Day,
                    Registration_Id   = R.Id,
                    Specialization_Id = (int)TempData["Specialization_Id"]
                };

                //recently added
                var code = _auc.Specializations
                           .Where(s => s.Id == S.Specialization_Id)
                           .Select(s => s.Code)
                           .Single();

                int _Index = (int)code[0] - 48; //the first number in the activation code

                _auc.Add(S);
                _auc.SaveChanges();

                //TempData["User_Reg_Id"] = S.Registration_Id;
                HttpContext.Session.SetInt32("User_Reg_Id", (int)S.Registration_Id);

                switch (_Index)
                {
                case 0:
                //go to patient

                case 1:
                    return(Redirect("/Doctor/Main"));

                case 2:
                    return(Redirect("/Manager/Home"));

                case 3:
                    //go to lap
                    HttpContext.Session.SetInt32("SpecifyLab", (int)code[1] - 48);
                    return(Redirect("/Lab/Index"));

                case 4:
                    return(Redirect("/finance/homepage"));

                case 5:
                    return(Redirect("/Front_desk/Homepage"));

                default:
                    return(Redirect("/Registration/Staff"));
                }
            }
        }