/// <summary> /// Inserta una Persona a la base de datos /// </summary> /// <param name="person"></param> public static void Insertar(Person person) { OperationsLogs.WriteLogsDebug("PersonaDal", "Insertar", string.Format("{0} Info: {1}", DateTime.Now.ToString(), "Empezando a ejecutar el metodo acceso a datos para crear un persona")); SqlCommand command = null; //Consulta para insertar personas string queryString = @"INSERT INTO Persona(idPersona, cedulaDeIdentidad, nombres, primerApellido, segundoApellido, correoElectronico, direccion, telefono, eliminado) VALUES(@idPersona, @cedulaDeIdentidad, @nombres, @primerApellido, @segundoApellido, @correoElectronico, @direccion, @telefono, @eliminado)"; //Declaro e inicio la conexion SqlConnection conexion = OperationsSql.ObtenerConexion(); //Declaro la transaccion SqlTransaction transaccion = null; try { //Abro la conexion a la base de datos conexion.Open(); //Inicio la transaccion transaccion = conexion.BeginTransaction(); command = OperationsSql.CreateBasicCommandWithTransaction(queryString, transaccion, conexion); if (person.User != null) { UserDal.InsertarTransaccion(person.User, transaccion, conexion); command.Parameters.AddWithValue("@idUsuario", person.User.IdUser); } else { command.Parameters.AddWithValue("@idUsuario", null); } command.Parameters.AddWithValue("@idPersona", person.IdPerson); command.Parameters.AddWithValue("@cedulaDeIdentidad", person.IdentityCard); command.Parameters.AddWithValue("@nombres", person.Names); command.Parameters.AddWithValue("@primerApellido", person.FirstSurname); command.Parameters.AddWithValue("@segundoApellido", person.SecondSurname); command.Parameters.AddWithValue("@correoElectronico", person.Email); command.Parameters.AddWithValue("@direccion", person.Address); command.Parameters.AddWithValue("@telefono", person.Phone); command.Parameters.AddWithValue("@eliminado", 1); OperationsSql.ExecuteBasicCommandWithTransaction(command); transaccion.Commit(); } catch (SqlException ex) { OperationsLogs.WriteLogsRelease("PersonaDal", "Insertar", string.Format("{0} Error: {1}", DateTime.Now.ToString(), DateTime.Now.ToString(), ex.Message)); throw ex; } catch (Exception ex) { OperationsLogs.WriteLogsRelease("PersonaDal", "Insertar", string.Format("{0} Error: {1}", DateTime.Now.ToString(), DateTime.Now.ToString(), ex.Message)); throw ex; } finally { conexion.Close(); } OperationsLogs.WriteLogsDebug("PersonaDal", "Insertar", string.Format("{0} Info: {1}", DateTime.Now.ToString(), DateTime.Now.ToString(), "Termino de ejecutar el metodo acceso a datos para insertar persona")); }