/// <summary> /// The function to delete an item /// </summary> /// <param name="_PhoneBookName">Phonebook name to be deleted</param> /// <returns></returns> public ActionResult PhoneBookDeleteItem(string _PhoneBookName) { ResponseFactory response = new ResponseFactory(); try { var sqlQuery = "Delete from PhoneBook where PhoneBookName = @PhoneBookName"; var connection = new SqlConnection(this.connectionString); var command = new SqlCommand(sqlQuery, connection); command.Parameters.AddWithValue("@PhoneBookName", _PhoneBookName); connection.Open(); int deleted = command.ExecuteNonQuery(); if (deleted > 0) { return(response.SuccessResponse("Row deleted")); } else { return(response.ErrorResponse("No Phonebook found")); } } catch (Exception ex) { return(response.ErrorResponse(ex.Message)); } }
/// <summary> /// Function to check for duplicates /// </summary> /// <param name="_PhoneBookName">The name of the phonebook to be checked for duplicates</param> /// <returns></returns> public ActionResult PhoneBookDuplicateExists(string _PhoneBookName) { SqlDataReader reader; List <PhoneBook> phoneBooks = new List <PhoneBook>(); ResponseFactory response = new ResponseFactory(); try { var sqlQuery = "SELECT * from PhoneBook"; var connection = new SqlConnection(this.connectionString); var command = new SqlCommand(sqlQuery, connection); connection.Open(); reader = command.ExecuteReader(); while (reader.Read()) { phoneBooks.Add(new PhoneBook((Guid)reader.GetValue(0), reader.GetString(1))); } if (phoneBooks.Any(x => x.PhoneBookName == _PhoneBookName)) { return(response.SuccessResponse("Duplicate found")); } else { return(response.ErrorResponse("Duplicate not found")); } } catch { return(response.ErrorResponse("Duplicate not found")); } }
/// <summary> /// The function to add a phonebook /// </summary> /// <param name="_PhoneBookName">Phonebook name to be added</param> /// <returns></returns> public ActionResult PhoneBookAddItem(string _PhoneBookName) { ResponseFactory response = new ResponseFactory(); try { var sqlQuery = @"INSERT INTO PhoneBook(PhoneBookName) VALUES(@PhoneBookName)"; var connection = new SqlConnection(this.connectionString); var command = new SqlCommand(sqlQuery, connection); command.Parameters.AddWithValue("@PhoneBookName", _PhoneBookName); connection.Open(); int inserted = command.ExecuteNonQuery(); if (inserted > 0) { return(response.SuccessResponse("Row inserted")); } else { return(response.ErrorResponse("Row not inserted")); } } catch (Exception ex) { return(response.ErrorResponse(ex.Message)); } }
/// <summary> /// A function to check if a duplicate exists in the entries /// </summary> /// <param name="_PhoneBookId">The foreign key of the entry checked</param> /// <param name="_EntryNumber">The phone number of the entry to be checked</param> /// <returns></returns> public ActionResult EntryDuplicateExists(Guid _PhoneBookId, string _EntryNumber) { SqlDataReader reader; List <Entry> entries = new List <Entry>(); ResponseFactory response = new ResponseFactory(); try { var sqlQuery = "SELECT * from Entry where EntryNumber = @EntryNumber"; var connection = new SqlConnection(this.connectionString); var command = new SqlCommand(sqlQuery, connection); command.Parameters.AddWithValue("@EntryPhoneNumber", _EntryNumber); connection.Open(); reader = command.ExecuteReader(); while (reader.Read()) { entries.Add(new Entry((Guid)reader.GetValue(0), (Guid)reader.GetValue(1), reader.GetString(2), reader.GetString(3))); } if (entries.Any(x => x.PhoneBookId == _PhoneBookId)) { return(response.SuccessResponse("Duplicate found")); } else { return(response.ErrorResponse("Duplicate not found")); } } catch { return(response.ErrorResponse("Duplicate not found")); } }