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