Esempio n. 1
0
        public static DirectorIdRequest SplitDirectorName(string directorName)
        {
            string firstName = null;
            string lastName  = null;
            var    names     = directorName.Split(' ');
            var    length    = names.Length;

            if (length == 1)
            {
                lastName = names[0].Trim();
            }

            else
            {
                firstName = names[0];
                for (int i = 1; i < length; i++)
                {
                    lastName = lastName + ' ' + names[i];
                }
                lastName = lastName.Trim();
            }
            DirectorIdRequest result = new DirectorIdRequest();

            if (string.IsNullOrEmpty(firstName))
            {
                result.FirstName = "";
            }
            else
            {
                result.FirstName = firstName;
            }
            result.LastName = lastName;
            return(result);
        }
Esempio n. 2
0
        public int?FindDirectorID(DirectorIdRequest request)
        {
            int?directorId = null;

            using (var cn = new SqlConnection(Settings.GetConnectionString()))
            {
                SqlCommand cmd = new SqlCommand("DVDLibraryFindDirector", cn);
                cmd.CommandType = CommandType.StoredProcedure;

                if (string.IsNullOrEmpty(request.FirstName))
                {
                    cmd.Parameters.AddWithValue("@FirstName", "");
                }
                else
                {
                    cmd.Parameters.AddWithValue("@FirstName", request.FirstName);
                }
                cmd.Parameters.AddWithValue("@LastName", request.LastName);

                cn.Open();

                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        directorId = (int)dr["DirectorID"];
                    }
                }
                return(directorId);
            }
        }
Esempio n. 3
0
 public int?GetDirectorId(string directorName)
 {
     if (string.IsNullOrEmpty(directorName))
     {
         return(null);
     }
     else
     {
         int?directorId            = null;
         DirectorIdRequest request = new DirectorIdRequest();
         request    = Helpers.SplitDirectorName(directorName);
         directorId = FindDirectorID(request);
         return(directorId);
     }
 }
Esempio n. 4
0
        public int?FindDirectorID(DirectorIdRequest request)
        {
            var repository = new DVDLibraryEntities();

            Director director = new Director();

            if (repository.Director.Any(dir => (dir.DirectorFirstName == request.FirstName && dir.DirectorLastName == request.LastName)))
            {
                director = repository.Director.FirstOrDefault(dir => (dir.DirectorFirstName == request.FirstName && dir.DirectorLastName == request.LastName));
                return(director.DirectorID);
            }
            else
            {
                director = AddDirector(request);
                return(director.DirectorID);
            }
        }
Esempio n. 5
0
        public void DirectorTableCleanUp(string director)
        {
            var repository = new DVDLibraryEntities();

            DirectorIdRequest request = new DirectorIdRequest();

            request = Helpers.SplitDirectorName(director);

            var directorRecord = repository.Director.FirstOrDefault(dir => (dir.DirectorFirstName == request.FirstName && dir.DirectorLastName == request.LastName));
            int?ID             = directorRecord.DirectorID;

            var count = repository.Dvd.Count(d => d.DirectorId == ID);

            if (count == 0)
            {
                DeleteDirector(ID);
            }
        }
Esempio n. 6
0
        public Director AddDirector(DirectorIdRequest newDirector)
        {
            var repository    = new DVDLibraryEntities();
            var directorToAdd = new Director();

            directorToAdd.DirectorFirstName = newDirector.FirstName;
            directorToAdd.DirectorLastName  = newDirector.LastName;

            repository.Director.Add(directorToAdd);
            repository.SaveChanges();

            Director addedDirector = new Director();

            addedDirector.DirectorFirstName = newDirector.FirstName;
            addedDirector.DirectorLastName  = newDirector.LastName;
            addedDirector.DirectorID        = directorToAdd.DirectorID;
            return(addedDirector);
        }
Esempio n. 7
0
        public int?GetDirectorId(string directorName)
        {
            int?directorId = null;

            if (string.IsNullOrEmpty(directorName))
            {
                return(null);
            }
            else
            {
                DirectorIdRequest request = new DirectorIdRequest();
                request    = Helpers.SplitDirectorName(directorName);
                directorId = FindDirectorID(request);
                if (directorId == null)
                {
                    Director director = new Director();
                    director.DirectorFirstName = request.FirstName;
                    director.DirectorLastName  = request.LastName;
                    directorId = AddDirector(director);
                }
                return(directorId);
            }
        }
Esempio n. 8
0
        public void DirectorTableCleanUp(string director)
        {
            int?directorId = null;
            int?count      = null;

            DirectorIdRequest request = new DirectorIdRequest();

            request    = Helpers.SplitDirectorName(director);
            directorId = FindDirectorID(request);

            using (var cn = new SqlConnection(Settings.GetConnectionString()))
            {
                SqlCommand cmd = new SqlCommand("DVDLibraryNumberOfDirectorRecords", cn);
                cmd.CommandType = CommandType.StoredProcedure;

                SqlParameter param = new SqlParameter("@NumberOfRecords", SqlDbType.Int);
                param.Direction = ParameterDirection.Output;
                cmd.Parameters.Add(param);

                cmd.Parameters.AddWithValue("@DirectorId", directorId);

                cn.Open();

                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        count = (int)dr["@NumberOfRecords"];
                    }
                }
            }
            if (count == null)
            {
                DeleteDirector(directorId);
            }
        }