using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;
using EHEC_Server.DataBuilder;

namespace EHEC_Server
{
    public class Global : System.Web.HttpApplication
    {
        private static List<string> FirstNames = new List<string>(new string[]
        {
            "Michael", "Andreas", "Stefan", "Ivan","Adrien"
        });

        private static List<string> LastNames = new List<string>(new string[]
        {
            "Meister", "Schär", "Eberhard", "Zingg", "Howald", "Aebi", "Feldmann"
        });

        private static List<string> Streets = new List<string>(new string[]
        {
            "Rosenauweg", "Schessstrasse", "Hardstrasse", "Gehweg", "Bananastreet", "Moosweg", "Feldstrasse"
        });

        private static List<string> Cities = new List<string>(new string[]
        {
            "Meister", "Schär", "Eberhard", "Zingg", "Howald", "Aebi", "Feldmann"
        });

        private static List<string> Regions = new List<string>(new string[]
        {
            "Aargau", "Zurich", "Graubünden","Vallhalla", "Hell", "Heaven"
        });


        private static List<string> BirthDates = new List<string>(new string[]
        {
            "2001-07-11 20:18:00.000", "1999-03-12 10:18:00.000","1980-01-21 00:18:00.000",
        });

        private static List<string> DoctorOrigins = new List<string>(new string[]
        {
            "SanktMonika", "DisneyWorld", "Kantonsspital Baden", "Online Schulung"
        });

        protected void Application_Start(object sender, EventArgs e)
        {
            //add patients
            using (EHEC_DBEntities ctx = new EHEC_DBEntities())
            {

                Random p = new Random();
                for (int i = 0; i < 10; i++)
                {
                    Patient patient = new Patient
                    {
                        FirstName = FirstNames[p.Next(0,5)].ToString(),
                        LastName = LastNames [p.Next(0, 7)].ToString(),
                        BirthDate = Convert.ToDateTime(BirthDates [p.Next(0,3)].ToString()),
                        Street = Streets[p.Next(0, 7)].ToString(),
                        City = Cities[p.Next(0, 7)].ToString(),
                        Region = Regions[p.Next(0, 6)].ToString()
                    };
                    ctx.Patients.Add(patient);
                    ctx.SaveChanges();
                }
            }
            //add doctors
            using (EHEC_DBEntities ctx = new EHEC_DBEntities())
            {

                Random p = new Random();
                for (int i = 0; i < 10; i++)
                {
                    Doctor doctor = new Doctor
                    {
                        FirstName = FirstNames[p.Next(0, 5)].ToString(),
                        LastName = LastNames[p.Next(0, 7)].ToString(),
                        DoctorOrigin = DoctorOrigins[p.Next(0, 4)].ToString(),
                        Region = Regions[p.Next(0, 6)].ToString()
                    };
                    ctx.Doctors.Add(doctor);
                    ctx.SaveChanges();
                }
            }

        }

        //all the following code was auto-generated by createing the global file and will be deleted later
        protected void Session_Start(object sender, EventArgs e)
        {

        }

        protected void Application_BeginRequest(object sender, EventArgs e)
        {

        }

        protected void Application_AuthenticateRequest(object sender, EventArgs e)
        {

        }

        protected void Application_Error(object sender, EventArgs e)
        {

        }

        protected void Session_End(object sender, EventArgs e)
        {

        }

        protected void Application_End(object sender, EventArgs e)
        {

        }
    }
}