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")); }
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")); } } }