/// <summary>
        /// This function is called by the HomeController.
        /// Will delete the selected note from SQL using
        /// a stored procedure
        /// </summary>
        /// <param name="NoteID"></param>
        /// <returns>A 1 if successful, 0 if not</returns>

        public static int DeleteNote(int NoteID)
        {
            MemoryDBModel data = new MemoryDBModel
            {
                NoteID = NoteID
            };

            //Connect to the database
            string        newConnectionString = SQLDataAccess.GetConnectionString();
            SqlConnection cnn = new SqlConnection(newConnectionString);

            cnn.Open();

            //Calls the NoteDeletion stored procedure in SQL
            SqlCommand cmd = new SqlCommand("NoteDeletion", cnn);

            cmd.CommandType = CommandType.StoredProcedure;

            //Add parameters
            cmd.Parameters.AddWithValue("NoteID", data.NoteID);
            cmd.Parameters.Add("@Success", SqlDbType.Int, 1);
            cmd.Parameters.Add("@ErrorStatus", SqlDbType.Char, 50);
            cmd.Parameters["@ErrorStatus"].Direction = ParameterDirection.Output;
            cmd.Parameters["@Success"].Direction     = ParameterDirection.Output;
            cmd.ExecuteNonQuery();

            //Set success = @Success output from the procedure
            int    success = (int)cmd.Parameters["@Success"].Value;
            string message = (string)cmd.Parameters["@ErrorStatus"].Value;

            cnn.Close();

            //Returns 1 if successful, 0 if not
            return(success);
        }
        /// <summary>
        /// The SaveMemory function in the HomeController processes
        /// if a note exists or not. If not, SaveMemory calls this method
        /// This method will save the new memory in SQL by calling
        /// a stored procedure.
        /// </summary>
        /// <param name="Date"></param>
        /// <param name="Text"></param>
        /// <param name="HasPhoto"></param>
        /// <param name="PhotoLocation"></param>
        /// <param name="PhotoSize"></param>
        /// <returns>A 1 if successful, 0 if not</returns>

        public static int CreateMemory(DateTime Date, string Text, int HasPhoto, string PhotoLocation, int PhotoSize)
        {
            //Calls RetrieveChildID from the RetrievalProcessor in DatabaseBusinessLogic
            int ChildID = RetrieveChildID();

            //If no child, return an error
            if (ChildID == 0)
            {
                return(0);
            }

            //Calls MemoryDBModel from DatabaseModels
            //Sets data that was given as a parameter to a DB Model
            MemoryDBModel data = new MemoryDBModel
            {
                ChildID       = ChildID,
                DateOccurred  = Date,
                Text          = Text,
                HasPhoto      = HasPhoto,
                PhotoLocation = PhotoLocation,
                PhotoSize     = PhotoSize
            };

            //Opens the SQL connection
            string        newConnectionString = SQLDataAccess.GetConnectionString();
            SqlConnection cnn = new SqlConnection(newConnectionString);

            cnn.Open();

            //Calls the NoteCreation stored procedure in SQL
            SqlCommand cmd = new SqlCommand("NoteCreation", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            //Add parameters
            cmd.Parameters.AddWithValue("@ChildID", data.ChildID);
            cmd.Parameters.AddWithValue("@DateOccurred", data.DateOccurred);
            cmd.Parameters.AddWithValue("@Text", data.Text);
            cmd.Parameters.AddWithValue("@HasPhoto", data.HasPhoto);

            //This one is special since the path may be null. We must account for possibly passing a null value
            //Use ToDBNull to return a value if not null, or a SQL approved null if null
            cmd.Parameters.Add(new SqlParameter("@PhotoLocation", InputProcessor.ToDBNull(data.PhotoLocation)));

            cmd.Parameters.AddWithValue("@PhotoSize", data.PhotoSize);
            cmd.Parameters.Add("@Success", SqlDbType.Int, 1);
            cmd.Parameters.Add("@ErrorStatus", SqlDbType.Char, 50);
            cmd.Parameters["@ErrorStatus"].Direction = ParameterDirection.Output;
            cmd.Parameters["@Success"].Direction     = ParameterDirection.Output;
            cmd.ExecuteNonQuery();

            //Set success = @Success output from the procedure
            int    success = (int)cmd.Parameters["@Success"].Value;
            string message = (string)cmd.Parameters["@ErrorStatus"].Value;

            cnn.Close();

            //Returns 1 if successful, 0 if not
            return(success);
        }