Click here to Skip to main content
15,886,362 members
Please Sign up or sign in to vote.
3.00/5 (1 vote)
See more:
I am trying to insert datas to Appointment table of my database.I did registeration part of my project which works well.there are 2 tables ,Patient and Appointment.After Login patients can make an appointment.Patient number comes like this

C#
MyUser.PatientNo = Guid.NewGuid().GetHashCode();


For appointment date and description comes from textbox.And i want to insert PatientNo from Patient table to Appointment table.For me it looks done but when i choose date and write description but i got error on this line " app.PatientNo = patient.PatientNo;"

An exception of type 'System.NullReferenceException' occurred in DentAppSys.dll but was not handled in user code

C#
[HttpPost]
           [ValidateAntiForgeryToken]
           public ActionResult Make(Models.AppModel User)
           {
               if (Session["UserEmail"] != null)
               {
                   using (var db = new MaindbModelDataContext())
                   {


                       var patient = db.Patients.FirstOrDefault(u => u.Email == (String)Session["UserEmail"]);
                       var app = new Appointment();
                       app.Date = User.Date;
                       app.Description = User.Description;
                       app.Status = "true";
                       app.PatientNo = patient.PatientNo;
                       db.Appointments.InsertOnSubmit(app);
                       db.SubmitChanges();
                       return RedirectToAction("Make", "Appointment");
                   }

               }
               else
               {
                   return RedirectToAction("Index", "User");
               }
           }

       }
   }


and this is registration part which is working well

C#
public ActionResult RegAndLogin(Models.RegAndLog User)
            {
                if (User.RegisterModel != null)
                {
                    if (ModelState.IsValid)
                    {
                        using (var db = new MaindbModelDataContext())
                        {
                            var Person = db.Patients.FirstOrDefault(u => u.Email == User.RegisterModel.Email);
                            if (Person == null)
             {  string Hash = BCrypt.Net.BCrypt.HashPassword(User.RegisterModel.Password);
                                var MyUser = new Patient();
                                MyUser.Name = User.RegisterModel.Firstname;
                                MyUser.Surname = User.RegisterModel.Lastname;
                                MyUser.Birthday = User.RegisterModel.Birthday;
                                MyUser.Email = User.RegisterModel.Email;
                                MyUser.Password = Hash;
                                MyUser.PatientNo = Guid.NewGuid().GetHashCode();
                                db.Patients.InsertOnSubmit(MyUser);
                                db.SubmitChanges();
    
                                Session["UserEmail"] = User.RegisterModel.Email;
                                return RedirectToAction("Index", "Patient", User.RegisterModel);
                            }                else                      {
                                ModelState.AddModelError("", "There is a user with this Email. Please enter another Email !!!");
                                return View();
                            } }}
                    else  {  ModelState.AddModelError("", "Data is incorrect !!!");  }}
                else
        { if (ModelState.IsValid && IsValid(User.LoginModel.Email, User.LoginModel.Password))
                    {
                        var TempUser = new Models.RegisterModel();
                        Session["UserEmail"] = User.LoginModel.Email;
                        using (var db = new MaindbModelDataContext())
                        {
                            var person = db.Patients.FirstOrDefault(u => u.Email == User.LoginModel.Email);
                            TempUser.Firstname = person.Name;
                           TempUser.Lastname = person.Surname;
                            //TempUser.RegisterModel.Birthday = (DateTime)person.BirthDate;
                            TempUser.Email = person.Email;
    
    
                        }
                        return RedirectToAction("Index", "Patient", TempUser);
    
    
                    }
                    else
                    {
                        ModelState.AddModelError("", "Check your E-mail or Password then try again !!!");
                    }
                }
                return View();
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900